mirror of https://github.com/xemu-project/xemu.git
pcnet: Move BCR defines to header
This moves BCR defines to the common header and immediately makes use of them to add BCR_APROMWE, replacing the open-coded write check in pcnet_aprom_writeb. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
parent
816f89256e
commit
488a1a5dfe
|
@ -56,9 +56,9 @@ static void pcnet_aprom_writeb(void *opaque, uint32_t addr, uint32_t val)
|
||||||
#ifdef PCNET_DEBUG
|
#ifdef PCNET_DEBUG
|
||||||
printf("pcnet_aprom_writeb addr=0x%08x val=0x%02x\n", addr, val);
|
printf("pcnet_aprom_writeb addr=0x%08x val=0x%02x\n", addr, val);
|
||||||
#endif
|
#endif
|
||||||
/* Check APROMWE bit to enable write access */
|
if (BCR_APROMWE(s)) {
|
||||||
if (pcnet_bcr_readw(s,2) & 0x100)
|
|
||||||
s->prom[addr & 15] = val;
|
s->prom[addr & 15] = val;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static uint32_t pcnet_aprom_readb(void *opaque, uint32_t addr)
|
static uint32_t pcnet_aprom_readb(void *opaque, uint32_t addr)
|
||||||
|
|
18
hw/pcnet.c
18
hw/pcnet.c
|
@ -58,24 +58,6 @@ struct qemu_ether_header {
|
||||||
uint16_t ether_type;
|
uint16_t ether_type;
|
||||||
};
|
};
|
||||||
|
|
||||||
/* BUS CONFIGURATION REGISTERS */
|
|
||||||
#define BCR_MSRDA 0
|
|
||||||
#define BCR_MSWRA 1
|
|
||||||
#define BCR_MC 2
|
|
||||||
#define BCR_LNKST 4
|
|
||||||
#define BCR_LED1 5
|
|
||||||
#define BCR_LED2 6
|
|
||||||
#define BCR_LED3 7
|
|
||||||
#define BCR_FDC 9
|
|
||||||
#define BCR_BSBC 18
|
|
||||||
#define BCR_EECAS 19
|
|
||||||
#define BCR_SWS 20
|
|
||||||
#define BCR_PLAT 22
|
|
||||||
|
|
||||||
#define BCR_DWIO(S) !!((S)->bcr[BCR_BSBC] & 0x0080)
|
|
||||||
#define BCR_SSIZE32(S) !!((S)->bcr[BCR_SWS ] & 0x0100)
|
|
||||||
#define BCR_SWSTYLE(S) ((S)->bcr[BCR_SWS ] & 0x00FF)
|
|
||||||
|
|
||||||
#define CSR_INIT(S) !!(((S)->csr[0])&0x0001)
|
#define CSR_INIT(S) !!(((S)->csr[0])&0x0001)
|
||||||
#define CSR_STRT(S) !!(((S)->csr[0])&0x0002)
|
#define CSR_STRT(S) !!(((S)->csr[0])&0x0002)
|
||||||
#define CSR_STOP(S) !!(((S)->csr[0])&0x0004)
|
#define CSR_STOP(S) !!(((S)->csr[0])&0x0004)
|
||||||
|
|
19
hw/pcnet.h
19
hw/pcnet.h
|
@ -6,6 +6,25 @@
|
||||||
|
|
||||||
#include "memory.h"
|
#include "memory.h"
|
||||||
|
|
||||||
|
/* BUS CONFIGURATION REGISTERS */
|
||||||
|
#define BCR_MSRDA 0
|
||||||
|
#define BCR_MSWRA 1
|
||||||
|
#define BCR_MC 2
|
||||||
|
#define BCR_LNKST 4
|
||||||
|
#define BCR_LED1 5
|
||||||
|
#define BCR_LED2 6
|
||||||
|
#define BCR_LED3 7
|
||||||
|
#define BCR_FDC 9
|
||||||
|
#define BCR_BSBC 18
|
||||||
|
#define BCR_EECAS 19
|
||||||
|
#define BCR_SWS 20
|
||||||
|
#define BCR_PLAT 22
|
||||||
|
|
||||||
|
#define BCR_APROMWE(S) !!((S)->bcr[BCR_MC ] & 0x0100)
|
||||||
|
#define BCR_DWIO(S) !!((S)->bcr[BCR_BSBC] & 0x0080)
|
||||||
|
#define BCR_SSIZE32(S) !!((S)->bcr[BCR_SWS ] & 0x0100)
|
||||||
|
#define BCR_SWSTYLE(S) ((S)->bcr[BCR_SWS ] & 0x00FF)
|
||||||
|
|
||||||
typedef struct PCNetState_st PCNetState;
|
typedef struct PCNetState_st PCNetState;
|
||||||
|
|
||||||
struct PCNetState_st {
|
struct PCNetState_st {
|
||||||
|
|
Loading…
Reference in New Issue