Commit Graph

627 Commits

Author SHA1 Message Date
thorpej
d8ab0d1e84 Remove unused extern decls. 2002-04-03 21:06:21 +00:00
thorpej
6d66c469bf Add a comment summarizing the post-ARM3 CP15 registers. 2002-04-03 19:57:48 +00:00
thorpej
7739f7410a Always provide kernel_text. 2002-04-03 17:30:50 +00:00
reinoud
9fc5cf5824 Fix the mmap'ing of the screen memory. The way it was implemented
completely sucked... I wonder how it was even working (....)

Thanks to Jason for pointing out the problem.
2002-04-03 16:03:50 +00:00
reinoud
943880cea2 Rototil and fix the pmap_extract function. It wouldn't even return data
when the part being quiried was mapped with a section (!) giving weird
results and had become a mess of goto's.

Complete rewrite and cleaned up the `goto'-jungle entirely ... ripped all
goto's. The resulting code is much better to read and might even have a
small performance gain.
2002-04-03 15:59:58 +00:00
reinoud
d6a3919c2c In analogy to L2_LPAGE_SIZE add L2_SPAGE_SIZE .... 2002-04-03 00:46:53 +00:00
lukem
d213d804f7 Rename MEMORY_DISK_SIZE (formerly MINIROOTSIZE) to MEMORY_DISK_ROOT_SIZE,
which was suggested by Izumi Tsutsui <tsutsui@ceres.dti.ne.jp> as
being more consistent with what it's controlling...
2002-04-02 05:30:34 +00:00
reinoud
d1f811363a Only include the vidc_machdep.h file when we're compiling the kernel 2002-03-30 17:10:31 +00:00
thorpej
243dc1d498 Rename the ARM sysarch calls from arm32* -> arm* 2002-03-30 06:23:39 +00:00
thorpej
863afc5d41 Fix a printf format. 2002-03-29 00:48:58 +00:00
thorpej
6ce299c3d3 Use write-back caching on the Verde. 2002-03-28 16:47:49 +00:00
thorpej
70fbd8fba7 Fix soft interrupts. 2002-03-28 03:19:31 +00:00
thorpej
0b109cd060 iwin_base_lo is a BAR value; make sure to mask off the non-address
bits when using it.
2002-03-27 23:17:03 +00:00
thorpej
f536211623 Basic support for the Intel i80321 I/O Processor (Xscale core).
Note: This is a snapshot of work-in-progress; there are still some
bugs to be shaken out.
2002-03-27 21:45:47 +00:00
thorpej
c915b880c5 The 80321 manual lies; it does have a CPU ID distinct from the 80200.
Add that CPU ID, and add a case for it.
2002-03-27 01:34:47 +00:00
thorpej
41f47f03e7 Restructure a few things in order to support other XScale core
I/O processors:
* The i80200 and the i80321 have the same CPU ID, so split the
  CPU_XSCALE option into CPU_XSCALE_80200 and CPU_XSCALE_80321
  options, and don't let them both be defined at the same time.
  XXX May want to revisit this in the future.
* Split some registers common between the i80200 and i80321 into
  <arm/xscale/xscalereg.h>.
* Rename a few existing functions.
2002-03-26 19:29:44 +00:00
thorpej
3964313f67 Fix reporting of the kernel virtual address space range to UVM. 2002-03-25 22:11:12 +00:00
thorpej
a2a309d02a * Some cleanup.
* Delete the call to pmap_copy() in pmap.h
2002-03-25 19:53:38 +00:00
thorpej
b17e7a03c2 Clean up pmap_map_ptes() and pmap_unmap_ptes() a little, and add
a debug assertion that curproc is never NULL if mapping a non-current
pmap.
2002-03-25 17:50:12 +00:00
thorpej
a2d8f71d01 The target page of pmap_zero_page(), pmap_pageidlezero(), and
pmap_copy_page() will never have any mappings.  Therefore, it
is unnecessary to do a cache clean for that page.

Add assertions in #ifdef DEBUG that assert this invariant.

This shaves some cycles off the frequently-called pmap_zero_page()
and pmap_copy_page() (no need to look up the dst page's vm_page
structure, and one less function call to clean the page).
2002-03-25 17:33:26 +00:00
thorpej
75cb2c6554 * Clean up some comments/whitespace.
* Don't construct a fake trap frame and pass it to main(); that hasn't
  been needed for some time.
* panic if main() returns.
2002-03-25 16:58:18 +00:00
thorpej
a61914be93 Garbage-collect fetchuserword(); nothing uses it any more. 2002-03-25 16:32:55 +00:00
thorpej
dbe6d8291b * Fix use of pmap_curmaxkvaddr.
* Use the PTP hint in the pmap.
2002-03-25 04:51:19 +00:00
thorpej
8500c97458 Move some private pmap data structures into pmap.c 2002-03-25 03:00:28 +00:00
thorpej
c93e4f6940 Tidy a few things up. 2002-03-25 02:51:32 +00:00
thorpej
a9cba12f54 Correct the comment describing the layout of the VM space. In
particular, don't describe a recursive PTE mapping, since the ARM
port doesn't (and can't) use one.
2002-03-25 02:44:07 +00:00
thorpej
da2944b10e In the Prefetch Abort handler, just do the uvm_fault() dance
directly, rather than doing a data access to fetch the page,
which meant we had to take another fault (!!).
2002-03-25 01:53:36 +00:00
thorpej
a4652c81cf Only check for SA110 bugs on SA110 CPUs with step <= K. 2002-03-24 22:03:23 +00:00
thorpej
ea553e2681 Cache the cpu type and cpu revision in cpu_info. 2002-03-24 22:02:58 +00:00
thorpej
186c0135d6 Garbage-collect pmap_pte() (and good riddance!) 2002-03-24 21:32:18 +00:00
thorpej
ea95b58d21 * Only check for SA110 rev K bug if we're on an SA110 (XXX should also
check stepping).
* In said check, don't use pmap_pte().
* Garbage-collect some useless debug code.
2002-03-24 21:27:57 +00:00
chris
03345d6008 remove pointless pg = NULL in else part of if (pg != NULL) 2002-03-24 21:10:25 +00:00
thorpej
bf3ea66d5c pmap_enter(): Use pmap_map_ptes() correctly. 2002-03-24 20:48:59 +00:00
thorpej
1ffa188c0a Remove exported pmap_pte() prototype. 2002-03-24 18:36:52 +00:00
thorpej
5ffc15a083 Use vtopte() instead of pmap_pte(). 2002-03-24 18:12:54 +00:00
chris
434f6391ea Update pmap_copy_page to only map in the src readonly and only invalidate it after the copy, no need for it to flush the wb. 2002-03-24 18:05:45 +00:00
bjh21
650f7e5c99 arm26 -> acorn26 changes. 2002-03-24 16:10:11 +00:00
bjh21
99ba40c188 arm26->acorn26 transition. 2002-03-24 15:49:38 +00:00
bjh21
ebfcb75fe5 Add ARM610 cache information. Not yet tested because booting on ARM610s seems
to be broken at present.
2002-03-24 15:37:46 +00:00
thorpej
a6d59cb039 pmap_allocpagedir(): Don't use pmap_pte(), and simplify a little. 2002-03-24 06:07:00 +00:00
thorpej
b812152b34 pmap_handled_emulation(): Fix locking protocol botch.
XXX Should we traverse the PV list and enable all PTEs?
2002-03-24 05:55:31 +00:00
thorpej
6fbfe41621 pmap_handled_emulation(): Use pmap_map_ptes() correctly. 2002-03-24 05:52:10 +00:00
thorpej
ec75dcf496 pmap_modified_emulation(): Use pmap_map_ptes() correctly. 2002-03-24 05:39:53 +00:00
thorpej
0aef2cab11 pmap_unwire(): Use pmap_map_ptes() correctly. 2002-03-24 05:28:46 +00:00
thorpej
11df08a743 pmap_clearbit(): Use pmap_map_ptes() correctly. 2002-03-24 05:15:59 +00:00
thorpej
eb638f9bc5 Use pmap_is_curpmap() consistently. 2002-03-24 04:56:49 +00:00
thorpej
242f080390 Clean up the PTP allocation functions a bit. 2002-03-24 04:49:16 +00:00
thorpej
c34d24ea3c Clean up PTE access macros a bit. 2002-03-24 04:38:33 +00:00
thorpej
aa1563948c * arm_byte_to_page() -> arm_btop()
* arm_page_to_byte() -> arm_ptob()
2002-03-24 03:37:18 +00:00
thorpej
48d8c5fdd9 Remove some redundant tests in pmap_enter(). 2002-03-24 03:25:10 +00:00