mirror of
https://github.com/clearlinux/kvmtool.git
synced 2026-09-04 20:51:28 +00:00
kvm tools, bios: Introduce bioscall specificator
We are to be sure how arguments are passed from bios assembler code to C code. Just for sure. Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by: Pekka Enberg <penberg@kernel.org>
This commit is contained in:
committed by
Will Deacon
parent
fbfe68b74e
commit
97a2dda645
+1
-1
@@ -77,7 +77,7 @@ ENTRY(bios_int15)
|
||||
pushl %ebx
|
||||
pushl %eax
|
||||
|
||||
movl %esp, %eax
|
||||
movl %esp, %eax # it's bioscall case
|
||||
call e820_query_map
|
||||
|
||||
popl %eax
|
||||
|
||||
+1
-1
@@ -18,7 +18,7 @@ static inline uint8_t rdfs8(unsigned long addr)
|
||||
return v;
|
||||
}
|
||||
|
||||
void e820_query_map(struct e820_query *query)
|
||||
bioscall void e820_query_map(struct e820_query *query)
|
||||
{
|
||||
uint8_t map_size;
|
||||
uint16_t fs_seg;
|
||||
|
||||
@@ -62,4 +62,10 @@
|
||||
#define BIOS_NEXT_IRQ_ADDR(addr, size) \
|
||||
ALIGN((addr + size + 1), 16)
|
||||
|
||||
/*
|
||||
* When interfere with assembler code we need to be sure how
|
||||
* arguments are passed in real mode.
|
||||
*/
|
||||
#define bioscall __attribute__((regparm(3)))
|
||||
|
||||
#endif /* BIOS_H_ */
|
||||
|
||||
Reference in New Issue
Block a user