Created
November 26, 2025 16:46
-
-
Save tsutsui/91276d5fb62a881b594d8bc9f71c9047 to your computer and use it in GitHub Desktop.
NetBSD/m68k 11.99.4 (20251126) new pmap patch for 040 (and nono 1.6.2)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Index: pmap_68k.c | |
| =================================================================== | |
| RCS file: /cvsroot/src/sys/arch/m68k/m68k/pmap_68k.c,v | |
| retrieving revision 1.29 | |
| diff -u -p -d -r1.29 pmap_68k.c | |
| --- pmap_68k.c 24 Nov 2025 21:56:19 -0000 1.29 | |
| +++ pmap_68k.c 26 Nov 2025 16:44:43 -0000 | |
| @@ -1600,8 +1600,10 @@ pmap_pv_pte(struct pv_entry * const pv) | |
| * the storage for the new PV entry. | |
| * | |
| * We are responsible for storing the new PTE into the destination | |
| - * table. We are also guaranteed that no mapping exists there, so | |
| - * no ATC invlidation for the new mapping is required. | |
| + * table. We are also guaranteed that no mapping exists there, but | |
| + * at least 851/030 ATC has "negative" entry which could cause a | |
| + * bus error without table search, so explicit ATC invlidation for | |
| + * the new mapping is also required. | |
| */ | |
| static void | |
| pmap_pv_enter(pmap_t pmap, struct vm_page *pg, vaddr_t va, | |
| @@ -1651,6 +1653,11 @@ pmap_pv_enter(pmap_t pmap, struct vm_pag | |
| } | |
| #endif | |
| + /* XXX debug 040 */ | |
| + if (active_pmap(pmap)) { | |
| + TBIS(va); | |
| + } | |
| + | |
| /* | |
| * If the page is marked as being cache-inhibited, it means | |
| * there is at least one user-requested CI mapping already | |
| @@ -2680,6 +2687,11 @@ pmap_enter(pmap_t pmap, vaddr_t va, padd | |
| * will also set the PTE in the table. | |
| */ | |
| pmap_pv_enter(pmap, pg, va, pt, npte, newpv); | |
| + /* XXX debug 040 */ | |
| + if (MMU_IS_68040_CLASS) { | |
| + DCFP(pa); | |
| + ICPP(pa); | |
| + } | |
| /* | |
| * The new mapping takes ownership of the PT |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment