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