--- qemu/roms/seabios/src/biosvar.h 2018/04/24 18:27:17 1.1.1.3 +++ qemu/roms/seabios/src/biosvar.h 2018/04/24 19:43:28 1.1.1.5 @@ -1,6 +1,6 @@ // Variable layouts of bios. // -// Copyright (C) 2008,2009 Kevin O'Connor +// Copyright (C) 2008-2010 Kevin O'Connor // // This file may be distributed under the terms of the GNU LGPLv3 license. #ifndef __BIOSVAR_H @@ -25,6 +25,12 @@ struct rmode_IVT { #define SET_IVT(vector, segoff) \ SET_FARVAR(SEG_IVT, ((struct rmode_IVT *)0)->ivec[vector], segoff) +#define FUNC16(func) ({ \ + ASSERT32FLAT(); \ + extern void func (void); \ + SEGOFF(SEG_BIOS, (u32)func - BUILD_BIOS_ADDR); \ + }) + /**************************************************************** * Bios Data Area (BDA) @@ -106,7 +112,8 @@ struct bios_data_area_s { struct segoff_s video_savetable; u8 other_ac[4]; // 40:B0 - u8 other_b0[10]; + u8 other_b0[9]; + u8 vbe_flag; u16 vbe_mode; } PACKED; @@ -232,6 +239,10 @@ struct extended_bios_data_area_s { u16 boot_sequence; + /* TSC emulation timekeepers */ + u64 tsc_8254; + int last_tsc_8254; + // Stack space available for code that needs it. u8 extra_stack[512] __aligned(8); } PACKED;