Age | Commit message (Collapse) | Author |
|
* kern/thread.c (_s_): Remove unused variable.
|
|
* kern/bootstrap.c (task_insert_send_right): Remove spurious cast of
port into ipc_object_t.
(load_protect_text, load_fault_in_text, boot_map,
load_bootstrap_symbols): Comment out unused variables and function.
(read_exec): Comment out unused user_map variable.
|
|
* i386/i386at/model_dep.c (init_alloc_aligned): Add declaration.
(i386at_init): Use init_alloc_aligned to allocate memory to save the
content pointed by boot_info: cmdline, mods_addr, mod_start, and string.
Set kernel_cmdline to the newly allocated string.
(c_boot_entry): Do not set kernel_cmdline.
|
|
* i386/i386at/model_dep.c (mem_size_init): Move avail_remaining computation to
after all phys_last_addr corrections.
|
|
This reverts commit de00e82b8c4491a4ff3320c0ddd80ac91ed0977b.
Flags already get cleared using push/pop a few instructions later.
|
|
i386/i386at/boothdr.S (boot_entry): Clear D flag.
|
|
|
|
kern/zalloc.c (zone_map_size): Increase to 64MiB.
i386/i386at/model_dep.c (mem_size_init): Reduce cap to 1/6 of memory
space to save room for zalloc area.
linux/src/drivers/block/ide.h (INITIAL_MULT_COUNT): Set to 16.
vm/vm_map.h (VM_MAP_COPY_PAGE_LIST_MAX): Set to 64.
vm/vm_object.c (vm_object_cached_max): Set to 4000.
|
|
|
|
* net_io.c (net_filter): Correct the amount of data of a packet accepted by
BPF.
|
|
kern/zalloc.c (zone_gc): Allocate and free two vm_map_kentry_zone elements to
make sure the gc will be able to allocate two in vm_map_delete.
|
|
|
|
i386/i386/db_interface.c (db_read_bytes): Also check addr against
VM_MAX_KERNEL_ADDRESS.
|
|
i386/intel/pmap.c (INVALIDATE_TLB): Fix macro escapes
|
|
kern/zalloc.c (zone_gc): Allocate and free a vm_map_kentry_zone element to make
sure the gc will be able to allocate one for vm_map_delete.
|
|
kern/zalloc.c (zinit): Panic if requested alignment doesn't match page
size and list elements.
|
|
vm/vm_map.c (vm_map_copy_overwrite): Unlock dst_map before returning.
|
|
vm/vm_map.c (vm_map_enter): Use RETURN instead of return to unlock the
map before returning.
|
|
kern/lock.c (lock_wait_time): Add static qualifier.
|
|
i386/i386at/model_dep.c (mem_size_init): Advertise memory size
truncations.
|
|
It messes too much with probing and brings hang issue.
* i386/linux/dev/include/linux/autoconf.h
(CONFIG_BLK_DEV_CMD640, CONFIG_BLK_DEV_CMD640_ENHANCED):
Undefine macros.
|
|
* ChangeLog: Wipe out content, and add instructions about how to get it back.
* ChangeLog.0: Remove file.
* ChangeLog.00: Likewise.
|
|
* i386/i386/prog_reg.h (invlpg_linear): Rename macro into...
(invlpg_linear_range): ... this.
(invlpg_linear): New macro.
* i386/intel/pmap.c (INVALIDATE_TLB): Call invlpg_linear instead
of flush_tlb when e - S is compile-time known to be PAGE_SIZE,
instead of run-time known to be less than 32 * PAGE_SIZE.
|
|
* i386/intel/pmap.c (INVALIDATE_TLB): For now, disable use of invlpg.
|
|
* i386/i386/gdt.h (LINEAR_DS): New macro.
* i386/i386/gdt.c (gdt_init): Initialize LINEAR_DS descriptor.
* i386/i386/proc_reg.h (invlpg_user): Rename macro into...
(invlpg_linear): ... this. Use movw instead of movl to set KERNEL_DS
selector. Use LINEAR_DS selector instead of USER_DS selector.
* i386/intel/pmap.c (INVALIDATE_TLB): Call invlpg_linear instead of
invlpg_user.
|
|
* i386/i386/proc_reg.h [__ASSEMBLER__ && __GNUC__]: Include
<i386/gdt.h> and <i386/ldt.h>
(invlpg_user): New macro.
* i386/intel/pmap.c (INVALIDATE_TLB): Call invlpg_user instead
of invlpg.
(pmap_remove, pmap_page_protect, pmap_protect, pmap_enter,
pmap_collect, phys_attribute_clear): Call PMAP_UPDATE_TLBS
after pde update instead of before.
|
|
* i386/intel/pmap.c (pmap_bootstrap): Extend kernel virtual memory to
at least the size of the physical memory.
|
|
* vm/vm_fault.c (vm_fault_page): Print value returned
memory_object_data_request as %x instead of %d.
|
|
* device/ds_routines.h (device_reference, device_deallocate): Add
function prototypes.
* kern/task.c (task_create): Moved unused i variable inside FAST_TAS.
* vm/vm_map.h (vm_map_copy_page_discard): Add function prototype.
* vm/vm_kern.c (projected_buffer_deallocate): Give &map->hdr
instead of map to _vm_map_clip_start and _vm_map_clip_end functions.
2008-12-01 Samuel Thibault <samuel.thibault@ens-lyon.org>
* device/device_emul.h (device_emulation_ops): Turn back reference,
dealloc, dev_to_port, write_trap and writev_trap into taking a void*,
as they do not always take a mach_device_t.
* device/ds_routines.c (mach_device_emulation_ops): Cast
mach_device_reference, mach_device_deallocate,
mach_convert_device_to_port, device_write_trap and device_writev_trap
to (void*) to make them accept a void* argument.
* linux/pcmcia-cs/glue/ds.c (device_deallocate): Rename function
into...
(ds_device_deallocate): ... this.
(dev_to_port): Call ds_device_deallocate instead of device_deallocate.
(linux_pcmcia_emulation_ops): Use ds_device_deallocate instead of
device_deallocate, cast mach_device_reference to (void*) to make it
accept a void* argument.
|
|
* doc/Makefrag.am: Only advertize updating the web pages on
gnumach-1-branch.
|
|
* i386/i386/proc_reg.h (invlpg): New macro.
* i386/intel/pmap.c (INVALIDATE_TLB): If portion to be flushed is less
than 32 pages, use calls to invlpg instead of flush_tlb.
|
|
* i386/i386/proc_reg.h (get_cr0, get_cr2, get_cr3, get_cr4, get_tr,
get_ldt): Add volatile qualifier to asm statement to prevent gcc from
optimizing it away since there seems to be no way to clobber these
properly in the set_* macros.
|
|
|
|
* Makefile.am (install_sh, INSTALL): Point to `build-aux/install-sh'.
|
|
* configure.ac: Require GNU Automake 1.10.1.
* Makefile.am: Adapt.
* Makefile.correct_output_files_for_.S_files.patch: Remove.
|
|
* device/device_emul.h (struct device_emulation_ops): Make members
reference, dealloc, dev_to_port, write_trap, and writev_trap take
mach_device_t parameter instead of void *.
* i386/i386at/autoconf.c: Make forward declarations for comintr()
and lprintr() match prototype. Add brackets around initialization
members for bus_ctlr and bus_device structs.
* i386/i386at/conf.c (dev_name_list): Pass nomap instead of nulldev
for map field.
* i386/i386at/pic_isa.c (intnull, fpintr, hardclock, kdintr,
prtnull): Declare the type of the value returned by functions to void.
|
|
[task #8135 -- PAE for GNU Mach]
* i386/configfrag.ac (enable_pae): Add checks: this is ix86-only.
* doc/mach.texi (Configuration): Document the new option.
|
|
* i386/configfrag.ac (enable_pae): Add checks: this is ix86-only.
|
|
|
|
* kern/eventcount.c (evc_wait_clear): Remove unused variable 'ret'.
|
|
* i386/i386/i386asm.sym (PTE_SIZE): New assembly macro.
* i386/i386/locore.S (copyout_retry): take PTE_SIZE into account.
* i386/intel/pmap.c (pmap_bootstrap, pmap_create): Use WRITE_PTE instead
of dereference.
|
|
[task #8135 --- ``PAE for GNU Mach']
* i386/configfrag.ac: Add --enable-pae option, which defines PAE.
* i386/i386/i386asm.sym (PDPSHIFT, PDEMASK): New assembly macros.
* i386/i386/locore.S [PAE] (copyout_retry): Use page directory pointer
bits.
* i386/i386at/model_dep.c [PAE] (i386at_init): Set second initial 2MB
page. Enable PAE bit. Set cr3 to page directory pointer table instead
of page directory.
* i386/intel/pmap.c [PAE] (pmap_bootstrap, pmap_create): Allocate 4
pages for dirbase. Setup pdpbase.
[PAE] (pmap_destroy): Free 4 pages from dirbase. Free pdpbase.
* i386/intel/pmap.h [PAE] (pt_entry_t): Typedef to unsigned long long.
[PAE] (PDPSHIFT, PDPNUM, PDPMASK): New macros.
[PAE] (PDESHIFT, PDEMASK, PTEMASK): Set to PAE values.
[PAE] (lin2pdenum, NPDES): Make them take the page directory pointer
index into account too.
[PAE] (struct pmap): Add `pdpbase' member.
(set_dirbase): Remove macro, replaced by...
(set_pmap): New macro, taking a pmap instead of the dirbase.
(PMAP_ACTIVATE_USER): Use set_pmap instead of set_dirbase.
|
|
* ipc/mach_port.c (mach_port_insert_right): Cast poly into
(ipc_object_t) to fix compiler warning when calling
ipc_object_copyout_name.
|
|
* i386/i386/trap.c (user_trap): On page fault, raise exception instead
of asserting that cr2 is below LINEAR_MIN_KERNEL_ADDRESS.
|
|
Manuel Menal <mmenal@hurdfr.org>
* include/device/net_status.h (NET_FLAGS): New macro.
* linux/dev/glue/net.c (device_get_status): Handle NET_FLAGS case.
(device_set_status): Likewise, calls dev_change_flags.
* linux/dev/include/linux/netdevice.h (dev_change_flags): Declare
function.
* linux/dev/net/core/dev.c (dev_change_flags): Add function.
|
|
* i386/i386/lock.h (_simple_lock_xchg_, bit_lock, bit_unlock): Add
memory clobbers.
* i386/include/mach/i386/cthreads.h (spin_unlock, spin_try_lock): Add
memory clobbers.
|
|
* device/chario.c (ttyinput_many): Change chars param to char *.
* device/tty.h (ttyinput_many): Likewise.
* i386/i386/pcb.h: Include <mach/exec/exec.h>.
* i386/i386at/autoconf.h: Include <chips/busses.h>.
* i386/i386at/model_dep.c (inittodr): Cast &new_time.seconds to u_int *.
* ipc/mach_port.c (mach_port_insert_right): Cast poly to ipc_object_t.
* ipc/mach_debug.c (host_ipc_hash_info): Initialize size to 0 to make
the compiler believe that there is no bug.
* ipc/mach_debug.c (mach_port_space_info): Likewise for tree_size and
table_size.
* i386/i386at/com.c (commctl): Likewise for b.
* i386/i386/trap.c (user_trap): Likewise for exc.
* i386/i386/user_ldt.c (i386_set_ldt): Likewise for old_copy_object.
* i386/i386at/com.c (comintr): Check line_stat&iOR instead of line&iOR.
|
|
* i386/i386/locore.h (copyinmsg, copyoutmsg):
Make parameters const void* and void* instead of vm_offset_t.
* i386/i386at/com.c (comportdeath): Cast port as ipc_port_t in
tty_portdeath call.
* i386/i386at/kd.c (kdportdeath): Likewise.
* i386/i386at/lpr.c (lprportdeath): Likewise.
* i386/i386at/kd_mouse.c (mouse_handle_byte): Cast param to wakeup() as
vm_offset_t.
* i386/intel/pmap.c (pmap_destroy): Cast arg 2 of kmem_free() to
vm_offset_t.
* i386/intel/pmap.h: Cast all arg 1 params to kvtophy() to vm_offset_t.
* ipc/ipc_kmsg.c: Remove casts from params to copyinmsg and
copyoutmsg calls.
* ipc/mach_msg.c: Likewise.
* kern/exceptions.c: Likewise.
* ipc/mach_msg.c: Remove casts from params to copyout calls.
* ipc/bootstrap.c: Likewise.
* kern/ipc_tt.c (mach_ports_register): Cast memory[i] as ipc_port_t in
assignment.
|
|
* chips/busses.h (bus_ctlr, bus_device): Make intr return void instead
of int.
* device/tty.h (tty): Make t_start and t_stop return void instead of
int.
* i386/i386/ipl.h (ivect[]): return void instead of int.
* i386/i386at/pic_isa.h (ivect[]): Likewise.
* i386/i386at/kd_mouse.c (mouseintr): Likewise.
* i386/i386at/com.c (comintr, comstop): Likewise.
* i386/i386at/kd.c (kdcnputc, kdstart, kdstop, kdintr): Likewise.
* i386/i386/trap.c (exception, thread_exception_return, i386_exception):
Add __attribute__ ((noreturn)).
* i386/i386at/kd.c (kdcnprobe): Return 0 at end of function.
* i386/i386at/lpr.c (lprintr, lprstart): Return void instead of int.
(lprstart): Don't return numeric values any longer.
* kern/eventcount.c (evc_wait_clear): Return a value.
* kern/exceptions.c (exception, exception_try_task, exception_no_server,
exception_raise, exception_raise_continue, exception_raise_continue_slow,
exception_raise_continue_fast): Add __attribute__ ((noreturn)).
(exception, exceptio_try_task, exception_raise,
exception_raise_continue_slow, exception_raise_continue_fast):
Remove spurious returns.
(exception_no_server): Add panic() on return from thread_halt_self().
|
|
* linux/src/include/linux/tqueue.h (queue_task_irq,
queue_task_irq_off, queue_task, run_task_queue): Turn into static
inlines.
|