[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 5/6] rtl8139: correctly check the opmode
From: |
Jason Wang |
Subject: |
[Qemu-devel] [PATCH 5/6] rtl8139: correctly check the opmode |
Date: |
Mon, 05 Mar 2012 11:08:59 +0800 |
User-agent: |
StGit/0.15 |
According to the spec, only when opmode is "Config. Register Write
Enable" could driver write to CONFIG0,1,3,4 and bits 13,12,8 of BMCR.
Currently, we allow modifying to those registers also when 8139 is in
"Auto-load" mode and "93C46 (93C56) Programming" mode. This patch
fixes this.
Signed-off-by: Jason Wang <address@hidden>
---
hw/rtl8139.c | 8 +++++---
1 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/hw/rtl8139.c b/hw/rtl8139.c
index 509a53e..2e3da0b 100644
--- a/hw/rtl8139.c
+++ b/hw/rtl8139.c
@@ -332,8 +332,10 @@ enum CSCRBits {
};
enum Cfg9346Bits {
- Cfg9346_Lock = 0x00,
- Cfg9346_Unlock = 0xC0,
+ Cfg9346_Normal = 0x00,
+ Cfg9346_Autoload = 0x40,
+ Cfg9346_Programming = 0x80,
+ Cfg9346_ConfigWrite = 0xC0,
};
typedef enum {
@@ -1451,7 +1453,7 @@ static uint32_t rtl8139_IntrMitigate_read(RTL8139State *s)
static int rtl8139_config_writable(RTL8139State *s)
{
- if (s->Cfg9346 & Cfg9346_Unlock)
+ if ((s->Cfg9346 & Chip9346_op_mask) == Cfg9346_ConfigWrite)
{
return 1;
}
- [Qemu-devel] [PATCH 1/6] rtl8139: limit transmission buffer size in c+ mode, Jason Wang, 2012/03/04
- [Qemu-devel] [PATCH 2/6] rtl8139: remove unused marco, Jason Wang, 2012/03/04
- [Qemu-devel] [PATCH 4/6] net: move compute_mcast_idx() to net.h, Jason Wang, 2012/03/04
- [Qemu-devel] [PATCH 3/6] rtl8139: support byte read to TxStatus registers, Jason Wang, 2012/03/04
- [Qemu-devel] [PATCH 5/6] rtl8139: correctly check the opmode,
Jason Wang <=
- [Qemu-devel] [PATCH 6/6] rtl8139: do the network/host communication only in normal operating mode, Jason Wang, 2012/03/04
- Re: [Qemu-devel] [PATCH 1/6] rtl8139: limit transmission buffer size in c+ mode, Stefan Hajnoczi, 2012/03/05
- [Qemu-devel] [1/6 V2 PATCH] rtl8139: limit transmission buffer size in c+ mode, Jason Wang, 2012/03/06