diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2009-01-19 19:25:21 -0500 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2009-01-19 19:25:21 -0500 |
commit | 8b267cb8a739576cd08c82d0ee75d6b14407c09c (patch) | |
tree | 3ce86bab73a41627f56d4c658b79fc10a891509b /src/biosvar.h | |
parent | 79f4118e50ce256994b75b99811ceb0e6a812a13 (diff) | |
download | seabios-8b267cb8a739576cd08c82d0ee75d6b14407c09c.tar.gz |
Implement memcpy_far and checksum_far, and replace _fl variants.
The "flat" mode variants work in real mode, but will not work in
protected mode. So, replace with versions that take explicit
segments.
Diffstat (limited to 'src/biosvar.h')
-rw-r--r-- | src/biosvar.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/biosvar.h b/src/biosvar.h index 4d3b3f0d..28f956fc 100644 --- a/src/biosvar.h +++ b/src/biosvar.h @@ -258,8 +258,12 @@ get_ebda_ptr() * Global variables ****************************************************************/ -#define GET_GLOBAL(var) \ - GET_VAR(CS, (var)) +#define GLOBAL_SEGREG CS +static inline u16 get_global_seg() { + return GET_SEG(GLOBAL_SEGREG); +} +#define GET_GLOBAL(var) \ + GET_VAR(GLOBAL_SEGREG, (var)) #define SET_GLOBAL(var, val) do { \ extern void __force_link_error__set_global_only_in_32bit(); \ if (MODE16) \ |