So, I have a protected mode (32-bit, x86) assembly program that is loaded by GRUB2. It is multiboot-compatible. This program is just intended to be a game, not an operating system. Therefore I would like to use GRUB as a kind of program switcher.
Jumping back to 0x7C00 would obviously not work, because by the time my kernel is loaded the CPU is already in Protected Mode, and 0x7C00 is the entry point for real mode boot-sectors. So, where is the GRUB2 stage 2 bootloader loaded by stage 1? Does it get erased, assuming my program does not? Also, are there any other problems with simply jumping to the bootloader?
I want to do this without either switching to real mode or rebooting the machine.