summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2011-08-29Make copyout run in 1 loop on >= i486Samuel Thibault
* i386/i386/locore.S (copyout): On >= i486, skip WP-check loop split and just use byte count.
2011-08-28Skip kernel WP check on i486 and aboveSamuel Thibault
* i386/i386/i386asm.sym (machine_slot.sub_type): Define. * i386/i386/locore.S (copyout_retry): Skip if machine_slot[0].cpu_type > 3.
2011-08-28Enable >4GiB cr3Samuel Thibault
* i386/xen/xen_boothdr.S (__xen_guest): Add [extended-cr3] to PAE (XEN_ELFNOTE_PAE_MODE): Likewise.
2011-08-28Disable (<i486)-only WP workaround on Xen & PAESamuel Thibault
i386 didn't support PAE anyway. * i386/i386/locore.S (copyout_retry) [MACH_HYP || PAE]: Remove. * xen/xen.c (hyp_invalidate_pte): Remove function. * xen/xen.h (hyp_invalidate_pte): Remove prototype.
2011-08-28Fix pmap_clear_bootstrap_pagetable with >4G mfnsSamuel Thibault
* i386/intel/pmap.c (pmap_clear_bootstrap_pagetable): Use pte_to_pa instead of atop.
2011-08-28Rework memory mapping reservationSamuel Thibault
* i386/i386/vm_param.h (VM_KERNEL_MAP_SIZE): Define to 192MiB. * i386/i386at/model_dep.c (mem_size_init): Use VM_KERNEL_MAP_SIZE instead of 1/6 factor. * i386/intel/pmap.c (morevm): Remove. (pmap_bootstrap): Use VM_KERNEL_MAP_SIZE instead of morevm.
2011-08-28Move free_skbuffs declaration to the topSamuel Thibault
* device/ds_routines.c (free_skbuffs): Move declaration to the top.
2011-08-27Initialize the new map entry when it's a projected bufferGuillem Jover
* vm/vm_map.c (vm_map_fork): Call vm_map_entry_create for projected_on buffers too.
2011-08-27Fix initialization from incompatible pointer typeGuillem Jover
* linux/dev/glue/block.c (device_get_status): Cast `hg' to `unsigned long' in ioctl call.
2011-08-27Match signedness of char pointer comparisons and assignmentsGuillem Jover
* linux/dev/drivers/block/genhd.c (msdos_partition): Cast `data' assignment to `unsigned char *'. * linux/src/drivers/block/ide-cd.c (cdrom_queue_request_sense): Cast `buffer' assignment to `unsigned char *'. (cdrom_transfer_packet_command): Change `cmd_buf' argument type to `unsigned char *'. (cdrom_read_capacity): Cast `pc.buffer' assignments to `unsigned char *'. Use temporary `model' and `fw_rev' `const char *' variables to compare against literal strings and characters. * linux/src/drivers/block/ide.c (execute_drive_cmd): Cast `args' assignment to `byte *'. (ide_open): Cast `rq.buffer' assignment to `char *'. (ide_release): Likewise. (ide_ioctl): Likewise. (do_identify): Cast variables being compared against literal string to `char *'. (probe_for_drive): Likewise. * linux/src/drivers/block/ide.h (struct packet_command): Change `buffer' type to `unsigned char *'.
2011-08-27Always initialize A and X variables in BPF codeGuillem Jover
* device/net_io.c (bpf_do_filter): Remove lint conditional.
2011-08-27Disable unused variablesGuillem Jover
* i386/i386at/com.c (comstart): Disable `i' variable. * linux/src/drivers/net/at1700.c (net_close): Disable `lp' variable. * linux/dev/include/linux/blk.h (end_request): Disable `nsect' variable on MACH.
2011-08-27Remove unused variablesGuillem Jover
* vm/memory_object_proxy.c (memory_object_create_proxy): Remove unused `kr' variable. * linux/dev/glue/block.c (free_buffer): Remove unused `i' variable. (register_blkdev): Remove unused `err' variable. (unregister_blkdev): Likewise. (bread): Likewise. (init_partition): Likewise. * linux/dev/glue/net.c (device_write): Likewise.
2011-08-27Remove ident tags producing preprocessor warningsGuillem Jover
* linux/src/drivers/scsi/FlashPoint.c: Remove #ident tags.
2011-08-27Add header for printf prototypeGuillem Jover
* vm/memory_object_proxy.c: Include <kern/printf.h>.
2011-08-27Add prototype for free_skbuffs functionGuillem Jover
* device/ds_routines.c [LINUX_DEV && CONFIG_INET] (free_skbuffs): Add prototype.
2011-08-27Add prototype for log functionGuillem Jover
* kern/debug.h (log): New prototype.
2011-08-27* Makefile.am (AM_CFLAGS): Add -fno-builtin-log.Samuel Thibault
2011-08-27Add prototypes for locore functionsGuillem Jover
* i386/i386at/model_dep.c (discover_x86_cpu_type): Move ... * i386/i386/locore.h: ... here. (inst_fetch, cpu_shutdown): New prototypes. * i386/i386at/kd.c: Include <i386/locore.h>.
2011-08-27Do not take obsolete and unused bcopy and bzero from libcGuillem Jover
* Makefile.am (clib_routines): Remove bcopy and bzero.
2011-08-27Use AC_LANG_SOURCE inside AC_LANG_CONFTEST to fix autoconf warningGuillem Jover
* configure.ac (AC_LANG_CONFTEST): Wrap the source into a AC_LANG_SOURCE call.
2011-08-27Add a .gitignore fileGuillem Jover
* .gitignore: New file.
2011-08-22Make ipc_space_zone not exhaustibleSamuel Thibault
Users of ipc_space_create() actually assume that it succeeds. * ipc/ipc_init.c (ipc_bootstrap): Create ipc_space_zone without EXHAUSTIBLE flag.
2011-08-22Add more details to "zone exhausted" panics.Samuel Thibault
* kern/zalloc (zalloc): Add more details to "zone exhausted" panics.
2011-08-21Add 8byte breakpoint macroSamuel Thibault
* i386/i386/db_interface.h (I386_DB_LEN_8): Define macro.
2011-08-18Add compiler barrier to update_mapped_timeSamuel Thibault
* kern/mach_clock.c (update_mapped_time): Add compiler barriers between writes to shared memory. Update comment: on SMP, write barriers are required.
2011-08-10Do not warn for cross-space spurious port deallocationSamuel Thibault
These are harmless (the target is stopped) and difficult to fix anyway. * ipc/mach_port.c (mach_port_destroy): Do not warn about spurious port deallocation when SPACE is not equal to current_space(). (mach_port_deallocate): Likewise.
2011-08-10Add more spurious deallocation debuggingSamuel Thibault
* ipc/mach_port.c (mach_port_destroy): Print the current space and the target space on spurious deallocation. (mach_port_deallocate): Likewise.
2011-07-21Whitelist QEMU Hard-Drive for DMA.Samuel Thibault
PIO has become very slow in Linux 2.6.35+, so we do not really have the choice any more. * linux/src/drivers/block/triton.c (good_dma_drives): Re-whitelist QEMU hard drive.
2011-05-19Fix gcc 4.6 buildSamuel Thibault
* linux/dev/include/linux/skbuff.h (skb_put, skb_push): Do not print the address of a local label, gcc 4.6 does not build this and the debugger can output it anyway. * linux/src/include/linux/skbuff.h (skb_put, skb_push): Likewise.
2011-05-18Merge two asm constraintsSamuel Thibault
* linux/src/drivers/scsi/ultrastor.c (find_and_clear_bit_16): Use + modifier instead of using both a read and a write constraint.
2011-05-09Do not warn on vm_map_enter with fixed address failingSamuel Thibault
* vm/vm_map.c (vm_map_enter): Warn about missing room in map only if anywhere is set.
2011-04-24Update constants to nowadays standardsSamuel Thibault
Follow-up to fa6c711d * ipc/ipc_init.c (ipc_kernel_map_size): Increase to 8MiB.
2011-04-23Enable all cachesSamuel Thibault
* i386/i386at/model_dep.c (i386at_init): Set CR0_CD and CR0_NW in CR0 register.
2011-04-23Drop spurious warningSamuel Thibault
* ipc/ipc_entry.c (ipc_entry_get): Do not warn when ipc_entry_get returns KERN_NO_SPACE.
2011-04-22Warn once when part of the kernel is lacking spaceSamuel Thibault
* ipc/ipc_entry.c (ipc_entry_get, ipc_entry_grow_table): Warn when returning KERN_NO_SPACE. * vm/vm_map.c (vm_map_find_entry, vm_map_enter, vm_map_copyout, vm_map_copyout_page_list): Warn when returning KERN_NO_SPACE.
2011-04-22Update constants to nowadays standardsSamuel Thibault
Follow-up to fa6c711d * vm/vm_object.c (DEVICE_IO_MAP_SIZE): Increase to 16MiB. * kern/kalloc.c (kalloc_map_size): Increase to 64MiB. * i386/intel/pmap.c (morevm): Increase to 128MiB.
2011-04-20Warn once when part of the kernel is lacking memorySamuel Thibault
* kern/printf.h (printf_once): New macro. * ipc/mach_port.c (mach_port_names, mach_port_get_set_status): Warn when returning KERN_RESOURCE_SHORTAGE. * vm/vm_kern.c: Include printf.h. (kmem_alloc, kmem_realloc, kmem_alloc_wired, kmem_alloc_aligned, kmem_alloc_pageable): Warn when failing. * vm/vm_resident.c (vm_page_grab_contiguous_pages): Warn when returning KERN_RESOURCE_SHORTAGE.
2011-04-19Close call stack on continuationSamuel Thibault
* i386/i386/locore.S (call_continuation): Push dummy return address instead of letting the callee get a random one.
2011-04-18Removed deprecated LINTLIBRARY #ifdefsArne Babenhauserheide
mach/mach_traps.h: Removed LINTLIBRARY #ifdefs. mach/message.h: Removed LINTLIBRARY #ifdefs.
2011-04-03Fix build with kdb from make dist-generated tarballSamuel Thibault
* Makefrag.am (libkernel_a_SOURCES): Add ddb/db_cond.h, ddb/db_examine.h, ddb/db_input.h, ddb/db_macro.h, ddb/db_trap.h. * i386/Makefrag.am (libkernel_a_SOURCES): Add i386/i386/db_interface.h
2011-03-21Fix typoSamuel Thibault
* i386/i386at/kd.c (key_map): Fix K_PERIOD typo.
2011-03-20Clean kd.[ch]Samuel Thibault
* i386/i386at/kd.h (NUMSTATES): Fix comment about NORM_STATE. * i386/i386at/kd.c (key_map): Use K_* macros instead of numeric values.
2011-03-14Also warn about mach_port_destroy on invalid portsSamuel Thibault
* ipc/mach_port.c (mach_port_destroy): Warn (and possibly call debugger) when ipc_right_lookup_write didn't find the port name.
2011-03-11Fix continuation after keyboard debugger invocationSamuel Thibault
According to stack layout change in 5da1aea7 * i386/i386/locore.S [!MACH_XEN] (RET_OFFSET): Define to 12 instead of 8.
2011-03-06Enable global pages after enabling pagingSamuel Thibault
* i386/i386at/model_dep.c (i386at_init): Enable CR4_PGE after enabling CR0_PG.
2011-03-05Fix temporary direct mapping during page table enablingSamuel Thibault
* i386/i386at/model_dep.c (i386at_init): Count the number of actually needed temporary L1 direct mapping by getting the last used address from init_alloc_aligned(), instead of hardcoding it to 1 or 3, and then use a for loop.
2011-03-03Keep supplementary L1 pages read-onlySamuel Thibault
* i386/intel/pmap.c (pmap_bootstrap): Fix loop which keeps supplementary L1 pages read-only: break as soon as one of the L1 supplementary pages has been recognized, so that its pte does not get rewritten read-write.
2011-02-27Refuse to share IRQs at different interrupt levelsSamuel Thibault
* linux/dev/arch/i386/kernel/irq.c (setup_x86_irq): Return -LINUX_EBUSY when trying to share an IRQ between two different interrupt levels.
2011-02-27Re-enable updating pvlist for kernel_pmapSamuel Thibault
This partially reverts 0744feb6 * i386/intel/pmap.c (pmap_remove_range): Update pvlist for kernel_pmap too.