[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: New Vax - future directions :-)
> On Jul 4, 2021, at 10:10 AM, Jason Thorpe <thorpej%me.com@localhost> wrote:
> In 32-bit mode, just wire PG_DV to PG_IV internally before the TLB selection logic and have it work as it does today.
To clarify what I mean here, in pseudo-code:
DTLB_SEL := pte[PG_DV]
ITLB_SEL := pte[PG_IV] OR (DTLB_SEL AND (NOT PSL[PSL_VM64]))
...i.e. just a couple of gates to implement the 32-bit compatibility from the split TLBs.
Note, that to do this I think you kind of want separate PSL bits for the "64-bit mode":
PSL_64 -> full 64-bit mode (64-bit VM + 64-bit control flow insns)
PSL_VM64 -> (64-bit VM only)
This way you could have PSL_VM64 enabled for legacy 32-bit binaries that use the 32-bit control flow insns.
The control signal to enable the 64-bit VM path in the hardware could just be "PSL[PSL_64] OR PSL[PSL_VM64]", and then you can let PSL_64 get saved/restored with process context.
Main Index |
Thread Index |