.section ".text", "ax" .org 0x200 .global entry64 entry64: // 64-bit entry point for kernel decompression // get the cckernel image base. if the opcode generated by the assembler changes, this will break lea -0x207(%rip), %rdi // we might get some stack space from the previous kernel, but we have no idea how much // it could just be a few bytes for all we know. it's far safer to just use our own mov $einit_stack, %rsp mov %rsp, %rbp // lets get out of here -- ccmain(rdi: IMGBASE, rsi: BOOTPARAMS) call ccmain // what the fuck is going on, why have you returned here, was my work not enough for you // ungrateful fucking machine. away with you, you do not deserve the privilege of my // loving grace. int3 int3 int3 int3 // begone cli 1: hlt jmp 1b .section ".bss" init_stack: // this should be sufficient for kernel decompression .skip 0x8000, 0 einit_stack: