Commit Graph

254 Commits

Author SHA1 Message Date
matt
7ce6450eac Add a merged <pcb.h> for arm26/arm32. 2001-09-03 19:20:27 +00:00
matt
d7c7a3ea02 Add __ELF__ stuff for resized types under ELF. 2001-09-03 01:51:39 +00:00
matt
b0f89169ee Switch netwinder to use a common conf.c for the arm ports. 2001-09-03 01:50:00 +00:00
simonb
023bdd2bf2 Use comments around the token after a #endif. 2001-08-31 04:44:54 +00:00
matt
e4892d7157 When invaliding single icache line on XScale, the branch target buffer
also needs to be invalidated.  Also, but in the right sequence to empty
the pipeline on XScale.
2001-08-30 01:15:39 +00:00
chris
37fb92dcab Remove unused entries from the pcb. This is with a long term view of merging the arm26 and arm32 pcb's. 2001-08-27 11:39:43 +00:00
matt
edc83ba7f4 Add xscale cpufuncs (using the sa110 ones when they are identical). 2001-08-27 00:00:27 +00:00
matt
e8f317bba8 Add xscale cpu functions 2001-08-26 19:41:57 +00:00
matt
4e642cc5fd Add i80312 register definitions (just registers for now). 2001-08-26 19:25:47 +00:00
matt
08f4bcddf3 files file for xscale (i80312 aka iopxs) 2001-08-26 19:19:09 +00:00
bjh21
ed5e27cc44 Increase the size of a jmp_buf when using ELF, since this will be our last
chance to do so for a while.  We don't use the extra space yet, but VFP
support is likely to need it.
2001-08-25 14:45:59 +00:00
chris
140252be2b Arm has a vac, so we must use pmap_enter/remove for vmapbuf rather than k* versions, otherwise we may not be doing the right caching thing. 2001-08-20 21:52:09 +00:00
wiz
d375535396 Fix typo in comment (suceed). 2001-08-20 11:49:11 +00:00
matt
4bc8190b62 Change local offset/label for irqhandlers to Lirqhandlers. Because in
ELF _C_LABEL(irqhandlers) == irqhandlers so we were getting self-referential
pointer which causes the IRQ to fall on itself.  [With this change the
netwinder kernel can now be *ELF* and boots to multiuser]
2001-08-19 07:29:26 +00:00
jdolecek
c495131fe3 Move _insque()/_remque() to libkern. Once remaining uses would
be converted to <sys/queue.h> macros, _insque()/_remque() would be eliminated
altogether.
2001-08-12 08:35:31 +00:00
chris
0b0518e0dd Fix compile without DIAGNOSTICs enabled 2001-08-11 14:47:56 +00:00
chris
191de4d242 Checking a whole host of pmap changes:
Improved locking (not that we actually use it on a uniprocessor, but one day :)
Removed unneeded splvm's
tweaked pmap_clean_page code to only flush the cache if the page is mapped in the current pmap  (based on diff from richard E)
Adopted pv entry allocation mechanism from i386.
Laid framework for returning ptp's when we've finished with them rather than holding onto them till the process exits.
ptp's are now allocated with a uvm object for the pmap, means that we can walk a list to free them off in pmap_release, until they get freed off by pmap_remove.

Also implemented a page zeroing function when the processor is idling.  Note that hpcarm may wish to disable this.

I believe this code to be stable, if anyone has any problems please shout up.
2001-08-11 13:20:19 +00:00
chris
c5de587666 Make use of pmap_kenter instead of pmap_enter for kernel buffers. 2001-08-11 13:00:48 +00:00
chris
163b9983d7 Add arm_trunc_page, similair to trunc_page but using a hardcoded PGOFSET. 2001-08-11 12:59:45 +00:00
chris
6cca1c3f58 Update to make use of a proper kenter implementation for vmapbuf and vunmapbuf. 2001-08-11 12:57:25 +00:00
chris
6e43d02452 Patch in Richard E's changes to bcopy page, the loop doesn't need unrolling as much as it currently is due to the overhead of the load/stores taking most of the time. (profiling shows minimal time difference) 2001-08-11 12:44:42 +00:00
bjh21
4dd0161267 Use STACKALIGN rather than &=~7. 2001-08-07 22:56:09 +00:00
bjh21
8fa03d16ac Add macros to hide the details of stack-pointer alignment. 2001-08-07 22:54:00 +00:00
bjh21
bd6d4d6b77 Use <arm/param.h> to get shared definitions. 2001-08-07 22:26:56 +00:00
bjh21
f37b49755f When delivering a signal, ensure that the stack is 8-byte-aligned. 2001-08-06 22:32:23 +00:00
chris
9522cf08d4 Share procfs_machdep.c across arm. 2001-08-05 13:09:45 +00:00
matt
9509e734a3 Force size_t formats/arge to be (u_long). I'd use 'z' for this but gcc
2.95.3
2001-08-05 05:07:27 +00:00
rjs
faf8b4c913 Update from hpcarm with changes to probe routine and test for chip ID. 2001-08-01 14:02:58 +00:00
matt
03b77c0534 Add a CPU_XSCALE defopt (for eventual support). 2001-07-31 17:00:24 +00:00
rjs
6b65fea380 Remove unused hpc includes. 2001-07-30 16:23:09 +00:00
rjs
9013c85405 Update from hpcarm to remove iPAQ egpio code. 2001-07-30 16:20:06 +00:00
rjs
51bc7258f8 Update from hpcarm with MCP base definition. 2001-07-30 16:08:42 +00:00
rjs
c79059dd3f Update from hpcarm to remove iPAQ and Jornada specific #defines. 2001-07-30 15:58:56 +00:00
rjs
b85ae98e65 Update from hpcarm with MCP register definition. 2001-07-30 12:19:04 +00:00
rjs
495d108bd3 Update from hpcarm with cookie change. 2001-07-30 10:55:49 +00:00
rjs
9b65c24aa5 Remove unused LCD definitions. 2001-07-30 10:50:59 +00:00
rjs
1304d2220e Mirror removal from hpcarm. 2001-07-30 10:48:31 +00:00
rjs
499d1068e8 Update from hpcarm. 2001-07-30 10:46:08 +00:00
rjs
e35b542831 Mirror removal from hpcarm. 2001-07-30 10:33:59 +00:00
rjs
730b1a57ac Copy from hpcarm. 2001-07-30 10:17:21 +00:00
chris
fa4e4d9668 Rework the pmap_release code to not have to walk the ptpt, it now uses a uvm_object to track the allocated vm_pages, this means it can free off the entries in the uvm_object.
Testing shows that it's about 5% faster on the make configure step for gmake.
2001-07-29 12:45:27 +00:00
chris
89415a32e2 PR 13581
Add empty pmap.h and vmparam.h to make userland happier.
2001-07-29 09:50:07 +00:00
chris
af16732a3a Fix for PR 13580.
Make sysarch include sys/stdint.h so it picks up the a definition of uintptr_t.
2001-07-29 08:37:56 +00:00
chris
9f04d8d670 A couple of tidy ups to pmap:
pmap_t -> struct pmap * in pmap.c and pmap.h
kernel_pmap -> pmap_kernel() everywhere.

Compiled and booted on riscpc and cats.
2001-07-28 18:12:43 +00:00
chris
4a126d9937 finish moving common arm32 bits out into arm/arm32. 2001-07-28 15:08:10 +00:00
chris
27f96e8440 Move the generic arm32 files into arm/arm32 from arm32/arm32, tested kernel builds on cats and riscpc. 2001-07-28 13:28:03 +00:00
chris
9c823196e0 Change -x into -X for linking, it makes traces more meaningful. 2001-07-28 13:24:24 +00:00
chris
37dc65af43 bzero->memset 2001-07-28 12:29:58 +00:00
matt
36dc943f75 Change ARM-ELF to LP64 friendly types. 2001-07-28 07:42:28 +00:00
matt
384a403ca5 Make sync_icache_args use more standard types. 2001-07-23 17:04:27 +00:00