Commit 0c4ad8dc2aa144a6269b9c19200c40b67c873d5b
1 parent
165c6fc8
ide endianness fixes
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@760 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
6 additions
and
10 deletions
hw/ide.c
@@ -352,11 +352,7 @@ static void padstr8(uint8_t *buf, int buf_size, const char *src) | @@ -352,11 +352,7 @@ static void padstr8(uint8_t *buf, int buf_size, const char *src) | ||
352 | 352 | ||
353 | static void put_le16(uint16_t *p, unsigned int v) | 353 | static void put_le16(uint16_t *p, unsigned int v) |
354 | { | 354 | { |
355 | -#ifdef WORDS_BIGENDIAN | ||
356 | - *p = bswap16(v); | ||
357 | -#else | ||
358 | - *p = v; | ||
359 | -#endif | 355 | + *p = cpu_to_le16(v); |
360 | } | 356 | } |
361 | 357 | ||
362 | static void ide_identify(IDEState *s) | 358 | static void ide_identify(IDEState *s) |
@@ -1328,7 +1324,7 @@ static void ide_data_writew(void *opaque, uint32_t addr, uint32_t val) | @@ -1328,7 +1324,7 @@ static void ide_data_writew(void *opaque, uint32_t addr, uint32_t val) | ||
1328 | uint8_t *p; | 1324 | uint8_t *p; |
1329 | 1325 | ||
1330 | p = s->data_ptr; | 1326 | p = s->data_ptr; |
1331 | - *(uint16_t *)p = tswap16(val); | 1327 | + *(uint16_t *)p = le16_to_cpu(val); |
1332 | p += 2; | 1328 | p += 2; |
1333 | s->data_ptr = p; | 1329 | s->data_ptr = p; |
1334 | if (p >= s->data_end) | 1330 | if (p >= s->data_end) |
@@ -1341,7 +1337,7 @@ static uint32_t ide_data_readw(void *opaque, uint32_t addr) | @@ -1341,7 +1337,7 @@ static uint32_t ide_data_readw(void *opaque, uint32_t addr) | ||
1341 | uint8_t *p; | 1337 | uint8_t *p; |
1342 | int ret; | 1338 | int ret; |
1343 | p = s->data_ptr; | 1339 | p = s->data_ptr; |
1344 | - ret = tswap16(*(uint16_t *)p); | 1340 | + ret = cpu_to_le16(*(uint16_t *)p); |
1345 | p += 2; | 1341 | p += 2; |
1346 | s->data_ptr = p; | 1342 | s->data_ptr = p; |
1347 | if (p >= s->data_end) | 1343 | if (p >= s->data_end) |
@@ -1355,7 +1351,7 @@ static void ide_data_writel(void *opaque, uint32_t addr, uint32_t val) | @@ -1355,7 +1351,7 @@ static void ide_data_writel(void *opaque, uint32_t addr, uint32_t val) | ||
1355 | uint8_t *p; | 1351 | uint8_t *p; |
1356 | 1352 | ||
1357 | p = s->data_ptr; | 1353 | p = s->data_ptr; |
1358 | - *(uint32_t *)p = tswap32(val); | 1354 | + *(uint32_t *)p = le32_to_cpu(val); |
1359 | p += 4; | 1355 | p += 4; |
1360 | s->data_ptr = p; | 1356 | s->data_ptr = p; |
1361 | if (p >= s->data_end) | 1357 | if (p >= s->data_end) |
@@ -1369,7 +1365,7 @@ static uint32_t ide_data_readl(void *opaque, uint32_t addr) | @@ -1369,7 +1365,7 @@ static uint32_t ide_data_readl(void *opaque, uint32_t addr) | ||
1369 | int ret; | 1365 | int ret; |
1370 | 1366 | ||
1371 | p = s->data_ptr; | 1367 | p = s->data_ptr; |
1372 | - ret = tswap32(*(uint32_t *)p); | 1368 | + ret = cpu_to_le32(*(uint32_t *)p); |
1373 | p += 4; | 1369 | p += 4; |
1374 | s->data_ptr = p; | 1370 | s->data_ptr = p; |
1375 | if (p >= s->data_end) | 1371 | if (p >= s->data_end) |
@@ -1417,7 +1413,7 @@ static void ide_guess_geometry(IDEState *s) | @@ -1417,7 +1413,7 @@ static void ide_guess_geometry(IDEState *s) | ||
1417 | return; | 1413 | return; |
1418 | for(i = 0; i < 4; i++) { | 1414 | for(i = 0; i < 4; i++) { |
1419 | p = ((struct partition *)(buf + 0x1be)) + i; | 1415 | p = ((struct partition *)(buf + 0x1be)) + i; |
1420 | - nr_sects = tswap32(p->nr_sects); | 1416 | + nr_sects = le32_to_cpu(p->nr_sects); |
1421 | if (nr_sects && p->end_head) { | 1417 | if (nr_sects && p->end_head) { |
1422 | /* We make the assumption that the partition terminates on | 1418 | /* We make the assumption that the partition terminates on |
1423 | a cylinder boundary */ | 1419 | a cylinder boundary */ |