21 ms·
Yeah, the bootloader is responsible for the hardware stuff up to this point. It doesn't take that much more assembly code to bootstrap C in the Linux kernel on
by teraflop 5y ago
Yeah, the bootloader is responsible for the hardware stuff up to this point. It doesn't take that much more assembly code to bootstrap C in the Linux kernel on x86: https://github.com/torvalds/linux/blob/master/arch/x86/boot/header.S https://github.com/torvalds/linux/blob/master/arch/x86/boot/...
There are a bunch of other headers in that file, but the "start_of_setup:" label is what's invoked by the bootloader, and "calll main" transitions to C. So 32 lines of code, by my count.