Age | Commit message (Collapse) | Author |
|
* linux/dev/include/linux/fs.h: Replace extern with static.
* linux/dev/include/linux/locks.h: Likewise.
* linux/dev/include/linux/mm.h: Likewise.
* linux/src/drivers/net/e2100.c: Likewise
* linux/src/include/asm-i386/termios.h: Likewise.
* linux/src/include/linux/interrupt.h: Likewise.
* linux/src/include/net/route.h: Likewise.
* linux/src/include/net/sock.h: Likewise.
|
|
* i386/i386at/lpr.c (lpropen): Fix assignment to t_addr.
|
|
* i386/Makefrag.am: Remove disk.h.
* i386/i386at/disk.h: Remove unnused definitions.
* i386/include/mach/i386/disk.h: Remove.
* linux/dev/glue/block.c (device_get_status): Remove V_GETPARMS case.
|
|
* linux/dev/glue/block.c (out): Cast to device_t.
* linux/dev/init/main.c (alloc_contig_mem): Initialize addr and cast return value to void *.
* i386/i386/phys.c (pmap_copy_page): Initialize src_map.
* i386/intel/pmap.c: Include i386at/model_dep.h.
* kern/mach_clock.c (mapable_time_init): Cast to void *.
|
|
* vm/vm_object.c (vm_object_print): Break line so all debugging output fits
in a page.
|
|
* vm/vm_map.c (vm_map_print): Reduce indentation, break lines earlier.
(vm_map_copy_print): Likewise.
* vm/vm_object.c (vm_object_print): Likewise.
|
|
* vm/vm_map.c (vm_map_print): Update arguments to conform to ddb
protocol.
* vm/vm_print.h (vm_map_print): Likewise for prototype.
|
|
* vm/vm_map.c (vm_map_copyout): Reinitialize copy map red-black tree.
|
|
* i386/i386/locore.S (discover_x86_cpu_type): Disable Cyrix CPU discovery.
|
|
* vm/vm_object.c (_vm_object_allocate): Return 0 immediately when
kmem_cache_alloc returned 0.
(vm_object_allocate): Panic when _vm_object_allocate returns 0.
|
|
* vm/vm_map.c (vm_map_pageable_common): Put back wired_count decrementation
into user_wired_count test.
|
|
* linux/dev/drivers/block/ahci.c (ahci_do_request): Fix checking unit
against MAX_PORTS.
|
|
* i386/i386at/lpr.c (lprprobe): Fix checking unit against NLPR.
|
|
* linux/dev/drivers/block/ahci.c (ahci_probe_dev): Add missing format.
|
|
* version.m4 (AC_PACKAGE_VERSION): Set to 1.6.
* NEWS: Finalize for 1.6.
|
|
Originally added in commit 255c47e669819f153c722c98a230f6fe4e6ece08, but "make
distcheck" didn't like that:
[...]
ERROR: files left in build directory after distclean:
./ipc/notify.msgids
Makefile:7489: recipe for target 'distcleancheck' failed
make[1]: *** [distcleancheck] Error 1
make[1]: Leaving directory '[...]/gnumach/release.build/gnumach-1.5/_build/sub'
Makefile:7416: recipe for target 'distcheck' failed
make: *** [distcheck] Error 1
Instead of special-casing that, generalize the Makefile rules.
* Makefrag.am (nodist_lib_dep_tr_for_defs_a_SOURCES): Add
ipc/notify.none.defs.c.
(nodist_libkernel_a_SOURCES): Add ipc/notify.none.msgids.
(gnumach.msgids): Remove ipc/notify.msgids prerequisite.
* Makerules.mig.am (%.msgids): Remove rule, and instead...
(%.none.defs.c, %.none.msgids): ... add these rules.
|
|
|
|
when backward time correction happens to get bigger than the tick duration.
* kern/mach_clock.c (clock_interrupt): When `tickdelta' is bigger than `usec',
truncate it to `usec-1'.
|
|
* .gitignore: Add doc/mach.aux doc/mach.cp doc/mach.cps doc/mach.fn
doc/mach.fns doc/mach.ky doc/mach.log doc/mach.pdf doc/mach.pg doc/mach.toc
doc/mach.tp doc/mach.vr.
|
|
* kern/slab.c (_slab_info): Print total used and reclaimable memory.
|
|
* kern/slab.c (_slab_info): Include flags in the slab information.
|
|
* ddb/db_output.c (db_putchar): Fix off-by-one, allowing one more
character to be printed before the newline is inserted.
|
|
* ddb/db_command.c (db_show_cmds): Add `slabinfo'.
* kern/slab.c (slab_info): Generalize so that it can be used with
different printf-like functions, and turn it into a static function.
(slab_info): New wrapper retaining the old behaviour.
(db_show_slab_info): New wrapper that uses `db_printf' instead.
* kern/slab.h (db_show_slab_info): New declaration.
|
|
* i386/i386/debug_i386.c (syscall_trace_task): New variable.
(syscall_trace_print): If set, trace only syscalls from this task.
|
|
* kern/syscall_sw.h (mach_trap_t): Turn unused field into `mach_trap_name'.
(MACH_TRAP, MACH_TRAP_STACK): Record name.
* i386/i386/debug_i386.c (syscall_trace_print): Use the name and
format the arguments to look like c.
|
|
* device/cirbuf.c: Add missing include.
* i386/i386/debug.h (dump_ss): Hide declaration from assembler.
* i386/i386/debug_i386.c: Fix include.
* kern/sched_prim.h: Add missing include, fix declaration.
|
|
* kern/bootstrap.c (boot_script_prompt_task_resume): Drop into the
debugger instead of merely waiting for return using `safe_gets', which
disables interrupts, making it impossible to break into the debugger
using the magic keys.
|
|
* include/mach/time_value.h (TIME_VALUE_TO_TIMESPEC,
TIMESPEC_TO_TIME_VALUE): New macros
|
|
* include/mach/time_value.h (struct mapped_time_value): Adjust comment.
* kern/mach_clock.c (mtime): Likewise. Also make it volatile.
(update_mapped_time): Use full hardware barriers.
(read_mapped_time): New macro with proper fences.
(record_time_stamp, host_get_time): Use the new macro.
|
|
Previously, recent versions of gcc would hoist the loads out of the
loop reading the time value.
* kern/macros.h (access_once): New macro.
* kern/mach_clock.c (host_get_time): Use the new macro to prevent the
loads from being hoisted out of the loop.
|
|
[PATCH] advansys.c buffer overflow
The Stanford checker found an error in advansys.c, the driver
is accessing field 6 in an array[6]. Since this is the only
place where this field is accessed it should be safe to simply
remove this line.
|
|
Linux does this to be extra careful with some BIOSes which apparently
spuriously write between 4k and 64k.
* i386/i386at/model_dep.c (RESERVED_BIOS): New macro.
(avail_next, mem_size_init, init_alloc_aligned): Use RESERVED_BIOS instead
of hardcoded 0x1000.
|
|
* i386/i386at/kd.c (kdstart): Moved escape sequence handling to new
kd_putc_esc function.
(kd_putc_esc): New function with logic from kdstart.
(kdcnputc): Call kd_putc_esc rather than kd_putc to allow for ANSI
escape codes.
* i386/i386at/kd.h (kd_putc_esc): New function.
|
|
halted.
* kern/thread.h (thread_halt_self): Add continuation_t parameter.
* kern/thread.c (thread_halt_self): Pass continuation_t parameter to
thread_block instead of thread_exception_return.
* kern/ast.c (ast_taken): Pass thread_exception_return to thread_halt_self.
* kern/profile.c (profile_thread): Likewise.
* kern/exception.c (exception_no_server): Likewise.
(thread_release_and_exception_return): New function.
(exception_raise_continue_slow): Pass thread_release_and_exception_return to
thread_halt_self.
|
|
to replace the use of the NULL pointer.
* kern/sched_prim.h (thread_no_continuation): New macro.
* kern/machine.c (processor_assign, processor_doaction): Use
thread_no_continuation instead of 0.
* kern/profile.c (send_last_sample_buf): Likewise
* kern/sched_prim.c (thread_sleep, thread_invoke, thread_dispatch):
Likewise.
* kern/task.c (task_terminate, task_assign): Likewise.
* kern/thread.c (thread_suspend): Likewise.
* kern/thread.h (struct thread): Change type of swap_func field to
continuation_t.
|
|
* kern/bootstrap.c (boot_script_exec_cmd): Avoid holding the lock
across the call to `thread_create'.
|
|
* i386/intel/pmap.c (pmap_page_protect): Enable assertions.
(phys_attribute_clear, phys_attribute_test): Likewise.
|
|
* kern/lock.c (simple_unlock): Really zero-out unused simple lock info
entries.
|
|
* i386/intel/pmap.c (pmap_page_protect): Fix function name in panic
message.
|
|
* vm/vm_object.c (vm_object_collapse): Collapse unreachable branch
into assertion.
|
|
* configfrag.ac (MACH_LDEBUG): Adjust comment, we use it to sanity
check all locks now.
* kern/lock.c (lock_write): Keep track of the writer thread.
(lock_done): Clear writer.
(lock_read_to_write): Keep track of the writer thread.
(lock_write_to_read): Assert that the current thread holds the lock.
Clear writer.
(lock_try_write): Keep track of the writer thread.
(lock_try_read_to_write): Likewise.
(lock_set_recursive): Assert that the current thread holds the lock.
* kern/lock.h (struct lock): New field `writer'.
(have_read_lock, have_write_lock, have_lock): New macros that can be
used to assert that the current thread holds the given lock. If
MACH_LDEBUG is not set, they evaluate to true.
|
|
Do not bother saving the return address when acquire a simple lock.
Save the location as provided by the compiler as string instead. Also
save the lock parameter.
* kern/lock.c (struct simple_locks_info): Drop `ra', add `expr', `loc'.
(simple_lock): Rename to `_simple_lock', add expression and location
parameters and save them.
(simple_lock_try): Likewise.
(simple_unlock): Zero-out the now unused slot in the list of taken locks.
(db_show_all_slocks): Use the new information.
* kern/lock.h (simple_lock, simple_lock_try): Provide macro versions
passing the location and expression as string.
|
|
* kern/lock.c (do_check_simple_locks): New variable.
(check_simple_locks): Make check conditional.
(check_simple_locks_{en,dis}able): New functions.
* kern/lock.h (check_simple_locks_{en,dis}able): New declarations.
* ddb/db_trap.c (db_task_trap): Disable simple lock checks.
|
|
* vm/vm_user.c (vm_wire): Drop unused but set variable `host'.
|
|
* vm/vm_fault.c (vm_fault_page): Enable extra assertions.
|
|
* kern/macros.h: Avoid re-defining macros.
* linux/src/include/linux/compiler-gcc.h: Likewise.
* linux/src/include/linux/compiler.h: Likewise.
|
|
The kernel keeps track of task and thread creation times by saving a
time stamp. Previously, the real-time clock was used for this. When
the real-time clock is changed, however, the reference frame for the
time stamps is lost. This surfaced in Hurd systems reporting
spuriously long uptimes.
Fix this by creating a boot-time clock and use it as reference frame
for the time stamps.
* kern/mach_clock.c (clock_boottime_offset): Create clock by keeping
track of the offset from the real-time.
(clock_boottime_update): New function.
(record_time_stamp): Use the boot-time clock for time stamps.
(read_time_stamp): New function to convert it back to real-time.
(host_set_time): Call `clock_boottime_update'.
* kern/mach_clock.h (record_time_stamp): Amend comment.
(read_time_stamp): New declaration.
* kern/task.c (task_info): Use `read_time_stamp'.
* kern/thread.c (thread_info): Likewise.
|
|
* include/mach/time_value.h (time_value_assert): New macro to assert
that the given value is well-formed.
(time_value_add_usec): Use the new macro.
(time_value_sub_usec): New macro.
(time_value_add): Use `time_value_add_usec'.
(time_value_sub_usec): New macro.
|
|
* kern/lock.h (struct slock, simple_lock_data_empty): Add field
`is_a_simple_lock'.
(simple_lock_assert): New macro that tests for `is_a_simple_lock'.
Use this macro to assert that the arguments to various other macros
are indeed simple locks.
|
|
* configfrag.ac (XPR_DEBUG): Disable tracing system.
|