Port-vax archive

[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.

-- thorpej



Home | Main Index | Thread Index | Old Index