aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJavier <dev.git@javispedro.com>2022-04-19 23:00:53 +0200
committerJavier <dev.git@javispedro.com>2022-04-19 23:00:53 +0200
commitb6556bd2f9da23499cdef864ecd71a8eaf3b9b66 (patch)
tree6656912d4bda66f5908c0879c020405722439856
parentdc407cef2bcaa4d4524354608674862830d1877e (diff)
downloadvbados-b6556bd2f9da23499cdef864ecd71a8eaf3b9b66.tar.gz
vbados-b6556bd2f9da23499cdef864ecd71a8eaf3b9b66.zip
fix register clobbering in ps2 calls
-rw-r--r--int15ps2.h6
-rw-r--r--vbox.h2
2 files changed, 4 insertions, 4 deletions
diff --git a/int15ps2.h b/int15ps2.h
index 847435d..95bedf7 100644
--- a/int15ps2.h
+++ b/int15ps2.h
@@ -97,7 +97,7 @@ static ps2m_err ps2m_init(uint8_t packet_size);
"end:" \
__parm [bh] \
__value [ah] \
- __modify [ax]
+ __modify [ax bx]
static ps2m_err ps2m_reset(void);
#pragma aux ps2m_reset = \
@@ -110,7 +110,7 @@ static ps2m_err ps2m_reset(void);
"dec ah" \
"end:" \
__value [ah] \
- __modify [ax]
+ __modify [ax bx]
static ps2m_err ps2m_get_device_id(uint8_t __far *device_id);
#pragma aux ps2m_get_device_id = \
@@ -125,7 +125,7 @@ static ps2m_err ps2m_get_device_id(uint8_t __far *device_id);
"end:" \
__parm [es di] \
__value [ah] \
- __modify [ax]
+ __modify [ax bx]
static ps2m_err ps2m_set_resolution(uint8_t resolution);
#pragma aux ps2m_set_resolution = \
diff --git a/vbox.h b/vbox.h
index d47c01a..e2eb0ec 100644
--- a/vbox.h
+++ b/vbox.h
@@ -60,7 +60,7 @@ static void vbox_send_request(uint16_t iobase, uint32_t addr);
"out dx, eax" \
"pop eax" \
__parm [dx] [bx ax] \
- __modify [dx]
+ __modify []
/** Finds the VirtualBox PCI device and reads the current IO base.
* @returns 0 if the device was found. */