Commit Graph

63 Commits

Author SHA1 Message Date
mycroft 7057d01bbc Inline need_resched() and need_proftick(). Make need_proftick() actually *do*
something!
2000-12-12 06:06:05 +00:00
lukem 9f10280ff3 OF_nextprop(): change 'char *nextprop' -> 'void *nextprop', in line with
pk's change to sys/dev/ofw/openfirm.h rev 1.15.
2000-11-18 12:15:50 +00:00
matt edc0af8cd3 Add OF_nextprop and required conf-glue for /dev/openfirm. 2000-11-14 07:13:02 +00:00
mrg b564830503 remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h> 2000-06-29 08:44:03 +00:00
mrg 2f159a1bac remove/move more mach vm header files:
<vm/pglist.h> -> <uvm/uvm_pglist.h>
	<vm/vm_inherit.h> -> <uvm/uvm_inherit.h>
	<vm/vm_kern.h> -> into <uvm/uvm_extern.h>
	<vm/vm_object.h> -> nothing
	<vm/vm_pager.h> -> into <uvm/uvm_pager.h>

also includes a bunch of <vm/vm_page.h> include removals (due to redudancy
with <vm/vm.h>), and a scattering of other similar headers.
2000-06-26 14:20:25 +00:00
simonb 889c658b5b Change the kernel mmap interface so that the offset to map is an
"off_t" and the return value is a "paddr_t" to allow mappings
at offsets past 2^31 bytes.  Somewhat inspired by FreeBSD, which
only changed the offset to a "vm_offset_t".

Includes updates for the i386, pc532 and sh3 mmmmap from Jason Thorpe.
2000-06-26 04:55:19 +00:00
matt ea16c1ada3 Enable __HAVE_DEVICE_REGISTER and add a ofw_device_register to shark_machdep.c
This works for booting diskless.  It should work for booting off ide but that
is untested for the moment.
2000-06-06 20:17:34 +00:00
ws b7570cae85 Update several ports to at least work again without IPKDB
after the update of that.
Sorry for breaking this with my last changes :-(.
Fixes PR#9671 by Lennart Augustsson.
2000-03-24 17:05:30 +00:00
tsutsui b236cf48c3 check whether tv_usec >= 1000000 2000-01-22 05:21:24 +00:00
thorpej 1946167939 Update for pmap_enter() API change. No functional difference. 1999-11-13 00:30:26 +00:00
cgd c9c2181ed9 provide an __ELF__ version of _C_FUNC and _C_LABEL, convert the assembly
#defines in asm.h to use them, and convert code which needs to use C labels
to use _C_LABEL as well.  (I can't see any reason why the label vs. function
differentiation shouldn't be GC'd; i only added uses of _C_LABEL.)  This
should help if this port is converted to use ELF, and was checked by
compiling all kernels in arm32/conf (with some driver removals and some
MI header fixups re: common blocks) with an arm-linux ELF toolchain.
1999-10-26 06:53:41 +00:00
thorpej 11cae42531 Centralize the declaration and clearing of `cold'. 1999-09-17 19:59:35 +00:00
mycroft 665b05efd4 GC physical_memoryblock. 1999-03-29 10:02:19 +00:00
mycroft e84fe91c51 Take advantage of the new `access_type' for pmap_enter(), and always do R/M
emulation of managed pages.  This required the following `interesting' changes:
* File system buffers must be entered with an access type of
  VM_PROT_READ|VM_PROT_WRITE, so that the pages will be accessible immediately.
  Otherwise we would have to teach pagemove() to update the R/M information.
  Since they're never eligible for paging, the latter is overkill.
* We must insure that pages allocated before the pmap is completely set up
  (that is, pages allocated early by the VM system) are not eligible for R/M
  emulation, since the memory needed for this isn't available.  We do this by
  allocating the pmap's internal memory with uvm_pageboot_alloc().  This also
  fixes an absolutely horrible hack where the pmap only worked because page 0
  happened to be mapped.
  to be mapped.
Also:
* Push the wired page counting into the p->v list maintenance functions.  This
  avoids code duplication, and fixes some cases where we were confused about
  which pages to do it with.
* Fix lots of problems associated with pmap_nightmare() (and rename it to
  pmap_vac_me_harder()).
* Since the early pages are no longer considered `managed', just make
  pmap_*_pv() panic if !pmap_initialized.
1999-03-26 22:00:24 +00:00
mrg d2397ac5f7 completely remove Mach VM support. all that is left is the all the
header files as UVM still uses (most of) these.
1999-03-24 05:50:49 +00:00
cgd d324c9f2f6 pull isa_machdep.h in from machine/ instead of from $(MACHINE)/isa/ 1999-03-19 05:13:16 +00:00
cgd d00106ee06 if you pull in isavar.h, you don't need isa_machdep.h. 1999-03-19 04:58:45 +00:00
cgd 6ce0de2b8e Moved to arch/arm32/include/ofisa_machdep.h,v 1999-03-19 03:29:50 +00:00
mark a82d8b0a33 Fix void * arithmetic. 1999-01-09 22:56:06 +00:00
mark 9b3c03f9cc Update for name change of pv_addr_t structure members. 1999-01-03 02:23:27 +00:00
mrg db3051d720 fix problems in many d_mmap routines:
- returned EOPNOTSUPP rather than -1.
	- no check for negative offset.
many of these fix potential security problems in these drivers.


XXX XXX XXX
the d_mmap cdev routine should be changed to have a prototype like:
	paddr_t (*d_mmap) __P((dev_t, off_t, int));

by someone!
1998-11-19 15:38:20 +00:00
mark 096ffe523f Fix a couple of string buffer overruns in lpt_ofisa_md_match()
From Richard Earnshaw, fixes PR6210.
1998-10-28 04:21:57 +00:00
mark 4285910912 Implement faster method of blocking all lower priority interrupts.
Modify current_spl_level to reflect the temporary change in interrupt
priority level which dispatching.
Don't increment the interrupt stats for every handler in the interrupt chain.
Cleaned up a number of comments.
Define soft interrupt names.
A few miscellaneous tidy ups.
1998-09-05 04:05:31 +00:00
mark de5eac54ea Simplified initialisation of irqmasks.
Removed any remnants of soft interrupt dispatching.
Cleaned up a number of comments.
Removed a number of blank lines.
Nuked register keywords.
Made sure code is in sync with interrupt handling for other ARM hardware.
1998-09-05 04:04:24 +00:00
mark eff784066e Don't discard the proc0_pt_pte mapping and make sure that the
proc0_pt_pte and proc_pagedir mappings are uncached.
1998-08-29 04:58:16 +00:00
mark 5898385f6b Change boot_path -> boot_file and initialise to NULL along with boot_args. 1998-08-29 03:55:57 +00:00
mark 22a3c54923 Use KERNEL_VM_SIZE to calculate the number of page tables needed for
the kernel data area.
Don't map the proc0 L1 page table into the L2 page tables space.
1998-08-29 03:17:27 +00:00
mark 133f5c93f0 Updated for pmap_bootstrap() argument change. Modify ofw_configmem()
to obtains pv_addr_t structures for the proc0 L1 page table and the proc0
pagetable that maps page tables.
Use the virtual address from the pv_addr_t structure for the proc0 L1 page
table when calling pmap_bootstrap rather than relying on a special mapping
at PAGE_DIRS_BASE.
Modify ofw_construct_proc0_addrspace() for similar changes to
ofw_configmem().
Remove the kernel_pde page table in ofw_construct_proc0_addrspace() as it
it now longer needed.
1998-08-28 02:52:37 +00:00
mark c5695ed630 Centralize the definition of pv_addr_t to pmap.h 1998-08-27 04:00:53 +00:00
mark af91a82f1e Remove pv_addr_t and systempage declarations. 1998-08-27 03:58:10 +00:00
thorpej 0809175887 #define _CS_OFISA_MD_REG_FIXUP 1998-08-17 20:40:53 +00:00
thorpej defb1b327e Implement a reg fixup, needed for old OpenFirmware builds. 1998-08-17 20:38:08 +00:00
thorpej 2b869a383f Use _CS_OFISA_MD_* callbacks for old, broken OpenFirmware builds. 1998-08-15 02:59:01 +00:00
mycroft d5eb56b2c2 Move splclock and splaudio outside splimp. 1998-08-08 23:39:38 +00:00
augustss cdeb158d5f A first stab at making the SHARK sound work. It doesn't really work
yet, but it probes and makes a noise when used.  Stay tuned!
1998-07-30 14:11:42 +00:00
thorpej 803df07221 Obsolete. 1998-07-27 01:43:24 +00:00
thorpej 6828d39080 Actually provide the correct bus space tags. 1998-07-27 00:48:15 +00:00
thorpej 02ad0b4eda Add support for ifmedia. 1998-07-21 22:58:31 +00:00
thorpej 133efc841f Use <dev/isa/cs89x0var.h> 1998-07-21 01:04:09 +00:00
thorpej c3e7a09c4e Use <dev/isa/cs89x0reg.h> 1998-07-21 00:08:57 +00:00
thorpej fcd0183e81 Remove all of the home-grown ISA DMA code, and translate the OpenFirmware
"dma-ranges" property into the pmap's ISA DMA ranges.
1998-07-08 05:00:40 +00:00
thorpej 28cbb7c537 Provide the ISA chipset tag. XXX This should go away in favor of a real
ofisa attachment of the "cs" driver.
1998-07-08 04:59:46 +00:00
thorpej f5535d79ca Provide the ISA chipset tag. 1998-07-08 04:59:02 +00:00
mark 3d4c1e7372 Cleanup ofw_boot().
Remove un-necessary includes.
1998-07-07 02:45:00 +00:00
mark 2194175b24 KNF. 1998-07-07 00:48:11 +00:00
mark 3682a37511 Include opt_compat_old_ofw.h for COMPAT_OLD_OFW option. 1998-07-06 02:36:52 +00:00
mark a96139b744 Include opt_uvm.h and define Lcnt appropriate for UVM or non-UVM configs. 1998-07-06 01:04:17 +00:00
mark c73c7674d7 defopt IRQSTATS. 1998-07-06 00:53:07 +00:00
jonathan 466e784ee1 defopt DDB. 1998-07-04 22:18:13 +00:00
augustss 5aa0920e7d Make it compile again. 1998-06-29 13:53:00 +00:00