Commit Graph

596 Commits

Author SHA1 Message Date
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
reinoud
2b488a7d9f Big rototil of the vidcvideo code to cleanup illogical structures and to
incorporate write back support for processors not having a write through
cache.

The current fb_devconfig structure now really holds the device's
configuration and the softc really only holds the attachment information.
This used to be mixed giving rise to weird stuctures and cross references.

The number of vertical syncs before the video memory writeback is triggered
is configurable ... default is to wait for 5 Vsync .. aprox minumum 10
times a second, but more likely in the order of 12,5 times a second. When
printing is in progress no write back is performed... only after the
waiting time. The reasoning behind this is that as long as the screen is
printed too the cache will be purged of dirty data anyway due to the
processing and new screen memory useage.
2002-03-23 21:27:41 +00:00
thorpej
2488d00e5f KERNEL_SPACE_START -> KERNEL_BASE 2002-03-23 19:38:30 +00:00
thorpej
e80bfdc1a3 Garbage-collect the "pagehook" stuff. 2002-03-23 19:21:58 +00:00
reinoud
2d2df858f7 Fix up typos. 2002-03-23 18:10:24 +00:00
reinoud
fe2473fafd Fix typo. 2002-03-23 17:10:13 +00:00
thorpej
0ba36d6f6f * Rename PROCESS_PAGE_TBLS_BASE -> PTE_BASE
* Rename ALT_PAGE_TBLS_BASE -> APTE_BASE
* Garbage-collect PAGE_TABLE_SPACE_START
2002-03-23 02:22:56 +00:00
reinoud
89400b4aab Allthough this patch doesn't look that much it adds a few things that were
on the port-acorn32's TODO list for quite some time :

- when the serial console is selected, don't exclude the screen
alltogether; currently the keyboard is still not attached but that might be
a configuration problem in the GENERIC console or a failure to explicitly
connect to a wsmux. This needs further investigation.

- create a framework for the display memory writeback on vsync for
StrongARM processors since they don't have a write-trough cache. This is to
solve the lazy screen update that is very evident in single user mode on
these processors; the cache isn't flushed/written back that often and parts
of the screen can thus be resident in the cache but not written out to
memory yet.

- clean up some loose ends in the code.
2002-03-23 02:00:26 +00:00
thorpej
b326238b01 Remove redundant #ifdef _KERNEL 2002-03-23 01:56:31 +00:00
reinoud
12d0f60218 If the serial console is asked for then dont forget to define the function
prototype for connecting the serial console....
2002-03-22 13:32:51 +00:00
briggs
14bcbc0e29 Ignore cpu_sleep() if called with anything other than ARM_SLEEP_MODE_IDLE. 2002-03-19 19:41:57 +00:00
briggs
47c8167bc7 Fix typo: ISDNCTL -> NISDNCTL. 2002-03-18 22:46:57 +00:00
bjh21
e637cd6c16 PS_STRINGS -> p->p_psstr 2002-03-18 22:21:25 +00:00
atatat
31144d9976 Convert ioctl code to use EPASSTHROUGH instead of -1 or ENOTTY for
indicating an unhandled "command".  ERESTART is -1, which can lead to
confusion.  ERESTART has been moved to -3 and EPASSTHROUGH has been
placed at -4.  No ioctl code should now return -1 anywhere.  The
ioctl() system call is now properly restartable.
2002-03-17 19:40:26 +00:00
bjh21
a12e90b08f Only put the CPU type into cpu_model, not the state of the control register.
Instead, print the control register state on the next line at startup.
2002-03-16 18:47:51 +00:00
bjh21
dccc5d2c67 Get rid of the #ifdef DEBUG_FAULT_CORRECTION #ifdef mess, and use a
couple of conditionally-defined macros instead.  This makes the
fault-correction code almost readable.
2002-03-16 18:26:00 +00:00
bjh21
da4eca13c2 Kill some unnecessary settings of arm_dcache_align_mask. 2002-03-16 18:11:11 +00:00
bjh21
2d05b7a7b6 For those CPUs which don't have a cache-type register, keep the details
of the cache in a static table.  Note that the table isn't complete --
contributions of cache details for CPUs whose data sheets I haven't got are
welcome.
2002-03-16 18:02:19 +00:00
martin
94881fb123 Rename ISDN devices, per discussion on tech-kern. The network devices
become ippp (ISDN ppp) and irip (ISDN raw IP). The character device now
are called: /dev/isdn (isdnd <-> kernel communication), /dev/isdnctl (dialing
and other control), /dev/isdntrc* (tracing), /dev/isdnbchan* (raw B channel
access, i.e. for user land PPP) and /dev/isdntel* (telephone devices, i.e.
for answering machines).
2002-03-16 16:55:51 +00:00
bjh21
57eb77d59f Add CPU ID for the ARM1022ES.
Also add a CPU class for ARM10E processors in general.
2002-03-16 14:41:15 +00:00
reinoud
5fd6dd1b2b Clean up cpufunc.c so you can really use it for debugging ... the
dependency on DEBUG_PMAP was useless anyway since the PMAP_DEBUG was
printing soooo much garbage cpufunc's debugging stuff was lost anyway.
2002-03-16 03:38:28 +00:00
reinoud
aefe920476 Serious bug fix: a userland program could panic the kernel when it tried to
issue an instruction that caused the late abort handler to be called for
wich the kernel had no support build in for.

It now only panics when it happends in kernel but otherwise signals the
process a SEGV signal.
2002-03-15 22:19:49 +00:00
reinoud
1a19ddabcd Some cosmetic changes.... 2002-03-15 13:33:19 +00:00
ad
b89e39b91a Reorganise the wsfont stuff slightly so that multiple display adapters
with different bit/byte order requirements can co-exist happily.
2002-03-13 15:05:13 +00:00
rjs
415c021881 Map the reset controller registers. 2002-03-13 00:02:41 +00:00
rjs
54204051f6 Add bus space handle for SA11x0 reset controller. 2002-03-12 23:57:35 +00:00
reinoud
b91c20709e When ARMFPE wasn't enabled the `usearmfpe' flag was statically initialised
but not used resulting in a compiler error. By splitting the declaration
and the initialisation this is solved.

Better would be to not even declare the flag when ARMFPE isnt enabled but
that would just add to the #ifdef jungle.
2002-03-11 11:50:12 +00:00
lukem
cd19d52695 * rename MINIROOTSIZE to MEMORY_DISK_SIZE, so that all md(4) options
are now consistently named
* fold opt_mdsize.h into opt_md.h
2002-03-10 19:56:37 +00:00
bjh21
a42e17ae9a __RCSID -> __KERNEL_RCSID 2002-03-10 15:47:43 +00:00
bjh21
3a0f83d390 Re-work the way that FPAs are handled. If ARMFPE isn't configured, don't
even bother probing for an FPA.  If ARMFPE is configured, always use it,
even if there's an FPA (since it provides the FPA support code).  Move all
printfs about FPAs into armfpe_init.c.

This means I can delete the last two elements from struct _cpu, so that the
structure, and the whole of <arm/cpus.h> is redundant and can be deleted.
2002-03-10 15:29:53 +00:00
bjh21
b0f4f4fe56 Add an RCSID while I'm here. 2002-03-10 11:39:58 +00:00
bjh21
9bb7807c7b Remove fpu_model from struct _cpu. Instead, have initialise_arm_fpe()
printf() the FPE version number itself.
2002-03-10 11:32:00 +00:00