Open Soveu opened 3 years ago
I'd also include the unprivileged RISC-V spec since that contains the Zicsr
extension, as well as other important info, such as the memory model.
I'd also include the unprivileged RISC-V spec since that contains the
Zicsr
extension, as well as other important info, such as the memory model.
If we want to link whole specs, for consistency we should do it for all architectures
I don't think I'm particularly opposed but perhaps should find a set of commonly-used architectures (e.g. probably also include recent ARM manuals as well, cc @Evrey) so we don't have an ocean of them :D I think x86{_64}, RISC-V, ARM, and maybe one or two others like MIPS or PowerPC?
x86_64
- I think everyone with a pc from last decade has it, the same should be true for UEFIRISC-V
- niceARM
- \<insert any fruit> pi, maybe the newest macs, idk if mobile cpus support virtualization
v7 is the most popular, is there any reason to go lower?maybe one or two others like MIPS or PowerPC?
I would choose PowerPC, because some people can actually have some hardware with it: older macs and consoles, some servers MIPS - idk, never heard about it besides embedded stuff
As a bonus I think we should have some references to "forgotten" architectures like sparc or itanium, it is just an interesting piece of history
Regarding ARM:
For reasons unknown there are no direct PDF links that I can find. So instead I'll link to some SoCs that I've encountered at least once, though not always hands-on, which might be interesting for barebones kernel dev :)
I'd not filter by CPU ISA and just include any manuals for devices on which modern OSdev can be done. Be it ARMv7+, MIPS, PowerPC, RISC-V, some thing i never heard of, or x86_64.
ARM's tricky. I'll crawl something together, but the RasPi docs are scattered all around and strangely ordered and at times surprisingly lacking. And let's not even get started on the utter undocumented mess that is phones.
Apparently there's gonna be new interrupt/supervisor call stuff for x86_64.
Accidental gold mine of Torvalds ranting about microkernels :D
AMD64 Programmer's Manual, Volume 2: System Programming Intel 64 and IA-32 Software Developer's Manual, Volume 3: System Programming Guide RISC-V ISA Specification, Volume 2: Priviliged Specification UEFI Specification ACPI Specification (I haven't used it yet)