| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
They were meant to be temporary, but that got longer, and people seem to
expect them to be there now.
|
| |
|
|
|
|
| |
Message-Id: <ZA64CbpYEz+BgiEw@jupiter.tail36e24.ts.net>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* device/ds_routines.c: use static qualifier.
* device/subrs.c: delete unused functions.
* i386/i386/ast_check.c: include prototypes in kern/ast.h
* i386/i386/db_disasm.c: Include prototypes in ddb/db_examine.h
* i386/i386/db_interface.h: Define prototype for kdb_kentry. Expose
debug methods feep and kd_debug_put.
* i386/i386/db_trace.c: delete left over cthreads support, functions are
not used.
* i386/i386/model_dep.h: Define prototype for c_boot_entry.
* i386/i386at/acpi_parse_apic.c: Static qualifiers.
* i386/i386at/autoconf.c: Include header file for prototypes and remove
dead code.
* i386/i386at/autoconf.h: Fix prototype.
* i386/i386at/com.c: Add static qualifiers, delete dead code.
* i386/i386at/com.c: ditto.
* i386/i386at/com.h: Define prototypes for debug functions.
* i386/i386at/int_init.c: Include header.
* i386/i386at/kd.c: Include header for debug interface. Remove dead
kd_cmdreg_read and make xga_getpos static.
* i386/i386at/kd_mouse.c: Static qualifiers.
* i386/i386at/lpr.c: Dead lprpr.
* i386/i386at/model_dep.c: Remove exit function.
* kern/mach_clock.c: Include mig prototypes.
* kern/mach_clock.h: Remove duplicates of mig prototypes.
* kern/machine.c: Use static.
* kern/startup.c: slave_main is unused.
* kern/thread.h: Define thread_stats that is useful for debugging.
* kern/timer.c: Keep db_thread_times since it can be used for debugging.
* kern/timer.h: ditto.
* linux/dev/glue/misc.c: Use mig header for host_get_time.
Message-Id: <Y8oyiecaflCaYhaW@mercury.tail36e24.ts.net>
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Linux drivers are only limited by the DMA32 constraint, not by the directmap
constraint. But our segment order is currently set to
DMA < DMA32 < DIRECTMAP < HIGHMEM (since that is what we will have in 64bit
mode). In PAE mode this makes DMA32 limited to 800MiB. Ideally we'd have
DMA < DIRECTMAP < DMA32 < HIGHMEM but that'd make the memory code more
complex, and we are to remove the Linux drivers anyway. In the
meanwhile, In non-PAE mode we can just use HIGHMEM which is already
limited to 4GiB, that will do the work.
* linux/dev/glue/block.c (VM_PAGE_LINUX): New macro.
(device_read): Use VM_PAGE_LINUX instead of VM_PAGE_DMA32.
|
|
|
|
| |
* linux/dev/glue/block.c (check_rw_block): Return 0 on no error.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
vm_page_grab was systematically using the VM_PAGE_SEL_DIRECTMAP selector
to play safe with existing code.
This adds a flags parameter to let callers of vm_page_grab specify their
constraints.
Linux drivers need 32bit dmas, Xen drivers use kvtophys to clear some
data. Callers of kmem_pagealloc_physmem and vm_page_grab_phys_addr also use
kvtophys. Otherwise allocations can go to highmem.
This fixes the allocation jam in the directmap segment.
* vm/vm_page.h (VM_PAGE_DMA, VM_PAGE_DMA32, VM_PAGE_DIRECTMAP,
VM_PAGE_HIGHMEM): New macros.
(vm_page_grab): Add flags parameter.
* vm/vm_resident.c (vm_page_grab): Choose allocation selector according
to flags parameter.
(vm_page_convert, vm_page_alloc): Pass VM_PAGE_HIGHMEM to vm_page_grab.
(vm_page_grab_phys_addr): Pass VM_PAGE_DIRECTMAP to vm_page_grab.
* vm/vm_fault.c (vm_fault_page): Pass VM_PAGE_HIGHMEM to vm_page_grab.
* vm/vm_map.c (vm_map_copy_steal_pages): Pass VM_PAGE_HIGHMEM to vm_page_grab.
* kern/slab.c (kmem_pagealloc_physmem): Pass VM_PAGE_DIRECTMAP to vm_page_grab.
* i386/intel/pmap.c (pmap_page_table_page_alloc): Pass VM_PAGE_DIRECTMAP to
vm_page_grab.
* xen/block.c (device_read): Pass VM_PAGE_DIRECTMAP to vm_page_grab.
* linux/dev/glue/block.c (alloc_buffer): Pass VM_PAGE_DMA32 to vm_page_grab.
|
|
|
|
|
|
|
|
|
|
| |
* linux/dev/drivers/block/ahci.c (ahci_do_port_request): Reject sectors
beyond LBA48 or LBA28.
* linux/dev/glue/block.c (check_rw_block): New function.
(rdwr_partial, rdwr_full): Use check_rw_block to reject block number
overflows.
* linux/src/drivers/block/ide.c (do_rw_disk): Reject sectors beyond
LBA28 or CHS.
|
|
|
|
|
|
|
|
|
|
|
| |
Functions like vremap need to allocate some virtual addressing space
before making their own mapping. kmem_alloc_wired can be used for that
but that wastes memory.
* vm/vm_kern.c (kmem_valloc): New function.
* vm/vm_kern.h (kmem_valloc): New prototype.
* linux/dev/glue/kmem.c (vremap): Call kmem_valloc instead of
kmem_alloc_wired. Also check that `offset' is aligned on a page.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
And simplify prtnull vs intnull vs linux_bad_intr.
* i386/i386/ipl.h (intpri): Remove declaration
* i386/i386/pic.c (prtnull_count): Remove variable.
(prtnull): Remove function.
* i386/i386/pic.h (prtnull): Remove declaration.
* i386/i386at/autoconf.c (take_dev_irq, take_ctlr_irq): Use ivect instead of
intpri to determine irq availability. Do not set intpri.
* i386/i386at/pic_isa.c (ivect): Replace prtnull with intnull.
(intpri): Remove array.
* linux/dev/arch/i386/kernel/irq.c (linux_intr_pri): Remove variable.
(linux_bad_intr): Remove function.
(setup_x86_irq): Do not check intpri coherency. Do not set intpri. Set
default ivect to intnull instead of linux_bad_intr.
(probe_irq_on): Check ivect against intnull instead of linux_bad_intr.
Do not set intpri.
(probe_irq_off): Likewise.
(reserve_mach_irqs): Do not check against prtnull.
(old_clock_pri): Remove variable.
(init_IRQ): Do not set intpri. Do not set ivect to linux_bad_intr.
(restore_IRQ): Do not set ivect.
* i386/i386/pit.c (clkstart): Do not set intpri.
* i386/i386at/kd_mouse.c (kd_mouse_open, kd_mouse_close): Likewise.
* linux/dev/drivers/block/genhd.c (device_setup): Do not set linux_intr_pri.
* linux/dev/glue/block.c (init_partition, device_open): Likewise.
* linux/dev/glue/net.c (device_open): Likewise.
* linux/dev/glue/glue.h (linux_intr_pri, linux_bad_intr): Remove
declarations.
|
|
|
|
|
| |
* linux/dev/glue/block.c (rdwr_full): Set BH_Bounce if the physical
address of the user data is not in directmap.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
* linux/dev/glue/net.c (device_write): Remove unused variables.
|
|
|
|
|
| |
* linux/dev/glue/kmem.c (vremap): Remove prototype, include the right
header instead.
|
|
|
|
|
|
|
|
|
|
| |
Unconditionally use bounce buffers for now.
* linux/dev/glue/net.c (device_write): Unconditionally use a
bounce buffer.
* xen/block.c (device_write): Likewise.
* xen/net.c: Include <device/ds_routines.h>.
(device_write): Unconditionally use a bounce buffer.
|
|
|
|
|
|
|
|
|
|
| |
The Linux block layer glue code needs to use page nodes with the
appropriate interface since their redefinition as struct list.
* linux/dev/glue/block.c: Include <kern/list.h>.
(struct temp_data): Define member `pages' as a struct list.
(alloc_buffer): Update to use list_xxx functions.
(free_buffer, INIT_DATA, device_open, device_read): Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of a "page considered external", which apparently takes into
account whether a page is dirty or not, redefine this property to
reliably mean "is in an external object".
This commit mostly deals with the impact of this change on the page
allocation interface.
* i386/intel/pmap.c (pmap_page_table_page_alloc): Update call to
vm_page_grab.
* kern/slab.c (kmem_pagealloc_physmem): Use vm_page_grab instead of
vm_page_grab_contig.
(kmem_pagefree_physmem): Use vm_page_release instead of
vm_page_free_contig.
* linux/dev/glue/block.c (alloc_buffer, device_read): Update call
to vm_page_grab.
* vm/vm_fault.c (vm_fault_page): Update calls to vm_page_grab and
vm_page_convert.
* vm/vm_map.c (vm_map_copy_steal_pages): Update call to vm_page_grab.
* vm/vm_page.h (struct vm_page): Remove `extcounted' member.
(vm_page_external_limit, vm_page_external_count): Remove extern
declarations.
(vm_page_convert, vm_page_grab): Update declarations.
(vm_page_release, vm_page_grab_phys_addr): New function declarations.
* vm/vm_pageout.c (VM_PAGE_EXTERNAL_LIMIT): Remove macro.
(VM_PAGE_EXTERNAL_TARGET): Likewise.
(vm_page_external_target): Remove variable.
(vm_pageout_scan): Remove specific handling of external pages.
(vm_pageout): Don't set vm_page_external_limit and
vm_page_external_target.
* vm/vm_resident.c (vm_page_external_limit): Remove variable.
(vm_page_insert, vm_page_replace, vm_page_remove): Update external
page tracking.
(vm_page_convert): RemoveĀ `external' parameter.
(vm_page_grab): Likewise. Remove specific handling of external pages.
(vm_page_grab_phys_addr): Update call to vm_page_grab.
(vm_page_release): Remove `external' parameter and remove specific
handling of external pages.
(vm_page_wait): Remove specific handling of external pages.
(vm_page_alloc): Update call to vm_page_grab.
(vm_page_free): Update call to vm_page_release.
* xen/block.c (device_read): Update call to vm_page_grab.
* xen/net.c (device_write): Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change replaces the historical page allocator with a buddy allocator
implemented in vm/vm_page.c. This allocator allows easy contiguous allocations
and also manages memory inside segments. In a future change, these segments
will be used to service requests with special constraints, such as "usable
for 16-bits DMA" or "must be part of the direct physical mapping".
* Makefrag.am (libkernel_a_SOURCES): Add vm/vm_page.c.
* i386/Makefrag.am (libkernel_a_SOURCES): Add i386/i386at/biosmem.{c,h}.
* i386/i386/vm_param.h: Include kern/macros.h.
(VM_PAGE_DMA_LIMIT, VM_PAGE_MAX_SEGS, VM_PAGE_DMA32_LIMIT,
VM_PAGE_DIRECTMAP_LIMIT, VM_PAGE_HIGHMEM_LIMIT, VM_PAGE_SEG_DMA,
VM_PAGE_SEG_DMA32, VM_PAGE_SEG_DIRECTMAP, VM_PAGE_SEG_HIGHMEM): New macros.
* i386/i386at/model_dep.c: Include i386at/biosmem.h.
(avail_next, avail_remaining): Remove variables.
(mem_size_init): Remove function.
(i386at_init): Initialize and use the biosmem module for early physical
memory management.
(pmap_free_pages): Return phys_last_addr instead of avail_remaining.
(init_alloc_aligned): Turn into a wrapper for biosmem_bootalloc.
(pmap_grab_page): Directly call init_alloc_aligned instead of pmap_next_page.
* i386/include/mach/i386/vm_types.h (phys_addr_t): New type.
* kern/bootstrap.c (free_bootstrap_pages): New function.
(bootstrap_create): Call free_bootstrap_pages instead of vm_page_create.
* kern/cpu_number.h (CPU_L1_SIZE): New macro.
* kern/slab.h: Include kern/cpu_number.h.
(CPU_L1_SIZE): Remove macro, moved to kern/cpu_number.h.
* kern/startup.c (setup_main): Change the value of machine_info.memory_size.
* linux/dev/glue/glue.h (alloc_contig_mem, free_contig_mem): Update prototypes.
* linux/dev/glue/kmem.c (linux_kmem_init): Don't use defunct page queue.
* linux/dev/init/main.c (linux_init): Don't free unused memory.
(alloc_contig_mem, free_contig_mem): Turn into wrappers for the vm_page
allocator.
* linux/pcmcia-cs/glue/ds.c (PAGE_SHIFT): Don't undefine.
* vm/pmap.h (pmap_startup, pmap_next_page): Remove prototypes.
* vm/vm_fault.c (vm_fault_page): Update calls to vm_page_convert.
* vm/vm_init.c (vm_mem_init): Call vm_page_info_all.
* vm/vm_object.c (vm_object_page_map): Update call to vm_page_init.
* vm/vm_page.h (vm_page_queue_free): Remove variable declaration.
(vm_page_create, vm_page_release_fictitious, vm_page_release): Remove
declarations.
(vm_page_convert, vm_page_init): Update prototypes.
(vm_page_grab_contig, vm_page_free_contig): New prototypes.
* vm/vm_resident.c (vm_page_template, vm_page_queue_free,
vm_page_big_pagenum): Remove variables.
(vm_page_bootstrap): Update and call vm_page_setup.
(pmap_steal_memory): Update and call vm_page_bootalloc.
(pmap_startup, vm_page_create, vm_page_grab_contiguous_pages): Remove functions.
(vm_page_init_template, vm_page_grab_contig,
vm_page_free_contig): New functions.
(vm_page_init): Update and call vm_page_init_template.
(vm_page_release_fictitious): Make static.
(vm_page_more_fictitious): Update call to vm_page_init.
(vm_page_convert): Rewrite to comply with vm_page.
(vm_page_grab): Update and call vm_page_alloc_pa.
(vm_page_release): Update and call vm_page_free_pa.
|
|
|
|
|
|
|
| |
* 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 *.
|
|
|
|
|
|
|
|
| |
If the loop above completes at least one iteration, `i' will be larger
than zero.
* linux/dev/glue/block.c (rdwr_full): Add assertion to appease the
compiler.
|
|
|
|
| |
* linux/dev/glue/block.c (device_set_status): Fix prototype.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This avoids grub & such making Mach print flurries of floppy errors.
* linux/dev/include/linux/blkdev.h (request): Add `quiet' field.
* linux/dev/include/linux/blk.h (end_request): Print I/O error only if
the `quiet' field of the request is 0.
* linux/dev/include/linux/fs.h (ll_rw_block): Add `quiet' parameter.
* linux/dev/glue/block.c (ll_rw_block): Add `quiet' parameter, copied into
the request.
(bread, rdwr_partial, rdwr_full): Pass 0 to `ll_rw_block''s `quiet' parameter.
* linux/dev/drivers/block/floppy.c (floppy_revalidate): Pass 1 to
`ll_rw_block''s `quiet' parameter.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* linux/dev/glue/kmem.c (vmtophys): New function.
* linux/dev/include/linux/mm.h (vmtophys): New prototype.
* linux/src/include/linux/pci.h (PCI_CLASS_STORAGE_SATA,
PCI_CLASS_STORAGE_SATA_AHCI): New macros.
* linux/dev/drivers/block/ahci.c: New file.
* linux/dev/include/ahci.h: New file.
* linux/Makefrag.am (liblinux_a_SOURCES): Add linux/dev/drivers/block/ahci.c
and linux/dev/drivers/block/ahci.h.
* linux/src/drivers/block/ide.c: Include <ahci.h>.
(probe_for_hwifs): Call ahci_probe_pci.
|
|
|
|
|
|
|
|
| |
This fixes grave issues when device_read is called with non-block-aligned
offset, e.g. when using grub-probe with a non-block-aligned partition table.
* linux/dev/glue/block.c (rdwr_full): Use current position instead of base
buffer position to check for alignment.
|
|
|
|
|
|
| |
* linux/dev/glue/block.c (device_get_status): Use
DEV_GET_RECORDS_RECORD_SIZE for DEV_GET_RECORDS instead of
DEV_GET_SIZE_RECORD_SIZE.
|
|
|
|
|
|
|
|
|
|
| |
* linux/dev/glue/block.c
(device_open): Properly return devp on multiple opens.
(device_close_forced): Renamed from device_close, when force parameter is 1, do
not wait for open_count to become 0 before closing.
(device_close): New function.
(device_no_senders): New function.
linux_block_emulation_ops: Use (device_no_senders).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* i386/i386/vm_param.h [!MACH_XEN]: Do not include <xen/public/xen.h>.
* i386/i386at/model_dep.c (init_alloc_aligned): Use phystokv to compare physical
memory addresses with kernel start, end, and symbol table.
* i386/intel/pmap.c (pmap_enter): Use kvtophys to convert ptp pointer to pte
entry.
* linux/dev/init/main.c (alloc_contig_mem, linux_init): Use phystokv to convert
allocated pages to virtual pointer.
* linux/src/include/asm-i386/io.h: Include <machine/vm_param.h>.
(virt_to_phys): Call _kvtophys.
(phys_to_virt): Call phystokv.
* linux/src/include/linux/compatmac.h: Include <asm/io.h>.
(ioremap): Use phys_to_virt to convert physical address to virtual pointer.
(my_iounmap): Likewise.
* linux/dev/include/asm-i386/page.h: Include <mach/vm_param.h>.
(PAGE_SHIFT, PAGE_SIZE, PAGE_MASK): Remove macros.
* linux/src/drivers/scsi/ncr53c8xx.c (vm_size_t): Remove type.
* linux/dev/glue/net.c: Include <machine/vm_param.h>
(device_write): Call phystokv to convert from physical page address to
virtual pointer.
* linux/dev/glue/block.c (alloc_buffer, free_buffer, rdwr_full): Likewise.
|
|
|
|
| |
* linux/dev/glue/misc.c (issig): Return 0 if current_thread() is NULL.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
On amd64 the cpu flags is a 64-bit word, and long on 32-bit systems is
32-bit wide anyway.
* linux/dev/glue/kmem.c (linux_kmalloc, linux_kfree, __get_free_pages,
free_pages): Use unsigned long instead of unsigned.
* linux/dev/include/asm-i386/system.h (__save_flags, __restore_flags):
Likewise.
* linux/dev/kernel/printk.c (printk): Likewise.
* linux/src/drivers/scsi/advansys.c (DvcEnterCritical, DvcLeaveCritical,
advansys_queuecommand, advansys_abort, advansys_reset, advansys_interrupt,
interrupts_enabled, AdvISR): Likewise.
* linux/src/drivers/scsi/aha152x.c (aha152x_intr): Likewise.
* linux/src/drivers/scsi/aha1542.c (aha1542_intr_handle): Likewise.
* linux/src/drivers/scsi/aic7xxx.c (aic7xxx_done_cmds_complete): Likewise.
* linux/src/drivers/scsi/ultrastor.c (log_ultrastor_abort,
ultrastor_queuecommand, ultrastor_abort): Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* device/dev_pager.c: Remove #include <kern/kalloc.h>.
* i386/i386/io_perm.c: Add #include <kern/kalloc.h>.
* kern/bootstrap.c: Likewise.
* kern/ipc_tt.c: Likewise.
* kern/pc_sample.c: Likewise.
* kern/processor.c: Likewise.
* kern/server_loop.ch: Likewise.
* kern/thread.c: Likewise.
* linux/dev/glue/block.c: Likewise.
* linux/dev/glue/net.c: Likewise.
* vm/vm_map.c: Likewise.
* xen/block.c: Likewise.
* xen/net.c: Likewise.
* xen/store.c: Likewise.
|
|
|
|
|
|
| |
* linux/dev/drivers/block/genhd.c (device_setup): Set linux_intr_pri to
SPL6.
* linux/dev/glue/block.c (init_partition, device_open): Likewise.
|
|
|
|
| |
* linux/dev/glue/kmem.c (MEM_CHUNKS): Increase to 32.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This driver supports qemu's SCSI host device.
Unfortunately it seems to be breaking the network device, so test with care.
* linux/Makefrag.am (liblinux_a_SOURCES): Add
linux/src/drivers/scsi/sym53c8xx{.c,_comm.h,.h,_defs.h}
* linux/configfrag.ac: Add AC_Linux_DRIVER([sym53c8xx] to enable
CONFIG_SCSI_SYM53C8XX.
* linux/dev/glue/kmem.c (MEM_CHUNKS): Increase to 16.
* linux/src/drivers/scsi/hosts.c [CONFIG_SCSI_SYM53C8XX]: Include "sym53c8xx.h".
(builtin_scsi_hosts): include SYM53C8XX.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Mach no longer uses any of the old and clashing errno E* codes, so
it's safe to use them now w/o namespacing. This also means one less
modification needed to the Linux code.
* linux/dev/include/asm-i386/errno.h: Remove file.
* linux/dev/kernel/dma.c (notifier_chain_unregister) [MACH_INCLUDE]: Remove
code.
* linux/dev/include/linux/notifier.h: Likewise.
* linux/dev/arch/i386/kernel/irq.c (setup_x86_irq): Rename LINUX_EBUSY
to EBUSY.
(request_irq): Rename LINUX_EINVAL to EINVAL.
* linux/dev/glue/block.c (register_blkdev): Rename LINUX_EBUSY to EBUSY
and LINUX_EINVAL to EINVAL.
(unregister_blkdev): Rename LINUX_EINVAL to EINVAL.
(rdwr_partial) Rename LINUX_ENOMEM to ENOMEM and LINUX_EIO to EIO.
* linux/dev/glue/misc.c (linux_to_mach_error): Rename LINUX_EPERM to
EPERM, LINUX_EIO to EIO, LINUX_ENXIO to ENXIO, LINUX_EACCES to EACCES,
LINUX_EFAULT to EFAULT, LINUX_EBUSY to EBUSY, LINUX_EINVAL to EINVAL,
LINUX_EROFS to EROFS, LINUX_EWOULDBLOCK to EWOULDBLOCK and LINUX_ENOMEM
to ENOMEM.
(verify_area): Rename LINUX_EFAULT to EFAULT.
* linux/dev/kernel/resource.c (check_region): Rename LINUX_EBUSY to
EBUSY.
* linux/dev/kernel/sched.c (__do_down): Rename LINUX_EINTR to EINTR.
|
|
|
|
|
| |
* linux/dev/glue/kmem.c (vfree): Cast `addr' argument on kfree_mem
function to vm_offset_t.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* device/ds_routines.h (io_done_list): Add variable declaration.
(device_io_map): Keep variable declaration and move definition to...
* device/ds_routines.c: ... here.
* i386/i386/fpu.c: Include <i386/pic.h>
(curr_ipl): Remove declaration.
(fpintr): Add int unit parameter.
* linux/dev/glue/glue.h: New header.
* i386/i386/fpu.h (fpintr): Add function prototype.
* i386/i386/hardclock.c (clock_interrupt, linux_timer_intr): Remove prototypes.
[LINUX_DEV]: Include <linux/dev/glue/glue.h>
* i386/i386/ipl.h (curr_ipl): Add declaration.
* i386/i386/pic.h (curr_pic_mask, pic_mask, prtnull, intnull): Add
declarations.
* i386/i386at/kd.h (kdintr): Add declaration.
* i386/i386at/pic_isa.c: Include <i386/fpu.h> and <i386at/kd.h>
(intnull, fpintr, hardclock, kdintr, prtnull): Remove prototypes.
* i386/xen/xen.c: Include <kern/mach_clock.h>
(clock_interrupt): Remove prototype.
* linux/dev/arch/i386/kernel/irq.c: Include <linux/dev/glue/glue.h> and
<machine/machspl.h>
(linux_timer_intr, splhigh, spl0, curr_ipl, curr_pic_mask, pic_mask,
get_options): Remove declarations.
* linux/dev/drivers/block/floppy.c: Include <linux/dev/glue/glue.h>
(issig, get_options): Remove declarations.
* linux/dev/drivers/block/genhd.c: Include <linux/dev/glue/glue.h>
(linux_intr_pri): Remove declaration.
* linux/dev/glue/block.c: Include <devices/ds_routines.h> and
<linux/dev/glue/glue.h>.
(device_io_map, blksize_size): Remove declarations.
* linux/dev/glue/kmem.c: Include <kern/printf.h> and <linux/dev/glue/glue.h>
(alloc_contig_mem, printf): Remove declarations.
* linux/dev/glue/misc.c: Include <printf.h> and <linux/dev/glue/glue.h>
(vm_map_lookup_entry, printf): Remove prototypes.
* linux/dev/glue/net.c: Include <kern/printf.h>, <device/ds_routines.h> and
<linux/dev/glue/glue.h>.
(linux_intr_pri, io_done_list): Remove declarations.
* linux/dev/init/main.c: Include <machine/model_dep.h> and
<linux/dev/glue/glue.h>.
(phys_last_addr, alloc_contig_mem, free_contig_mem, init_IRQ,
restore_IRQ, startrtclock, linux_version_init, linux_kmem_init, pci_init,
linux_net_emulation_init, device_setup, linux_printk, linux_timer_intr, spl0,
splhigh, form_pic_mask, linux_bad_intr, prtnull, intnull, linux_sched_init,
pcmcia_init): Remove declarations.
* linux/dev/kernel/sched.c: Include <kern/printf.h>, <machine/machspl.h> and
<linux/dev/glue/glue.h>.
(alloc_contig_mem, free_contig_mem, splhigh, splx, linux_soft_intr, issig,
printf, linux_auto_config): Remove prototypes.
* linux/dev/kernel/softirq.c: Include <linux/dev/glue/glue.h>.
* linux/src/drivers/block/floppy.c: Include <linux/dev/glue/glue.h>.
(get_options): Remove prototype.
* linux/src/init/main.c: Include <linux/dev/glue/glue.h>
(init_IRQ): Remove prototype.
|
|
|
|
|
| |
* linux/dev/glue/misc.c (do_gettimeofday): Cast arguments to
`host_get_time'.
|
|
|
|
|
| |
* linux/dev/glue/block.c (device_get_status): Cast `hg' to `unsigned long'
in ioctl call.
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
| |
* linux/dev/glue/net.c (device_get_status): Compare count with 1 instead
of sizeof(short). Access *status instead of *(short *) status.
(device_set_status): Likewise.
|
|
|
|
|
|
| |
* linux/dev/glue/kmem.c (MEM_DMA_LIMIT): New macro
(linux_kmem_init): Replace 16 * 1024 * 1024 occurrences with
MEM_DMA_LIMIT.
|
|
|
|
|
| |
* linux/dev/glue/block.c (device_set_status): New function
(linux_block_emulation_ops): Set set_status field to device_set_status.
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
* linux/dev/glue/block.c (MAX_BUF): Set to sane stack-friendly 8
instead of blindly following VM_MAP_COPY_PAGE_LIST_MAX.
(rdwr_full): increment blk by cc >> bshift instead of nb.
|
|
|
|
| |
* linux/dev/glue/net.c (device_open) <LINUX_IFF_ALLMULTI>: Comment.
|
|
|
|
|
| |
* linux/dev/glue/net.c (device_open): Set LINUX_IFF_ALLMULTI flag
on device and propagate.
|