Commit Graph

54 Commits

Author SHA1 Message Date
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
thorpej
ad9e227ed7 Fix a bunch of printf arguments. 1998-06-27 02:48:24 +00:00
mark
5c82c19d55 Define cfattach structure for ofbus_root_ca and prototypes for
ofbus_match() and ofbus_attach().
1998-06-24 19:44:33 +00:00
mark
a2d7775fa1 Implement a delay() function for OFWGENCFG configurations. 1998-06-24 19:31:59 +00:00
mark
a34d0aae74 Cleanup time:
Fix code indenting.
  Removed a load of unnecessary includes.
  Removed unnecessary prototypes and variables.
  Removed dead variables debug_flags and cpu_cache.
  Removed some unnecessary cache syncs.
  Only sync the first 64 bytes after setting up the vectors.
  Removed all the boot argument checking code and instead call the
  generic ARM boot argument checking code parse_mi_bootargs() in machdep.c
  Fixed the ofrootfound() function so that it builds.
1998-06-24 18:50:56 +00:00
mark
b3354a2d24 Removed unused variable from setstatclockrate().
Removed unused static variable statclockirq.
Removed the old commented out irq_claim() code (supplanted by intr_claim())
1998-06-24 18:43:44 +00:00
mark
9f161ebe94 Remove pagetables_start and the associated memory allocation. L1 page
tables are allocated by the pmap code so this allocation is just wasting
memory.
1998-06-24 17:18:09 +00:00
mark
490b5a5419 Removed userret_count diagnostic bits as these are outdated. 1998-06-18 22:34:39 +00:00
tv
49fd1860fe Add UVM support. 1998-06-12 23:08:52 +00:00
tv
7ea013ce82 Include "pc.h" and check NPC - allows ofcons to be the system console. 1998-06-10 21:55:30 +00:00