When trying to boot skift using limine I was still getting an invalid address for the stivale struct. Pushing an additional 0 where the return address should have been fixed the issue.