mirror of
https://git.proxmox.com/git/qemu
synced 2025-08-13 13:24:04 +00:00
fixed VIA irq register access
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1513 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
9835236910
commit
b7c7b18129
@ -298,9 +298,11 @@ static uint32_t cuda_readb(void *opaque, target_phys_addr_t addr)
|
|||||||
break;
|
break;
|
||||||
case 13:
|
case 13:
|
||||||
val = s->ifr;
|
val = s->ifr;
|
||||||
|
if (s->ifr & s->ier)
|
||||||
|
val |= 0x80;
|
||||||
break;
|
break;
|
||||||
case 14:
|
case 14:
|
||||||
val = s->ier;
|
val = s->ier | 0x80;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
case 15:
|
case 15:
|
||||||
@ -379,7 +381,6 @@ static void cuda_writeb(void *opaque, target_phys_addr_t addr, uint32_t val)
|
|||||||
cuda_update_irq(s);
|
cuda_update_irq(s);
|
||||||
break;
|
break;
|
||||||
case 14:
|
case 14:
|
||||||
#if 0
|
|
||||||
if (val & IER_SET) {
|
if (val & IER_SET) {
|
||||||
/* set bits */
|
/* set bits */
|
||||||
s->ier |= val & 0x7f;
|
s->ier |= val & 0x7f;
|
||||||
@ -387,10 +388,6 @@ static void cuda_writeb(void *opaque, target_phys_addr_t addr, uint32_t val)
|
|||||||
/* reset bits */
|
/* reset bits */
|
||||||
s->ier &= ~val;
|
s->ier &= ~val;
|
||||||
}
|
}
|
||||||
#else
|
|
||||||
/* XXX: please explain me why the SPEC is not correct ! */
|
|
||||||
s->ier = val;
|
|
||||||
#endif
|
|
||||||
cuda_update_irq(s);
|
cuda_update_irq(s);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
Loading…
Reference in New Issue
Block a user