80386 Protection
46 points
2 days ago
| 3 comments
| nand2mario.github.io
| HN
4j452j45nj
35 seconds ago
[-]
ah, PDE/PTE A/D writes... what a source of variety over the decades!

some chips set them step by step, as shown in the article

others only set them at them very end, together

and then there are chips which follow the read-modify-write op with another read, to check if the RMW succeeded... which promptly causes them to hang hard when the page tables live in read-only memory i.e. ROM... fun fun fun!

as for segmentation fun... think about CS always being writeable in real mode... even though the access rights only have a R but no W bit for it...

reply
jejgkgkldl
1 hour ago
[-]
Article states that win 3.0 used 32-bit flat addressing mode, but when win 95 launched ms said win 3.0 didn’t (in 386 mode).
reply
this-is-why
54 minutes ago
[-]
It used segmented 32-bit mode. Flat mode doesn’t support virtual addressing which was accomplished with the descriptor tables (and the ES register) if I recall correctly. lol it’s been 33 years since I wrote windows drivers. Had to use masm to compile the 16-bit segments to thunk to the kernel
reply
shakna
1 hour ago
[-]
Pretty sure Enhanced Mode, that only came later in Windows 3.11 for Workgroup, is the one that supported the flat addressing mode.
reply
vasvir
44 minutes ago
[-]
yep that's my recollection too
reply
icanhasjonas
2 hours ago
[-]
Made me think of the old Desqview
reply