summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-11-03Fix typoSamuel Thibault
2018-08-13Drop spurious changesSamuel Thibault
2018-08-13Fix building out of sourceSamuel Thibault
* configure.ac: Fix patching Makefile.in in $srcdir.
2018-08-13Fix bootstrap hack for automake 1.16Samuel Thibault
* Makefile.in.dep.patch: New file. * configure.ac: Try to apply Makefile.in.dep.patch if config.status.dep.patch failed to apply.
2018-07-28device: Fix d_mmap typeSamuel Thibault
* device/conf.h (dev_ops): Make d_mmap return vm_offset_t instead of int. (nomap): Update accordingly. * device/blkio.c (block_io_mmap): Likewise. * device/blkio.h (block_io_mmap): Likewise. * device/dev_name.c (nomap): Likewise. * i386/i386at/kd.c (kdmmap): Likewise. * i386/i386at/kd.h (kdmmap): Likewise. * i386/i386at/mem.c (memmmap): Likewise. * i386/i386at/mem.h (memmmap): Likewise. * i386/i386at/model_dep.c (timemmap): Likewise. * i386/i386at/model_dep.h (timemmap): Likewise.
2018-07-28Fix dev_ops typesSamuel Thibault
* device/conf.h: Include <device/device_types.h>. (dev_ops): Make d_getstat and d_setstat fields use dev_flavor_t, dev_status_t, and mach_msg_type_number_t types. * device/tty.h: (t_getstat, t_setstat): Likewise. * device/conf.h (nulldev_getstat, nulldev_setstat): Fix parameter types accordingly. * device/dev_name.c (nulldev_getstat, nulldev_setstat): Likewise. * device/kmsg.c (kmsggetstat): Likewise. * device/kmsg.h (kmsggetstat): Likewise. * device/net_io.c (net_getstat): Likewise. * device/net_io.h (net_getstat): Likewise. * i386/i386at/com.c (comgetstat, comsetstat): Likewise. * i386/i386at/com.h (comgetstat, comsetstat): Likewise. * i386/i386at/kd.c (kdgetstat, kdsetstat): Likewise. * i386/i386at/kd.h (kdgetstat, kdsetstat): Likewise. * i386/i386at/kd_event.c (kbdgetstat, kbdsetstat): Likewise. * i386/i386at/kd_event.h (kbdgetstat, kbdsetstat): Likewise. * i386/i386at/kd_mouse.c (mousegetstat): Likewise. * i386/i386at/kd_mouse.h (mousegetstat): Likewise. * i386/i386at/lpr.c (lprgetstat, lprsetstat): Likewise. * i386/i386at/lpr.h (lprgetstat, lprsetstat): Likewise. * xen/console.c (hypcngetstat, hypcnsetstat): Likewise. * xen/console.h (hypcngetstat, hypcnsetstat): Likewise. * device/dev_hdr.h: Forward-declare struct dev_ops and dev_ops_t type instead of including <device/conf.h>. * device/dev_pager.c: Include <device/conf.h> * i386/i386/pcb.h: Include <machine/io_perm.h> * i386/i386/thread.h: Do not include <i386/tss.h>
2018-07-28Fix warningSamuel Thibault
* i386/intel/pmap.c (pmap_enter): Fix panic format.
2018-07-28Add gcc-8 compatibilitySamuel Thibault
* linux/src/include/linux/compiler-gcc8.h: New file.
2018-07-03Add ffs to clib_routinesSamuel Thibault
Since pmap.c uses it in SMP mode. * Makefile.am (clib_routines): Add ffs.
2018-06-27Fix interrupt_processor prototypeSamuel Thibault
* i386/i386/mp_desc.h [MULTIPROCESSOR] (interrupt_processor): Add prototype. * i386/intel/pmap.c [NCPUS > 1]: Include <i386/mp_desc.h>
2018-06-27Add missing includeSamuel Thibault
* i386/intel/pmap.c: Include <i386/spl.h>.
2018-06-27Fix pmap nameSamuel Thibault
* i386/intel/pmap.c (pmap_map_bd): Lock kernel_pmap, not just the inexistent pmap.
2018-06-27Add splvm prototypeSamuel Thibault
* i386/i386/spl.h (splvm): Add prototype.
2018-06-27Add cause_ast_check prototypeSamuel Thibault
As reported by Almudena Garcia <liberamenso10000@gmail.com> * kern/ast.h [NCPUS > 1] (cause_ast_check): Add prototype.
2018-06-27Define CPU_L1_SIZE even when NCPUS != 1Samuel Thibault
As reported by Almudena Garcia <liberamenso10000@gmail.com> * kern/cpu_number.h [NCPUS != 1] (CPU_L1_SIZE): Define macro.
2018-06-27Disable position-independant compilationSamuel Thibault
as now enabled automatically by some distributions... Reported and tested by Almudena Garcia <liberamenso10000@gmail.com> * Makefile.am (AM_CFLAGS): Add -no-pie -fno-pic.
2018-06-17Add missing prototypeSamuel Thibault
* kern/machine.h (action_thread): Add prototype.
2018-06-17Re-fix typoSamuel Thibault
* machine/lock.h (_simple_lock_xchg_): Remove spurious parenthesis.
2018-06-17Fix typoSamuel Thibault
* machine/lock.h (_simple_lock_xchg_): Add missing parenthesis.
2018-06-13Keep DMA enabled on QEMU disksSamuel Thibault
When the host is very loaded, some requests might time out, but that is not a reason for disabling DMA, so keep it enabled. * linux/src/drivers/block/triton.c (config_drive_for_dma): When disk is QEMU, set using_dma and keep_settings to 1.
2018-04-22vm_map: Fix bugs on huge masks parametersSamuel Thibault
* vm/vm_map.c (vm_map_find_entry_anywhere): Also check that (min + mask) & ~mask remains bigger than min.
2018-03-03Avoid old typeSamuel Thibault
* include/device/bpf.h: Do not include <sys/types.h> (struct bpf_version): Use unsigned short type instead of u_short.
2018-01-28Add const MIG typesSamuel Thibault
* i386/include/mach/i386/mach_i386_types.h (const_descriptor_list_t): New type. * include/mach/port.h (const_mach_port_array_t): New type.
2018-01-28Fix warningSamuel Thibault
* i386/i386at/lpr.c (lpropen): Cast io port to void *.
2018-01-28Fix warningSamuel Thibault
* vm/vm_map.c (vm_map_copyout): Fix panic format.
2018-01-28Fix warningSamuel Thibault
* kern/sched_prim.c (assert_wait): Fix panic format.
2018-01-28Fix warningSamuel Thibault
* kern/ast.c (ast_check): Fix panic format.
2017-11-12Fix halt messageSamuel Thibault
* i386/i386at/model_dep.c (halt_all_cpus): Change halt message to better explain what happened.
2017-11-01linux block: fix outbound access to non-directmap user dataSamuel Thibault
* linux/dev/glue/block.c (rdwr_full): Set BH_Bounce if the physical address of the user data is not in directmap.
2017-10-31linux-block: Fix calling vm_map_copy_discard on uninitialized variableSamuel Thibault
This happens if passed count is 0. Reported by Richard Braun. * linux/dev/glue/block.c (device_write): Set copy variable before vm_map_copy_discard() is called.
2017-10-27Fix commit 10ebf9565f69760e46a8f271e22c5367d54e10ff.Justus Winter
* kern/task.c (task_ledger_acquire): Remove function that I added by accident. (task_ledger_release): Likewise.
2017-10-26kern: Fix new task notifications.Justus Winter
* kern/task.c (task_create_kernel): Handle NULL parent tasks.
2017-10-26kern: Fix crash.Justus Winter
Check receiver in task_create. Fixes a crash when sending that message to a non-task port. * kern/bootstrap.c (boot_script_task_create): Use the new function. * kern/task.c (task_create): Rename to task_create_internal, create a new function in its place that checks the receiver first. * kern/task.h (task_create_internal): New prototype.
2017-10-26linux: Fix warnings.Justus Winter
* linux/dev/glue/net.c (device_write): Remove unused variables.
2017-10-23Drop the register qualifier.Justus Winter
* i386/intel/pmap.c: Drop the register qualifier. * ipc/ipc_kmsg.h: Likewise. * kern/bootstrap.c: Likewise. * kern/profile.c: Likewise. * kern/thread.c: Likewise. * vm/vm_object.c: Likewise.
2017-09-30linux: Fix interrupt glue.Justus Winter
Previously, we used an invalid pointer to mark interrupts as reserved by Mach. This, however, crashes code trying to iterate over the list of interrupt handlers. Use a valid structure instead. * linux/dev/arch/i386/kernel/irq.c (reserved_mach_handler): New function. (reserved_mach): New variable. (reserve_mach_irqs): Use the new variable.
2017-09-21device: Remove unused file.Justus Winter
* device/dev_forward.defs: Remove unused file.
2017-09-21vm: Remove old memory manager remnants.Justus Winter
* vm/vm_object.c (vm_object_accept_old_init_protocol): Remove. (vm_object_enter): Adapt.
2017-08-27ddb: More gracefully handle address errorsSamuel Thibault
* i386/i386/db_interface.h (db_read_bytes): Return boolean_t instead of void. * i386/i386/db_interface.c (db_user_to_kernel_address): Return -1 instead of calling db_error() if address is bogus. (db_read_bytes): Return FALSE instead of calling db_error() if address is bogus. * ddb/db_access.c (db_get_task_value): Return 0 if db_read_bytes failed. * ddb/db_examine.c (db_xcdump): Only print * if db_read_bytes failed.
2017-08-14i386: Fix pmap_remove on PAE kernels.Justus Winter
* i386/intel/pmap.c (pmap_remove): Fix iteration over page directory. (pmap_enter): Explain why it is ok here.
2017-08-14vm: Improve error handling.Justus Winter
* vm/vm_map.c (vm_map_create): Gracefully handle resource exhaustion. (vm_map_fork): Likewise at the callsite.
2017-08-14Fix typo.Justus Winter
2017-08-12ddb: Add magic variable $mapXX.Justus Winter
Maps '$mapXX' to a VM map structure address. @var{xx} is a task identification number printed by a @code{show all tasks} command. * ddb/db_task_thread.c (db_get_map): New function. * ddb/db_task_thread.h (db_get_map): New declaration. * ddb/db_variables.c (db_vars): Add new variable. * doc/mach.texi: Document this.
2017-08-12vm: Mute paging error message.Justus Winter
* vm/vm_fault.c (vm_fault_page): Mute paging error message if the objects pager is NULL. This happens when a pager is destroyed, e.g. at system shutdown time when the root filesystem terminates.
2017-08-05ddb: debug traps and port referencesJustus Winter
* ddb/db_command.c (db_debug_all_traps_cmd): New declaration and function. (db_debug_port_references_cmd): Likewise. * doc/mach.texi: Describe new commands. * i386/i386/db_interface.h (db_debug_all_traps): New declaration. * i386/i386/trap.c (db_debug_all_traps): New function. * ipc/mach_port.c (db_debug_port_references): New function. * ipc/mach_port.h (db_debug_port_references): New declaration.
2017-08-05ddb: Print scheduling information.Justus Winter
* ddb/db_print.c (OPTION_SCHED): New macro. (db_print_thread): Display scheduling information if the flag is given. (db_print_task): Adapt. (db_show_all_threads): Parse new modifier. (db_show_one_thread): Likewise. * doc/mach.texi: Document the new flag.
2017-08-05doc: Document 'show all tasks'.Justus Winter
2017-08-05kern: Fix reporting the minimum quantum used for scheduling.Justus Winter
* kern/host.c (host_info): Scale 'min_quantum' by 'tick', then convert to milliseconds.
2017-08-05Steal '__divdi3'.Justus Winter
* Makefile.am (clib_routines): Steal '__divdi3' from the gcc runtime.
2017-08-05i386: Make function static.Justus Winter
* i386/intel/pmap.c (pmap_remove_range): Make function static. * i386/intel/pmap.h (pmap_remove_range): Remove declaration.