[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 2/5] Hack to make sure that drivers like AppleIntel8
From: |
Reimar Döffinger |
Subject: |
[Qemu-devel] [PATCH 2/5] Hack to make sure that drivers like AppleIntel8255x will not meddle with the RU/CU state when the ACK the interrupt with a 16 bit write. |
Date: |
Tue, 11 Aug 2009 23:14:56 +0200 |
User-agent: |
Mutt/1.5.20 (2009-06-14) |
This patch ensures that a driver will not accidentally/incorrectly change the
RU/CU state with a write.
This is incomplete and a bit ugly, but good enough for these drivers.
The reason this is an issue is that the drivers ACK interrupts with a 16 bit
write to the status word, with the lower bits having a value of 0.
Signed-off-by: Reimar Döffinger <address@hidden>
---
hw/eepro100.c | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/hw/eepro100.c b/hw/eepro100.c
index bf5d920..f619d36 100644
--- a/hw/eepro100.c
+++ b/hw/eepro100.c
@@ -1249,7 +1249,11 @@ static void eepro100_write1(EEPRO100State * s, uint32_t
addr, uint8_t val)
static void eepro100_write2(EEPRO100State * s, uint32_t addr, uint16_t val)
{
if (addr <= sizeof(s->mem) - sizeof(val)) {
+ ru_state_t rtmp = get_ru_state(s);
+ cu_state_t ctmp = get_cu_state(s);
memcpy(&s->mem[addr], &val, sizeof(val));
+ set_cu_state(s, ctmp);
+ set_ru_state(s, rtmp);
}
logout("addr=%s val=0x%04x\n", regname(addr), val);
--
1.6.4
- [Qemu-devel] [PATCH] Intel 8255x/eepro100 compatibility patches, Reimar Döffinger, 2009/08/09
- Re: [Qemu-devel] [PATCH] Intel 8255x/eepro100 compatibility patches, Stefan Weil, 2009/08/10
- Re: [Qemu-devel] [PATCH] Intel 8255x/eepro100 compatibility patches, Reimar Döffinger, 2009/08/11
- Re: [Qemu-devel] [PATCH] Intel 8255x/eepro100 compatibility patches, Anthony Liguori, 2009/08/11
- [Qemu-devel] [PATCH 1/5] Setting the MDI SCBAck flag when interrupts for MDI are disabled is wrong, even if it does not seem to cause any real issue with known drivers., Reimar Döffinger, 2009/08/11
- [Qemu-devel] [PATCH 2/5] Hack to make sure that drivers like AppleIntel8255x will not meddle with the RU/CU state when the ACK the interrupt with a 16 bit write.,
Reimar Döffinger <=
- [Qemu-devel] [PATCH 3/5] Add support for receiving via receive buffers. While the Intel documentation claims this is unsupported, the OS X drivers use it, causing an assertion failure since rx buffer size is 0., Reimar Döffinger, 2009/08/11
- Re: [Qemu-devel] [PATCH 3/5] Add support for receiving via receive buffers. While the Intel documentation claims this is unsupported, the OS X drivers use it, causing an assertion failure since rx buffer size is 0., malc, 2009/08/11
- Re: [Qemu-devel] [PATCH 3/5] Add support for receiving via receive buffers. While the Intel documentation claims this is unsupported, the OS X drivers use it, causing an assertion failure since rx buffer size is 0., Reimar Döffinger, 2009/08/11
- Re: [Qemu-devel] [PATCH 3/5] Add support for receiving via receive buffers. While the Intel documentation claims this is unsupported, the OS X drivers use it, causing an assertion failure since rx buffer size is 0., malc, 2009/08/12
- Re: [Qemu-devel] [PATCH 3/5] Add support for receiving via receive buffers. While the Intel documentation claims this is unsupported, the OS X drivers use it, causing an assertion failure since rx buffer size is 0., Anthony Liguori, 2009/08/12
- Re: [Qemu-devel] [PATCH 3/5] Add support for receiving via receive buffers. While the Intel documentation claims this is unsupported, the OS X drivers use it, causing an assertion failure since rx buffer size is 0., Reimar Döffinger, 2009/08/13
- [Qemu-devel] [PATCH 4/5] Short frames do not exist, so remove code to handle them. Also expand packets that are smaller than the shor frame limit, otherwise the OS X network stack seems to discard them., Reimar Döffinger, 2009/08/11
- [Qemu-devel] [PATCH 5/5] Set the RU state to ru_no_resources instead of asserting when we used up the last receive buffer. This should not usually happen with good drivers, but it can happen with the OS X drivers at least., Reimar Döffinger, 2009/08/11
- Re: [Qemu-devel] [PATCH 6/5] Implement the trivial diagnose CU and RU abort commands. These are necessary to make the device work with OpenSolaris 0609 (111b)., Reimar Döffinger, 2009/08/12