Commit abcd5da72e66becf055aff3a225f7c8645c18fff
1 parent
97a847bc
use bswap.h
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@351 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
3 changed files
with
8 additions
and
82 deletions
dyngen.c
| ... | ... | @@ -25,7 +25,7 @@ |
| 25 | 25 | #include <unistd.h> |
| 26 | 26 | #include <fcntl.h> |
| 27 | 27 | |
| 28 | -#include "config.h" | |
| 28 | +#include "config-host.h" | |
| 29 | 29 | |
| 30 | 30 | /* elf format definitions. We use these macros to test the CPU to |
| 31 | 31 | allow cross compilation (this tool must be ran on the build |
| ... | ... | @@ -108,8 +108,7 @@ typedef uint64_t host_ulong; |
| 108 | 108 | #define SHT_RELOC SHT_REL |
| 109 | 109 | #endif |
| 110 | 110 | |
| 111 | -#define NO_THUNK_TYPE_SIZE | |
| 112 | -#include "thunk.h" | |
| 111 | +#include "bswap.h" | |
| 113 | 112 | |
| 114 | 113 | enum { |
| 115 | 114 | OUT_GEN_OP, |
| ... | ... | @@ -648,7 +647,7 @@ void gen_code(const char *name, host_ulong offset, host_ulong size, |
| 648 | 647 | { |
| 649 | 648 | ElfW(Sym) *sym; |
| 650 | 649 | const char *sym_name, *p; |
| 651 | - target_ulong val; | |
| 650 | + unsigned long val; | |
| 652 | 651 | int n; |
| 653 | 652 | |
| 654 | 653 | for(i = 0, sym = symtab; i < nb_syms; i++, sym++) { |
| ... | ... | @@ -663,7 +662,7 @@ void gen_code(const char *name, host_ulong offset, host_ulong size, |
| 663 | 662 | if (!ptr) |
| 664 | 663 | error("__op_labelN in invalid section"); |
| 665 | 664 | offset = sym->st_value; |
| 666 | - val = *(target_ulong *)(ptr + offset); | |
| 665 | + val = *(unsigned long *)(ptr + offset); | |
| 667 | 666 | #ifdef ELF_USES_RELOCA |
| 668 | 667 | { |
| 669 | 668 | int reloc_shndx, nb_relocs1, j; |
| ... | ... | @@ -687,7 +686,7 @@ void gen_code(const char *name, host_ulong offset, host_ulong size, |
| 687 | 686 | |
| 688 | 687 | if (val >= start_offset && val < start_offset + copy_size) { |
| 689 | 688 | n = strtol(p, NULL, 10); |
| 690 | - fprintf(outfile, " label_offsets[%d] = %d + (gen_code_ptr - gen_code_buf);\n", n, val - start_offset); | |
| 689 | + fprintf(outfile, " label_offsets[%d] = %ld + (gen_code_ptr - gen_code_buf);\n", n, val - start_offset); | |
| 691 | 690 | } |
| 692 | 691 | } |
| 693 | 692 | } | ... | ... |
thunk.h
| ... | ... | @@ -23,43 +23,7 @@ |
| 23 | 23 | #include <inttypes.h> |
| 24 | 24 | #include "config.h" |
| 25 | 25 | |
| 26 | -#ifdef HAVE_BYTESWAP_H | |
| 27 | -#include <byteswap.h> | |
| 28 | -#else | |
| 29 | - | |
| 30 | -#define bswap_16(x) \ | |
| 31 | -({ \ | |
| 32 | - uint16_t __x = (x); \ | |
| 33 | - ((uint16_t)( \ | |
| 34 | - (((uint16_t)(__x) & (uint16_t)0x00ffU) << 8) | \ | |
| 35 | - (((uint16_t)(__x) & (uint16_t)0xff00U) >> 8) )); \ | |
| 36 | -}) | |
| 37 | - | |
| 38 | -#define bswap_32(x) \ | |
| 39 | -({ \ | |
| 40 | - uint32_t __x = (x); \ | |
| 41 | - ((uint32_t)( \ | |
| 42 | - (((uint32_t)(__x) & (uint32_t)0x000000ffUL) << 24) | \ | |
| 43 | - (((uint32_t)(__x) & (uint32_t)0x0000ff00UL) << 8) | \ | |
| 44 | - (((uint32_t)(__x) & (uint32_t)0x00ff0000UL) >> 8) | \ | |
| 45 | - (((uint32_t)(__x) & (uint32_t)0xff000000UL) >> 24) )); \ | |
| 46 | -}) | |
| 47 | - | |
| 48 | -#define bswap_64(x) \ | |
| 49 | -({ \ | |
| 50 | - uint64_t __x = (x); \ | |
| 51 | - ((uint64_t)( \ | |
| 52 | - (uint64_t)(((uint64_t)(__x) & (uint64_t)0x00000000000000ffULL) << 56) | \ | |
| 53 | - (uint64_t)(((uint64_t)(__x) & (uint64_t)0x000000000000ff00ULL) << 40) | \ | |
| 54 | - (uint64_t)(((uint64_t)(__x) & (uint64_t)0x0000000000ff0000ULL) << 24) | \ | |
| 55 | - (uint64_t)(((uint64_t)(__x) & (uint64_t)0x00000000ff000000ULL) << 8) | \ | |
| 56 | - (uint64_t)(((uint64_t)(__x) & (uint64_t)0x000000ff00000000ULL) >> 8) | \ | |
| 57 | - (uint64_t)(((uint64_t)(__x) & (uint64_t)0x0000ff0000000000ULL) >> 24) | \ | |
| 58 | - (uint64_t)(((uint64_t)(__x) & (uint64_t)0x00ff000000000000ULL) >> 40) | \ | |
| 59 | - (uint64_t)(((uint64_t)(__x) & (uint64_t)0xff00000000000000ULL) >> 56) )); \ | |
| 60 | -}) | |
| 61 | - | |
| 62 | -#endif | |
| 26 | +#include "bswap.h" | |
| 63 | 27 | |
| 64 | 28 | #if defined(WORDS_BIGENDIAN) != defined(TARGET_WORDS_BIGENDIAN) |
| 65 | 29 | #define BSWAP_NEEDED |
| ... | ... | @@ -68,44 +32,7 @@ |
| 68 | 32 | /* XXX: autoconf */ |
| 69 | 33 | #define TARGET_LONG_BITS 32 |
| 70 | 34 | |
| 71 | -#if defined(__alpha__) || defined (__ia64__) | |
| 72 | -#define HOST_LONG_BITS 64 | |
| 73 | -#else | |
| 74 | -#define HOST_LONG_BITS 32 | |
| 75 | -#endif | |
| 76 | - | |
| 77 | 35 | #define TARGET_LONG_SIZE (TARGET_LONG_BITS / 8) |
| 78 | -#define HOST_LONG_SIZE (HOST_LONG_BITS / 8) | |
| 79 | - | |
| 80 | -static inline uint16_t bswap16(uint16_t x) | |
| 81 | -{ | |
| 82 | - return bswap_16(x); | |
| 83 | -} | |
| 84 | - | |
| 85 | -static inline uint32_t bswap32(uint32_t x) | |
| 86 | -{ | |
| 87 | - return bswap_32(x); | |
| 88 | -} | |
| 89 | - | |
| 90 | -static inline uint64_t bswap64(uint64_t x) | |
| 91 | -{ | |
| 92 | - return bswap_64(x); | |
| 93 | -} | |
| 94 | - | |
| 95 | -static inline void bswap16s(uint16_t *s) | |
| 96 | -{ | |
| 97 | - *s = bswap16(*s); | |
| 98 | -} | |
| 99 | - | |
| 100 | -static inline void bswap32s(uint32_t *s) | |
| 101 | -{ | |
| 102 | - *s = bswap32(*s); | |
| 103 | -} | |
| 104 | - | |
| 105 | -static inline void bswap64s(uint64_t *s) | |
| 106 | -{ | |
| 107 | - *s = bswap64(*s); | |
| 108 | -} | |
| 109 | 36 | |
| 110 | 37 | #ifdef BSWAP_NEEDED |
| 111 | 38 | ... | ... |
vlmkcow.c
| ... | ... | @@ -38,12 +38,12 @@ |
| 38 | 38 | #include <sys/poll.h> |
| 39 | 39 | #include <errno.h> |
| 40 | 40 | #include <sys/wait.h> |
| 41 | +#include <sys/stat.h> | |
| 41 | 42 | #include <netinet/in.h> |
| 42 | 43 | |
| 43 | 44 | #include "vl.h" |
| 44 | 45 | |
| 45 | -#define NO_THUNK_TYPE_SIZE | |
| 46 | -#include "thunk.h" | |
| 46 | +#include "bswap.h" | |
| 47 | 47 | |
| 48 | 48 | int cow_create(int cow_fd, const char *image_filename, |
| 49 | 49 | int64_t image_sectors) | ... | ... |