inb(PORT_CMOS_DATA);
}
-#define ASM32_SWITCH16 " .code16\n"
-#define ASM32_BACK32 " .code32\n"
+#define ASM32_SWITCH16 " .pushsection .text.32fseg." UNIQSEC "\n .code16\n"
+#define ASM32_BACK32 " .popsection\n .code32\n"
#define ASM16_SWITCH32 " .code32\n"
#define ASM16_BACK16 " .code16gcc\n"
return ret;
}
-u32 FUNCFSEG
+static u32
call16_smm(u32 eax, u32 edx, void *func)
{
ASSERT32FLAT();
}
// Jump back to 16bit mode while in 32bit mode from call32_sloppy()
-u32 FUNCFSEG
+static u32
call16_sloppy(u32 eax, u32 edx, void *func)
{
ASSERT32FLAT();
}
// Call a 16bit SeaBIOS function from a 32bit SeaBIOS function.
-u32 FUNCFSEG
+static u32
call16(u32 eax, u32 edx, void *func)
{
ASSERT32FLAT();
}
// Call a 16bit SeaBIOS function in "big real" mode.
-u32 FUNCFSEG
+static u32
call16big(u32 eax, u32 edx, void *func)
{
ASSERT32FLAT();
# define VARFSEG __section(".discard.varfseg." UNIQSEC) __VISIBLE __weak
// Designate a variable at a specific address in the f-segment.
# define VARFSEGFIXED(addr) __section(".discard.varfixed." UNIQSEC) __VISIBLE __weak
-// Notes a 32bit flat function that must reside in the f-segment.
-# define FUNCFSEG __section(".discard.32fseg." UNIQSEC) __VISIBLE __weak
// Verify a variable is only accessable via 32bit "init" functions
# define VARVERIFY32INIT __section(".discard.varinit." UNIQSEC)
// Designate top-level assembler as 16bit only.
# define VARLOW __section(".discard.varlow." UNIQSEC) __VISIBLE __weak
# define VARFSEG __section(".discard.varfseg." UNIQSEC) __VISIBLE __weak
# define VARFSEGFIXED(addr) __section(".discard.varfixed." UNIQSEC) __VISIBLE __weak
-# define FUNCFSEG __section(".discard.32fseg." UNIQSEC) __VISIBLE __weak
# define VARVERIFY32INIT __section(".discard.varinit." UNIQSEC)
# define ASM16(code)
# define ASM32FLAT(code)
# define VARLOW __section(".data.varlow." UNIQSEC) __VISIBLE __weak
# define VARFSEG __section(".data.varfseg." UNIQSEC) __VISIBLE
# define VARFSEGFIXED(addr) __section(".fixedaddr." __stringify(addr)) __VISIBLE __aligned(1)
-# define FUNCFSEG __section(".text.32fseg." UNIQSEC) __VISIBLE
# define VARVERIFY32INIT __section(".data.varinit." UNIQSEC)
# define ASM16(code)
# define ASM32FLAT(code) __ASM(code)