Re: R5000SC issues and fix
Adrian Chadd <[email protected]> Fri, 5 Dec 2025 07:34:39 -0800
| Newsgroups | gmane.os.netbsd.ports.mips.devel |
|---|---|
| Message-ID | <CAJ-Vmom9O+bBdSz5ig5H68rYmyh8OSDNdLGGQJhF0XtgZt0-aQ@mail.gmail.com> |
On Fri, 5 Dec 2025 at 01:58, Izumi Tsutsui <[email protected]> wrote: > > > Simply reverting the math change done fixes it, ie: > > > > === > > diff --git a/sys/arch/mips/include/cache_r5k.h > > b/sys/arch/mips/include/cache_r5k.h > > index a59fa18fdc02..6bdf9bd688c2 100644 > > --- a/sys/arch/mips/include/cache_r5k.h > > +++ b/sys/arch/mips/include/cache_r5k.h > > @@ -68,6 +68,11 @@ void r5k_sdcache_wb_range(register_t, vsize_t); > > #define R5K_SC_PAGESIZE (R5K_SC_LINESIZE * 128) > > #define R5K_SC_PAGEMASK (R5K_SC_PAGESIZE - 1) > > > > +#if 0 > > #define mips_r5k_round_page(x) (((x) + (register_t)R5K_SC_PAGEMASK) \ > > & (register_t)R5K_SC_PAGEMASK) > > #define mips_r5k_trunc_page(x) ((x) & (register_t)R5K_SC_PAGEMASK) > > +#else > > +#define mips_r5k_round_page(x) round_line(x, PAGE_SIZE) > > +#define mips_r5k_trunc_page(x) trunc_line(x, PAGE_SIZE) > > +#endif > > === > > Ah, sorry, my serious botch. It should be: > > >> #define mips_r5k_round_page(x) (((x) + (register_t)R5K_SC_PAGEMASK) \ > >> & (register_t)~R5K_SC_PAGEMASK) > >> #define mips_r5k_trunc_page(x) ((x) & (register_t)~R5K_SC_PAGEMASK) I'll test with this today and report back! Thanks everyone! -adrian