aboutsummaryrefslogtreecommitdiffstats
path: root/xen/arch/x86/hvm/i8254.c
diff options
context:
space:
mode:
authorTim Deegan <Tim.Deegan@xensource.com>2006-10-31 16:42:46 +0000
committerTim Deegan <Tim.Deegan@xensource.com>2006-10-31 16:42:46 +0000
commit9e0d4d34f3e274e36cc3e7b4c8f76e4f72bf993d (patch)
treed627a59abbf0cea21cb03b88efee2f63262672d7 /xen/arch/x86/hvm/i8254.c
parent342c7011f6dc7a04505846638f4dafcd50f533df (diff)
downloadxen-9e0d4d34f3e274e36cc3e7b4c8f76e4f72bf993d.tar.gz
xen-9e0d4d34f3e274e36cc3e7b4c8f76e4f72bf993d.tar.bz2
xen-9e0d4d34f3e274e36cc3e7b4c8f76e4f72bf993d.zip
[HVM] Use correct types for guest physical addresses
Guest physical addresses are not guaranteed to fit in either a pointer or an unsigned long int; use paddr_t for them. Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
Diffstat (limited to 'xen/arch/x86/hvm/i8254.c')
-rw-r--r--xen/arch/x86/hvm/i8254.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/xen/arch/x86/hvm/i8254.c b/xen/arch/x86/hvm/i8254.c
index 464ddee8f9..96a80cf670 100644
--- a/xen/arch/x86/hvm/i8254.c
+++ b/xen/arch/x86/hvm/i8254.c
@@ -392,17 +392,17 @@ static int handle_pit_io(ioreq_t *p)
struct PITState *vpit = &(v->domain->arch.hvm_domain.pl_time.vpit);
if (p->size != 1 ||
- p->pdata_valid ||
+ p->data_is_ptr ||
p->type != IOREQ_TYPE_PIO){
printk("HVM_PIT:wrong PIT IO!\n");
return 1;
}
if (p->dir == 0) {/* write */
- pit_ioport_write(vpit, p->addr, p->u.data);
+ pit_ioport_write(vpit, p->addr, p->data);
} else if (p->dir == 1) { /* read */
if ( (p->addr & 3) != 3 ) {
- p->u.data = pit_ioport_read(vpit, p->addr);
+ p->data = pit_ioport_read(vpit, p->addr);
} else {
printk("HVM_PIT: read A1:A0=3!\n");
}
@@ -434,16 +434,16 @@ static int handle_speaker_io(ioreq_t *p)
struct PITState *vpit = &(v->domain->arch.hvm_domain.pl_time.vpit);
if (p->size != 1 ||
- p->pdata_valid ||
+ p->data_is_ptr ||
p->type != IOREQ_TYPE_PIO){
printk("HVM_SPEAKER:wrong SPEAKER IO!\n");
return 1;
}
if (p->dir == 0) {/* write */
- speaker_ioport_write(vpit, p->addr, p->u.data);
+ speaker_ioport_write(vpit, p->addr, p->data);
} else if (p->dir == 1) {/* read */
- p->u.data = speaker_ioport_read(vpit, p->addr);
+ p->data = speaker_ioport_read(vpit, p->addr);
}
return 1;