diff options
author | H. Peter Anvin <hpa@zytor.com> | 2008-09-07 22:41:29 -0700 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2008-09-07 22:41:29 -0700 |
commit | c14f98ab23dbc912aa9db26d86434a4d2bd80a5f (patch) | |
tree | a0b1d6fd48ad30f8af19a88d11a8f4e61cebf52f /gpxe/src/arch/i386/include/librm.h | |
parent | 3506d7fb195922b04c941650b1512440bdcc89e4 (diff) | |
download | syslinux-c14f98ab23dbc912aa9db26d86434a4d2bd80a5f.tar.gz |
gPXE: update gPXE to current git
Update gPXE to current git.
gpxe-for-syslinux e3ef2094cfa26f874c5f8dbd687eb311830efcf0
gpxe main tree 8223084afc206000312611a3fcfa30a28500d1a3
Diffstat (limited to 'gpxe/src/arch/i386/include/librm.h')
-rw-r--r-- | gpxe/src/arch/i386/include/librm.h | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/gpxe/src/arch/i386/include/librm.h b/gpxe/src/arch/i386/include/librm.h index 31b50979..07a85c59 100644 --- a/gpxe/src/arch/i386/include/librm.h +++ b/gpxe/src/arch/i386/include/librm.h @@ -51,15 +51,17 @@ extern char *text16; ( * ( ( typeof ( _text16_ ## variable ) * ) \ & ( text16 [ ( size_t ) & ( _text16_ ## variable ) ] ) ) ) -#define __from_data16( variable ) \ - ( * ( ( typeof ( variable ) * ) \ - ( ( ( void * ) &(variable) ) - ( ( void * ) data16 ) ) ) ) +#define __from_data16( pointer ) \ + ( ( unsigned int ) \ + ( ( ( void * ) (pointer) ) - ( ( void * ) data16 ) ) ) -#define __from_text16( variable ) \ - ( * ( ( typeof ( variable ) * ) \ - ( ( ( void * ) &(variable) ) - ( ( void * ) text16 ) ) ) ) +#define __from_text16( pointer ) \ + ( ( unsigned int ) \ + ( ( ( void * ) (pointer) ) - ( ( void * ) text16 ) ) ) /* Variables in librm.S, present in the normal data segment */ +extern uint16_t rm_sp; +extern uint16_t rm_ss; extern uint16_t __data16 ( rm_cs ); #define rm_cs __use_data16 ( rm_cs ) extern uint16_t __text16 ( rm_ds ); @@ -277,6 +279,9 @@ user_to_phys ( userptr_t buffer, off_t offset ) { return virt_to_phys ( ( void * ) buffer + offset ); } +extern uint16_t copy_user_to_rm_stack ( userptr_t data, size_t size ); +extern void remove_user_from_rm_stack ( userptr_t data, size_t size ); + /* TEXT16_CODE: declare a fragment of code that resides in .text16 */ #define TEXT16_CODE( asm_code_str ) \ ".section \".text16\", \"ax\", @progbits\n\t" \ |