1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-30 05:40:06 +00:00

- Fix SMC91c111 device emulation in qemu. This allows FreeBSD to boot on

the GUMSTIX platform.

Approved by:	nox (maintainer)
Obtained from:	qemu git
This commit is contained in:
Stanislav Sedov 2011-08-31 02:34:44 +00:00
parent 4fc8c9131a
commit 764bc338f9
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=280802
2 changed files with 39 additions and 1 deletions

View File

@ -7,7 +7,7 @@
PORTNAME= qemu
PORTVERSION= 0.11.1
PORTREVISION= 9
PORTREVISION= 10
CATEGORIES= emulators
MASTER_SITES= ${MASTER_SITE_SAVANNAH} \
http://bellard.org/qemu/

View File

@ -0,0 +1,38 @@
diff --git a/hw/smc91c111.c b/hw/smc91c111.c
index c1a88c9..e4a2447 100644
--- qemu/hw/smc91c111.c
+++ qemu/hw/smc91c111.c
@@ -250,6 +250,7 @@ static void smc91c111_writeb(void *opaque, target_phys_addr_t offset,
{
smc91c111_state *s = (smc91c111_state *)opaque;
+ offset = offset & 0xf;
if (offset == 14) {
s->bank = value;
return;
@@ -276,6 +277,8 @@ static void smc91c111_writeb(void *opaque, target_phys_addr_t offset,
case 10: case 11: /* RPCR */
/* Ignored */
return;
+ case 12: case 13: /* Reserved */
+ return;
}
break;
@@ -421,6 +424,7 @@ static uint32_t smc91c111_readb(void *opaque, target_phys_addr_t offset)
{
smc91c111_state *s = (smc91c111_state *)opaque;
+ offset = offset & 0xf;
if (offset == 14) {
return s->bank;
}
@@ -461,6 +465,8 @@ static uint32_t smc91c111_readb(void *opaque, target_phys_addr_t offset)
case 10: case 11: /* RPCR */
/* Not implemented. */
return 0;
+ case 12: case 13: /* Reserved */
+ return 0;
}
break;