Commit 20f32282379f20e83eeb2f3456ab6cc8431029b8
1 parent
c27004ec
initial x86_64 support
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1190 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
24 additions
and
22 deletions
vl.c
| @@ -268,6 +268,8 @@ void isa_unassign_ioport(int start, int length) | @@ -268,6 +268,8 @@ void isa_unassign_ioport(int start, int length) | ||
| 268 | } | 268 | } |
| 269 | } | 269 | } |
| 270 | 270 | ||
| 271 | +/***********************************************************/ | ||
| 272 | + | ||
| 271 | void pstrcpy(char *buf, int buf_size, const char *str) | 273 | void pstrcpy(char *buf, int buf_size, const char *str) |
| 272 | { | 274 | { |
| 273 | int c; | 275 | int c; |
| @@ -2064,7 +2066,7 @@ int qemu_loadvm(const char *filename) | @@ -2064,7 +2066,7 @@ int qemu_loadvm(const char *filename) | ||
| 2064 | static void cpu_put_seg(QEMUFile *f, SegmentCache *dt) | 2066 | static void cpu_put_seg(QEMUFile *f, SegmentCache *dt) |
| 2065 | { | 2067 | { |
| 2066 | qemu_put_be32(f, dt->selector); | 2068 | qemu_put_be32(f, dt->selector); |
| 2067 | - qemu_put_be32(f, (uint32_t)dt->base); | 2069 | + qemu_put_betl(f, dt->base); |
| 2068 | qemu_put_be32(f, dt->limit); | 2070 | qemu_put_be32(f, dt->limit); |
| 2069 | qemu_put_be32(f, dt->flags); | 2071 | qemu_put_be32(f, dt->flags); |
| 2070 | } | 2072 | } |
| @@ -2072,7 +2074,7 @@ static void cpu_put_seg(QEMUFile *f, SegmentCache *dt) | @@ -2072,7 +2074,7 @@ static void cpu_put_seg(QEMUFile *f, SegmentCache *dt) | ||
| 2072 | static void cpu_get_seg(QEMUFile *f, SegmentCache *dt) | 2074 | static void cpu_get_seg(QEMUFile *f, SegmentCache *dt) |
| 2073 | { | 2075 | { |
| 2074 | dt->selector = qemu_get_be32(f); | 2076 | dt->selector = qemu_get_be32(f); |
| 2075 | - dt->base = (uint8_t *)qemu_get_be32(f); | 2077 | + dt->base = qemu_get_betl(f); |
| 2076 | dt->limit = qemu_get_be32(f); | 2078 | dt->limit = qemu_get_be32(f); |
| 2077 | dt->flags = qemu_get_be32(f); | 2079 | dt->flags = qemu_get_be32(f); |
| 2078 | } | 2080 | } |
| @@ -2084,11 +2086,11 @@ void cpu_save(QEMUFile *f, void *opaque) | @@ -2084,11 +2086,11 @@ void cpu_save(QEMUFile *f, void *opaque) | ||
| 2084 | uint32_t hflags; | 2086 | uint32_t hflags; |
| 2085 | int i; | 2087 | int i; |
| 2086 | 2088 | ||
| 2087 | - for(i = 0; i < 8; i++) | ||
| 2088 | - qemu_put_be32s(f, &env->regs[i]); | ||
| 2089 | - qemu_put_be32s(f, &env->eip); | ||
| 2090 | - qemu_put_be32s(f, &env->eflags); | ||
| 2091 | - qemu_put_be32s(f, &env->eflags); | 2089 | + for(i = 0; i < CPU_NB_REGS; i++) |
| 2090 | + qemu_put_betls(f, &env->regs[i]); | ||
| 2091 | + qemu_put_betls(f, &env->eip); | ||
| 2092 | + qemu_put_betls(f, &env->eflags); | ||
| 2093 | + qemu_put_betl(f, 0); /* XXX: suppress that */ | ||
| 2092 | hflags = env->hflags; /* XXX: suppress most of the redundant hflags */ | 2094 | hflags = env->hflags; /* XXX: suppress most of the redundant hflags */ |
| 2093 | qemu_put_be32s(f, &hflags); | 2095 | qemu_put_be32s(f, &hflags); |
| 2094 | 2096 | ||
| @@ -2126,13 +2128,13 @@ void cpu_save(QEMUFile *f, void *opaque) | @@ -2126,13 +2128,13 @@ void cpu_save(QEMUFile *f, void *opaque) | ||
| 2126 | qemu_put_be32s(f, &env->sysenter_esp); | 2128 | qemu_put_be32s(f, &env->sysenter_esp); |
| 2127 | qemu_put_be32s(f, &env->sysenter_eip); | 2129 | qemu_put_be32s(f, &env->sysenter_eip); |
| 2128 | 2130 | ||
| 2129 | - qemu_put_be32s(f, &env->cr[0]); | ||
| 2130 | - qemu_put_be32s(f, &env->cr[2]); | ||
| 2131 | - qemu_put_be32s(f, &env->cr[3]); | ||
| 2132 | - qemu_put_be32s(f, &env->cr[4]); | 2131 | + qemu_put_betls(f, &env->cr[0]); |
| 2132 | + qemu_put_betls(f, &env->cr[2]); | ||
| 2133 | + qemu_put_betls(f, &env->cr[3]); | ||
| 2134 | + qemu_put_betls(f, &env->cr[4]); | ||
| 2133 | 2135 | ||
| 2134 | for(i = 0; i < 8; i++) | 2136 | for(i = 0; i < 8; i++) |
| 2135 | - qemu_put_be32s(f, &env->dr[i]); | 2137 | + qemu_put_betls(f, &env->dr[i]); |
| 2136 | 2138 | ||
| 2137 | /* MMU */ | 2139 | /* MMU */ |
| 2138 | qemu_put_be32s(f, &env->a20_mask); | 2140 | qemu_put_be32s(f, &env->a20_mask); |
| @@ -2147,11 +2149,11 @@ int cpu_load(QEMUFile *f, void *opaque, int version_id) | @@ -2147,11 +2149,11 @@ int cpu_load(QEMUFile *f, void *opaque, int version_id) | ||
| 2147 | 2149 | ||
| 2148 | if (version_id != 2) | 2150 | if (version_id != 2) |
| 2149 | return -EINVAL; | 2151 | return -EINVAL; |
| 2150 | - for(i = 0; i < 8; i++) | ||
| 2151 | - qemu_get_be32s(f, &env->regs[i]); | ||
| 2152 | - qemu_get_be32s(f, &env->eip); | ||
| 2153 | - qemu_get_be32s(f, &env->eflags); | ||
| 2154 | - qemu_get_be32s(f, &env->eflags); | 2152 | + for(i = 0; i < CPU_NB_REGS; i++) |
| 2153 | + qemu_get_betls(f, &env->regs[i]); | ||
| 2154 | + qemu_get_betls(f, &env->eip); | ||
| 2155 | + qemu_get_betls(f, &env->eflags); | ||
| 2156 | + qemu_get_betl(f); /* XXX: suppress that */ | ||
| 2155 | qemu_get_be32s(f, &hflags); | 2157 | qemu_get_be32s(f, &hflags); |
| 2156 | 2158 | ||
| 2157 | qemu_get_be16s(f, &fpuc); | 2159 | qemu_get_be16s(f, &fpuc); |
| @@ -2185,13 +2187,13 @@ int cpu_load(QEMUFile *f, void *opaque, int version_id) | @@ -2185,13 +2187,13 @@ int cpu_load(QEMUFile *f, void *opaque, int version_id) | ||
| 2185 | qemu_get_be32s(f, &env->sysenter_esp); | 2187 | qemu_get_be32s(f, &env->sysenter_esp); |
| 2186 | qemu_get_be32s(f, &env->sysenter_eip); | 2188 | qemu_get_be32s(f, &env->sysenter_eip); |
| 2187 | 2189 | ||
| 2188 | - qemu_get_be32s(f, &env->cr[0]); | ||
| 2189 | - qemu_get_be32s(f, &env->cr[2]); | ||
| 2190 | - qemu_get_be32s(f, &env->cr[3]); | ||
| 2191 | - qemu_get_be32s(f, &env->cr[4]); | 2190 | + qemu_get_betls(f, &env->cr[0]); |
| 2191 | + qemu_get_betls(f, &env->cr[2]); | ||
| 2192 | + qemu_get_betls(f, &env->cr[3]); | ||
| 2193 | + qemu_get_betls(f, &env->cr[4]); | ||
| 2192 | 2194 | ||
| 2193 | for(i = 0; i < 8; i++) | 2195 | for(i = 0; i < 8; i++) |
| 2194 | - qemu_get_be32s(f, &env->dr[i]); | 2196 | + qemu_get_betls(f, &env->dr[i]); |
| 2195 | 2197 | ||
| 2196 | /* MMU */ | 2198 | /* MMU */ |
| 2197 | qemu_get_be32s(f, &env->a20_mask); | 2199 | qemu_get_be32s(f, &env->a20_mask); |