From 96c35cebfe63c3fd1e628ddcf82309dd9bd00cab Mon Sep 17 00:00:00 2001 From: Juan Quintela Date: Wed, 7 Oct 2009 17:58:34 +0200 Subject: [PATCH] ide: change identify_data type to uint8_t It is used everywhere as uint8_t except in one place. Cast to uint16_t in that place Signed-off-by: Juan Quintela Signed-off-by: Anthony Liguori --- hw/ide/core.c | 25 +++++++++++++------------ hw/ide/internal.h | 2 +- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/hw/ide/core.c b/hw/ide/core.c index e1433b2b..aeff0344 100644 --- a/hw/ide/core.c +++ b/hw/ide/core.c @@ -1942,28 +1942,29 @@ void ide_ioport_write(void *opaque, uint32_t addr, uint32_t val) break; case 0x03: { /* set transfer mode */ uint8_t val = s->nsector & 0x07; + uint16_t *identify_data = (uint16_t *)s->identify_data; switch (s->nsector >> 3) { case 0x00: /* pio default */ case 0x01: /* pio mode */ - put_le16(s->identify_data + 62,0x07); - put_le16(s->identify_data + 63,0x07); - put_le16(s->identify_data + 88,0x3f); + put_le16(identify_data + 62,0x07); + put_le16(identify_data + 63,0x07); + put_le16(identify_data + 88,0x3f); break; case 0x02: /* sigle word dma mode*/ - put_le16(s->identify_data + 62,0x07 | (1 << (val + 8))); - put_le16(s->identify_data + 63,0x07); - put_le16(s->identify_data + 88,0x3f); + put_le16(identify_data + 62,0x07 | (1 << (val + 8))); + put_le16(identify_data + 63,0x07); + put_le16(identify_data + 88,0x3f); break; case 0x04: /* mdma mode */ - put_le16(s->identify_data + 62,0x07); - put_le16(s->identify_data + 63,0x07 | (1 << (val + 8))); - put_le16(s->identify_data + 88,0x3f); + put_le16(identify_data + 62,0x07); + put_le16(identify_data + 63,0x07 | (1 << (val + 8))); + put_le16(identify_data + 88,0x3f); break; case 0x08: /* udma mode */ - put_le16(s->identify_data + 62,0x07); - put_le16(s->identify_data + 63,0x07); - put_le16(s->identify_data + 88,0x3f | (1 << (val + 8))); + put_le16(identify_data + 62,0x07); + put_le16(identify_data + 63,0x07); + put_le16(identify_data + 88,0x3f | (1 << (val + 8))); break; default: goto abort_cmd; diff --git a/hw/ide/internal.h b/hw/ide/internal.h index 2e404311..c55fa52b 100644 --- a/hw/ide/internal.h +++ b/hw/ide/internal.h @@ -374,7 +374,7 @@ struct IDEState { int64_t nb_sectors; int mult_sectors; int identify_set; - uint16_t identify_data[256]; + uint8_t identify_data[512]; int drive_serial; char drive_serial_str[21]; /* ide regs */ -- 2.11.4.GIT