X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=src%2Fbiosvar.h;fp=src%2Fbiosvar.h;h=808793d25f7b439bbdbc74bd888e2a7b26c602d8;hb=8f469b9676127ba6bb52609d89ec774e61db0ee1;hp=c67503cd5ef4a4e34b8812e3950fd832f8c28e45;hpb=575ffc8fd1127e3cb8fbb7f587cadfa85eb9b73d;p=seabios.git diff --git a/src/biosvar.h b/src/biosvar.h index c67503c..808793d 100644 --- a/src/biosvar.h +++ b/src/biosvar.h @@ -187,7 +187,7 @@ struct dpte_s { // ElTorito Device Emulation data struct cdemu_s { - struct drive_s *emulated_drive; + struct drive_s *emulated_drive_gf; u32 ilba; u16 buffer_segment; u16 load_segment; @@ -329,12 +329,12 @@ static inline u16 get_global_seg(void) { (var) = (val); \ } while (0) #if MODESEGMENT -#define STORE_GLOBAL_PTR(var) (var) -#define RETRIEVE_GLOBAL_PTR(var) (var) +#define GLOBALFLAT2GLOBAL(var) ((typeof(var))((void*)(var) - BUILD_BIOS_ADDR)) #else -#define STORE_GLOBAL_PTR(var) ((typeof(var))((void*)var - BUILD_BIOS_ADDR)) -#define RETRIEVE_GLOBAL_PTR(var) ((typeof(var))((void*)var + BUILD_BIOS_ADDR)) +#define GLOBALFLAT2GLOBAL(var) (var) #endif +// Access a "flat" pointer known to point to the f-segment. +#define GET_GLOBALFLAT(var) GET_GLOBAL(*GLOBALFLAT2GLOBAL(&(var))) /****************************************************************