Commit Graph

434 Commits

Author SHA1 Message Date
matt
7effaaaa7c Disable interrupts when dealing with pvo lists. clean up some things.
Keep track of executable ness of pages.  Of sync icache executable pages.
2001-06-23 03:17:32 +00:00
matt
dde0daca06 Use __asm __volatile. Use _POWERPC_SPR_H_
Add PTE_RO/PTE_RW for old pmap.
2001-06-23 03:16:11 +00:00
matt
e25aa0ea82 Use pmap_kenter_pa instead of pmap_enter for phys_map 2001-06-23 03:10:59 +00:00
matt
5d30ec2c7e Use SPR_xxx for the *MISS HASH CMP, etc. 2001-06-23 02:36:14 +00:00
simonb
363019a6c1 Add a db_active variable that indicates if a call to the debugger is
active.  Seems to be required by the MI com driver nowadays.
2001-06-22 11:40:41 +00:00
simonb
7fe4c3ba1d Make this compile when DEBUG isn't defined. 2001-06-22 03:25:39 +00:00
matt
41d73006f1 DMISS/DCMP/HASH1/HASH2/IMISS/ICMP/RPA are also valid on the MPC6XX
(specially the 603 and maybe the 601)
2001-06-22 00:01:25 +00:00
matt
6d3037579c Change a debugging message a bit. 2001-06-21 22:05:50 +00:00
matt
756d684c5a Rename/enumerate the PTE protection bits to their real purposes. 2001-06-21 18:03:37 +00:00
matt
467c0ed022 Rework pmap_bootstrap. Fix some comments. Add old copyright until i finish
excising that code.
2001-06-21 03:26:12 +00:00
briggs
279833d138 Build for kgdb as well as for ddb (mutually exclusive). 2001-06-20 02:40:14 +00:00
simonb
d4bcd9c735 Add/change prototypes so that macpcc builds with -Wstrict-prototypes. 2001-06-19 12:02:55 +00:00
simonb
97b16e911f Move the DSISR SPR bit definitions from <powerpc/mpc6xx/pte.h> to
<powerpc/spr.h>.  Remove unused ISI/SRR1 bit definitions.
2001-06-19 07:14:23 +00:00
christos
59abdecf4b Add a linux specific trapsignal() function. This is just a passthrough
on all platforms but the i386. On the i386 we look at T_PROTFLT and send
a SIGSEGV instead of SIGBUS. This makes allegro lisp 5.0 and pvs (a proof
verification system) to work.

XXX[1]: We need to go through each architecture and verify that we send
        the correct signal on each trap type.
XXX[2]: trap.c on all other architectures but i386 needs to be modified
        to s/trapsignal/(*p->p_emul->e_trapsignal)/g
2001-06-18 02:04:42 +00:00
tsubai
91f99e1981 Forgot to commit this -- move file .../bus_dma.c line to files.${machine}. 2001-06-17 19:32:17 +00:00
simonb
56151c1fef Make this compile and work for the IBM 4xx series CPUs. 2001-06-17 13:39:33 +00:00
simonb
d70d5d1ee0 Use _C_LABEL() for externally referenced symbols. 2001-06-17 13:39:02 +00:00
simonb
0647591d3a Globalise "trapexit" for new ddb tracing changes. 2001-06-17 13:38:33 +00:00
matt
38fc9e283d Fix pte_spill to set the index on the proper pvo. Deal with recursion
in pmap_syncicache.
2001-06-16 03:32:48 +00:00
matt
979edf3c4a pmap_syncicache can be called recursively. Properly deal with that
situation.
2001-06-15 22:28:54 +00:00
matt
60f8375758 Replace printf with (*pr) 2001-06-15 22:27:07 +00:00
matt
e55c9f74af Add missing braces in pmap_pte_to_pvo (DEBUG|PMAPCHECK defined). Rearrange
some code so that consistency check in pmap_pte_to_pvo do not trigger on
false positives.  Correct/enhance some printfs.
2001-06-15 21:29:54 +00:00
matt
25a2c4d481 While not stricly needed, to match pmap_pvo_find_va, mask of the page
offset bits.
2001-06-15 20:53:45 +00:00
matt
787e1b0b36 When comparing VA's, ignore the page offset bits.
Invert and strengthen a test for pte equality.
2001-06-15 20:43:01 +00:00
matt
c7c7dab8f1 Stop overloading unused bits in the pte. Use the low 12bits of the vaddr
instead to store them.  Add a macro to fetch the vaddr without them.
Make all variables/routines prefixed with pmap_
Cleanup & fix some of the vsid bitmap usage.
Cleanup DEBUG printfs.  Add some more checks to pmap_pvo_to_pte.
2001-06-15 18:26:06 +00:00
matt
192642af05 Don't enable PMAPCHECK by default. 2001-06-15 08:17:00 +00:00
matt
f6b81171c1 Globalize trapexit. Improve db_trace.c so that you can trace thru traps!
Rework the output so that is also prints the frame address by default.
2001-06-15 08:09:33 +00:00
matt
0278444e19 Add a check to pvo_check which makes sure the pte is really in the
pteg_table.   In pte_to_va, take into account if the PTE_HID is set.
2001-06-15 08:08:04 +00:00
matt
ab92d9cd59 phys_map should use kenter/kremove 2001-06-15 08:07:03 +00:00
matt
816a5637cd When releasing the SR VSID, mask off the bits not related to the index
in the pmap vsid bitmap.
2001-06-15 06:27:07 +00:00
simonb
18b2f7e6a1 Add a port to IBM's PPC405GP Reference Board (the "walnut")
by Eduardo Horvath and Simon Burge of Wasabi Systems.

IBM 4xx series CPU features:
 - New pmap and revised trap handler.
 - Support on-chip timers, PCI controller, UARTs
 - Framework for on-chip ethernet and watchdog timer.
General PowerPC features:
 - Add in-kernel PPC floating point emulation
 - New in{,4}_cksum that is between 1.5 and 5 times faster than the
   old version depending on CPU type.
General changes:
 - Kernel support for generic dbsym-style symbols.
2001-06-13 06:01:44 +00:00
tsubai
713feac239 Include powerpc/mpc6xx/{bat.h,pte.h} if PPC_MPC6XX is defined. 2001-06-12 17:20:50 +00:00
simonb
0bdd2faeed Get the opcode mask right for almost all the Op_OE opcodes (only two were
correct).
2001-06-12 05:31:44 +00:00
tsubai
a3496ef8a8 When invoking the pcb_onfault mechanism, pass the return value of uvm_fault()
to the onfault routine.
2001-06-10 16:31:59 +00:00
tsubai
29d06d028c Fix printf format error. 2001-06-10 15:54:05 +00:00
tsubai
bedfcf904c libkern.h is included in systm.h. Not needed here. 2001-06-10 15:05:44 +00:00
tsubai
5a051092e4 Rename ofb_softc to ofbus_softc. (XXX Is this good name?) 2001-06-10 11:36:03 +00:00
tsubai
f6482742de pte_spill -> pmap_pte_spill. 2001-06-10 11:09:28 +00:00
tsubai
fafb5d4bc3 Make the new pmap optional. Use the old (stable!) pmap by default. 2001-06-10 11:01:26 +00:00
matt
66822e55be Fix a spl issues. Turn on PMAPCHECK until instability problems are found.
Add a pmap_pvo_verify call you call it from it ddb and verify the pmap
data structures are sound.  Fix warnings when DEBUG was turned on.
2001-06-10 07:56:36 +00:00
matt
b9ef9e99da Print a more informative is a uncatchabl DSI or ISI exeception happens in
kernel mode.
2001-06-10 07:49:13 +00:00
briggs
c97896cd4d Pull avail_start/avail_end logic for bus_dmamem_alloc() from macppc port,
as suggested by matt@netbsd.org--the vm_physmem array may not be in order.
2001-06-10 02:31:25 +00:00
briggs
a2b115fa4c Up the default # of NMBCLUSTERS to 2048 (GATEWAY) & 1024 (non-GATEWAY)
from 512/256.
2001-06-10 02:28:57 +00:00
matt
f6d422beb8 Fix warning about braces & if. Include libkern.h for strncpy prototype 2001-06-08 00:21:45 +00:00
matt
75a27eccff Rename pte_spill to pmap_pte_spill. Fix pmap_clear_{referenced,modify}
to return the previous state of the bit.  Make it compile under
-Wmissing-prototypes -Wall.  Change around some debug stuff.
2001-06-08 00:16:24 +00:00
matt
e38a49d835 Include a common bus.h and bus_dma.c that powerpc ports can use
if they so choose.
2001-06-06 17:37:37 +00:00
matt
938edd5b75 Introduce a new & faster pmap for the MPC6xx (60x, 7xx, 7xxx) PPC CPUs.
Move MPC6xx dependent header files to powerpc/include/mpc6xx/
2001-06-06 17:36:01 +00:00
chs
821ec03ed9 replace vm_map{,_entry}_t with struct vm_map{,_entry} *. 2001-06-02 18:09:08 +00:00
tsubai
1a891f65d4 One more gcc-2.95 issue. 2001-05-31 09:19:25 +00:00
tsubai
ba87a6d444 Add gcc-2.95 version. 2001-05-30 20:37:48 +00:00