mirror of
https://github.com/xcat2/xNBA.git
synced 2024-12-14 23:31:39 +00:00
rm_ss, rm_sp, and pm_esp don't need to be accessed from anywhere
outside of librm.S.
This commit is contained in:
parent
b8a8eea850
commit
0ed066bc50
@ -60,9 +60,6 @@ extern char *text16;
|
||||
( ( ( void * ) &(variable) ) - ( ( void * ) text16 ) ) ) )
|
||||
|
||||
/* Variables in librm.S, present in the normal data segment */
|
||||
extern uint16_t rm_sp;
|
||||
extern uint16_t rm_ss;
|
||||
extern uint32_t pm_esp;
|
||||
extern uint16_t __data16 ( rm_cs );
|
||||
#define rm_cs __use_data16 ( rm_cs )
|
||||
extern uint16_t __text16 ( rm_ds );
|
||||
|
@ -528,11 +528,8 @@ rc_function: .word 0, 0
|
||||
****************************************************************************
|
||||
*/
|
||||
.section ".data"
|
||||
.globl rm_sp
|
||||
rm_sp: .word 0
|
||||
.globl rm_ss
|
||||
rm_ss: .word 0
|
||||
.globl pm_esp
|
||||
pm_esp: .long _estack
|
||||
|
||||
/****************************************************************************
|
||||
|
@ -1,48 +0,0 @@
|
||||
/*
|
||||
* librm: a library for interfacing to real-mode code
|
||||
*
|
||||
* Michael Brown <mbrown@fensystems.co.uk>
|
||||
*
|
||||
*/
|
||||
|
||||
#ifdef KEEP_IT_REAL
|
||||
/* Build a null object under -DKEEP_IT_REAL */
|
||||
#else
|
||||
|
||||
#include <stdint.h>
|
||||
#include <librm.h>
|
||||
|
||||
/*
|
||||
* This file provides functions for managing librm.
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* Allocate space on the real-mode stack and copy data there.
|
||||
*
|
||||
*/
|
||||
uint16_t copy_to_rm_stack ( void *data, size_t size ) {
|
||||
#ifdef DEBUG_LIBRM
|
||||
if ( rm_sp <= size ) {
|
||||
printf ( "librm: out of space in RM stack\n" );
|
||||
lockup();
|
||||
}
|
||||
#endif
|
||||
rm_sp -= size;
|
||||
copy_to_real ( rm_ss, rm_sp, data, size );
|
||||
return rm_sp;
|
||||
};
|
||||
|
||||
/*
|
||||
* Deallocate space on the real-mode stack, optionally copying back
|
||||
* data.
|
||||
*
|
||||
*/
|
||||
void remove_from_rm_stack ( void *data, size_t size ) {
|
||||
if ( data ) {
|
||||
copy_from_real ( data, rm_ss, rm_sp, size );
|
||||
}
|
||||
rm_sp += size;
|
||||
};
|
||||
|
||||
#endif /* KEEP_IT_REAL */
|
Loading…
Reference in New Issue
Block a user