copy / v86

x86 PC emulator and x86-to-wasm JIT, running in the browser
https://copy.sh/v86/
BSD 2-Clause "Simplified" License
19.46k stars 1.35k forks source link

Unimplemented: PAE #97

Closed Darker closed 2 years ago

Darker commented 8 years ago

This is a message I get when booting Debian 8. I know that's a new system but I thought it would be really cool to run actual modern working OS in the emulator. What would be needed to fix that error? I'm a javascript programmer and I'd really like to help!

warpcoil commented 8 years ago

PAE is the Physical Address Extensions of the Paging System on x86 platforms. You can find out more here:

http://wiki.osdev.org/PAE

It shouldn't be too difficult to extend the existing paging mechanism in v86 . . . I wouldn't be surprised if that was the only issue when booting Debian 8 though.

Darker commented 8 years ago

Well, I don't know anything about operating systems and low level operation. I guess I could follow some documentation and verbatim implement what the documentation says.

copy commented 8 years ago

PAE is described in this manual.

Normal 32-bit paging is implemented here. PAE paging follows the same structure, but there is an extra indirection, the tables have different sizes and each entry is 64 bit.

Note that PAE is actually quite useless since JavaScript can't address that much memory anyway. Actually, it's bad for performance (you can see that PAE translation is more complex that normal 32-bit translation). It would be a better idea to install Debian with a non-pae kernel. I'll give it a try.

I wouldn't be surprised if that was the only issue when booting Debian 8 though.

The only thing that comes to mind is MMX/SSE.

copy commented 8 years ago

Debian 8.4 boots perfectly fine after installing linux-image-586. Maybe I'll release this on the front page.

I'll leave this issue open for PAE anyway.

warpcoil commented 8 years ago

Yeah, I done some experiments too . . . Gentoo latest works as well

ayunami2000 commented 2 years ago

bump. even if it seems useless, many OSes (namely newer versions of windows) require this and refuse to boot without it.

iAmInActions commented 2 years ago

Any updates regarding this?

copy commented 2 years ago

v86 is small project with a small number of non-fulltime contributors. As far as I know, nobody is currently working on this. If you really want it, feel free to contribute it yourself.

iAmInActions commented 2 years ago

im not good at wasm so i probably cant help

BelleNottelling commented 2 years ago

PAE was recently added, any reason to keep this open?

copy commented 2 years ago

Nope, fixed in #599.

ayunami2000 commented 2 years ago

That's kinda sick ngl, can't wait to test this! Thank you so much for all the work put into this project, it really is awesome work that you are doing here!!

iAmInActions commented 2 years ago

Time to install Ubuntu 20.04 and Windows 7 or 8.1