mirror of https://github.com/ipxe/ipxe.git
[librm] Discard argument as part of return from prot_call()
Signed-off-by: Michael Brown <mcb30@ipxe.org>pull/45/head
parent
f468f12b1e
commit
9dc340d735
|
@ -663,7 +663,7 @@ void hook_comboot_interrupts ( ) {
|
|||
"pushl %0\n\t"
|
||||
"pushw %%cs\n\t"
|
||||
"call prot_call\n\t"
|
||||
"addw $4, %%sp\n\t"
|
||||
"clc\n\t"
|
||||
"call patch_cf\n\t"
|
||||
"iret\n\t" )
|
||||
: : "i" ( int20 ) );
|
||||
|
@ -675,7 +675,7 @@ void hook_comboot_interrupts ( ) {
|
|||
"pushl %0\n\t"
|
||||
"pushw %%cs\n\t"
|
||||
"call prot_call\n\t"
|
||||
"addw $4, %%sp\n\t"
|
||||
"clc\n\t"
|
||||
"call patch_cf\n\t"
|
||||
"iret\n\t" )
|
||||
: : "i" ( int21 ) );
|
||||
|
@ -687,7 +687,7 @@ void hook_comboot_interrupts ( ) {
|
|||
"pushl %0\n\t"
|
||||
"pushw %%cs\n\t"
|
||||
"call prot_call\n\t"
|
||||
"addw $4, %%sp\n\t"
|
||||
"clc\n\t"
|
||||
"call patch_cf\n\t"
|
||||
"iret\n\t" )
|
||||
: : "i" ( int22) );
|
||||
|
|
|
@ -9,7 +9,6 @@ void __asmcall _dump_regs ( struct i386_all_regs *ix86 ) {
|
|||
"pushl $_dump_regs\n\t"
|
||||
"pushw %%cs\n\t"
|
||||
"call prot_call\n\t"
|
||||
"addr32 leal 4(%%esp), %%esp\n\t"
|
||||
"ret\n\t" ) : : );
|
||||
|
||||
printf ( "EAX=%08x EBX=%08x ECX=%08x EDX=%08x\n"
|
||||
|
|
|
@ -536,7 +536,6 @@ static void bios_inject_startup ( void ) {
|
|||
"pushl %0\n\t"
|
||||
"pushw %%cs\n\t"
|
||||
"call prot_call\n\t"
|
||||
"addw $4, %%sp\n\t"
|
||||
"\n1:\n\t"
|
||||
"popfw\n\t"
|
||||
"ljmp *%%cs:int16_vector\n\t" )
|
||||
|
|
|
@ -123,7 +123,6 @@ pxenv_entry:
|
|||
pushl $pxe_api_call
|
||||
pushw %cs
|
||||
call prot_call
|
||||
addl $4, %esp
|
||||
lret
|
||||
.size pxenv_entry, . - pxenv_entry
|
||||
|
||||
|
|
|
@ -373,7 +373,6 @@ start_runtime:
|
|||
pushl $main
|
||||
pushw %cs
|
||||
call prot_call
|
||||
popl %ecx /* discard */
|
||||
|
||||
/* Uninstall iPXE */
|
||||
call uninstall
|
||||
|
|
|
@ -151,7 +151,6 @@ _exe_start:
|
|||
pushl $main
|
||||
pushw %cs
|
||||
call prot_call
|
||||
popl %ecx /* discard */
|
||||
|
||||
/* Uninstall iPXE */
|
||||
call uninstall
|
||||
|
|
|
@ -102,7 +102,6 @@ start_image:
|
|||
pushl $main
|
||||
pushw %cs
|
||||
call prot_call
|
||||
popl %ecx /* discard */
|
||||
|
||||
/* Uninstall iPXE */
|
||||
call uninstall
|
||||
|
|
|
@ -880,7 +880,6 @@ payload_death_message:
|
|||
movw %ax, (prot_call_vector+2)
|
||||
pushl $relocate
|
||||
lcall *prot_call_vector
|
||||
popl %edx /* discard */
|
||||
|
||||
/* Copy code to new location */
|
||||
progress " copy\n"
|
||||
|
|
|
@ -200,7 +200,6 @@ no_cmd_line:
|
|||
pushl $main
|
||||
pushw %cs
|
||||
call prot_call
|
||||
popl %ecx /* discard */
|
||||
|
||||
/* Uninstall iPXE */
|
||||
call uninstall
|
||||
|
|
|
@ -69,7 +69,6 @@ _nbi_start:
|
|||
pushl $main
|
||||
pushw %cs
|
||||
call prot_call
|
||||
popl %ecx /* discard */
|
||||
|
||||
/* Uninstall iPXE */
|
||||
call uninstall
|
||||
|
|
|
@ -823,7 +823,6 @@ run_ipxe:
|
|||
pushl $main
|
||||
pushw %cs
|
||||
call prot_call
|
||||
popl %ecx /* discard */
|
||||
|
||||
/* Uninstall iPXE */
|
||||
call uninstall
|
||||
|
|
|
@ -807,7 +807,6 @@ exec: /* Set %ds = %cs */
|
|||
pushl $main
|
||||
pushw %cs
|
||||
call prot_call
|
||||
popl %eax /* discard */
|
||||
|
||||
/* Set up flat real mode for return to BIOS */
|
||||
call flatten_real_mode
|
||||
|
|
|
@ -41,9 +41,7 @@ undiloader:
|
|||
pushw %ax
|
||||
pushw $prot_call
|
||||
lret
|
||||
1: popw %bx /* discard */
|
||||
popw %bx /* discard */
|
||||
/* Restore registers and return */
|
||||
1: /* Restore registers and return */
|
||||
popw %bx
|
||||
popw %es
|
||||
popw %ds
|
||||
|
|
|
@ -134,7 +134,6 @@ init_librm:
|
|||
pushl $init_idt
|
||||
pushw %cs
|
||||
call prot_call
|
||||
popl %eax /* discard */
|
||||
|
||||
/* Restore registers */
|
||||
negl %edi
|
||||
|
@ -385,8 +384,8 @@ rm_gdtr:
|
|||
*
|
||||
* Example usage:
|
||||
* pushl $pxe_api_call
|
||||
* pushw %cs
|
||||
* call prot_call
|
||||
* addw $4, %sp
|
||||
* to call in to the C function
|
||||
* void pxe_api_call ( struct i386_all_regs *ix86 );
|
||||
****************************************************************************
|
||||
|
@ -455,7 +454,7 @@ pc_rmode:
|
|||
*/
|
||||
addr32 movl -20(%esp), %esp
|
||||
popfl
|
||||
lret
|
||||
lret $4
|
||||
|
||||
/****************************************************************************
|
||||
* real_call (protected-mode near call, 32-bit virtual return address)
|
||||
|
@ -554,7 +553,6 @@ flatten_real_mode:
|
|||
pushl $flatten_dummy
|
||||
pushw %cs
|
||||
call prot_call
|
||||
addw $4, %sp
|
||||
/* Restore GDT */
|
||||
movb $0x00, real_cs + 6
|
||||
movb $0x00, real_ds + 6
|
||||
|
|
|
@ -108,7 +108,6 @@ static void librm_test_exec ( void ) {
|
|||
"pushl %k3\n\t"
|
||||
"pushw %%cs\n\t"
|
||||
"call prot_call\n\t"
|
||||
"addw $4, %%sp\n\t"
|
||||
"rdtsc\n\t" )
|
||||
: "=a" ( stopped ), "=d" ( discard_d ),
|
||||
"=R" ( started )
|
||||
|
|
Loading…
Reference in New Issue