Commit Graph

55 Commits

Author SHA1 Message Date
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
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