[Info-vax] VMS device drivers

Single Stage to Orbit alex.buell at munted.eu
Fri Jan 12 14:47:31 EST 2024


On Fri, 2024-01-12 at 11:43 -0500, John Reagan wrote:
> While I'm not a device driver expert, x86 device drivers should
> function much like their prior counterparts.  There are a few areas
> that changed.
> 
> Interesting fields in the PTEs (page table entries) moved from the
> bottom 32-bits to the upper 32-bits (x86 architecture defined these)
> so Macro-32 written drivers had to inspect the various instructions
> and change to EVAX_ 64-bit instructions.  I believe that macros were
> written to hide those details but some drivers might have been
> rewritten into C in the process.  [I'm a big fan of eliminating
> Macro-32 code. I have a long-standing joke of paying $5 per module
> for any rewrite out of Macro-32 into ANY other language.]
> 
> The other area was with a concept SVAPTE (System Virtual Address PTE)
> where a piece of 64-bit memory was double-mapped to also be
> accessible using 32-bit system addresses.  Such a concept didn't fit
> with how the x86 memory management was going to work so all the
> SVAPTE references where modified/buried in a macro along with
> expansion of some of those 32-bit fields into 64-bit fields.  [Don't
> quote me on the exact details
> of these changes.]
> 
> However, there were no large conceptual changes to the device driver
> architecture for x86.

Interesting to know. Are there any documentation and are there any
example drivers that would be useful. I think a good starting point
might be to add USB drivers for keyboard and mouse input. These
definitely will be useful for bare metal on x86 hardware. 

Does x86 already has support for NVME and AHCI devices? 
-- 
Tactical Nuclear Kittens




More information about the Info-vax mailing list