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 | 268 | } |
| 269 | 269 | } |
| 270 | 270 | |
| 271 | +/***********************************************************/ | |
| 272 | + | |
| 271 | 273 | void pstrcpy(char *buf, int buf_size, const char *str) |
| 272 | 274 | { |
| 273 | 275 | int c; |
| ... | ... | @@ -2064,7 +2066,7 @@ int qemu_loadvm(const char *filename) |
| 2064 | 2066 | static void cpu_put_seg(QEMUFile *f, SegmentCache *dt) |
| 2065 | 2067 | { |
| 2066 | 2068 | qemu_put_be32(f, dt->selector); |
| 2067 | - qemu_put_be32(f, (uint32_t)dt->base); | |
| 2069 | + qemu_put_betl(f, dt->base); | |
| 2068 | 2070 | qemu_put_be32(f, dt->limit); |
| 2069 | 2071 | qemu_put_be32(f, dt->flags); |
| 2070 | 2072 | } |
| ... | ... | @@ -2072,7 +2074,7 @@ static void cpu_put_seg(QEMUFile *f, SegmentCache *dt) |
| 2072 | 2074 | static void cpu_get_seg(QEMUFile *f, SegmentCache *dt) |
| 2073 | 2075 | { |
| 2074 | 2076 | dt->selector = qemu_get_be32(f); |
| 2075 | - dt->base = (uint8_t *)qemu_get_be32(f); | |
| 2077 | + dt->base = qemu_get_betl(f); | |
| 2076 | 2078 | dt->limit = qemu_get_be32(f); |
| 2077 | 2079 | dt->flags = qemu_get_be32(f); |
| 2078 | 2080 | } |
| ... | ... | @@ -2084,11 +2086,11 @@ void cpu_save(QEMUFile *f, void *opaque) |
| 2084 | 2086 | uint32_t hflags; |
| 2085 | 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 | 2094 | hflags = env->hflags; /* XXX: suppress most of the redundant hflags */ |
| 2093 | 2095 | qemu_put_be32s(f, &hflags); |
| 2094 | 2096 | |
| ... | ... | @@ -2126,13 +2128,13 @@ void cpu_save(QEMUFile *f, void *opaque) |
| 2126 | 2128 | qemu_put_be32s(f, &env->sysenter_esp); |
| 2127 | 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 | 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 | 2139 | /* MMU */ |
| 2138 | 2140 | qemu_put_be32s(f, &env->a20_mask); |
| ... | ... | @@ -2147,11 +2149,11 @@ int cpu_load(QEMUFile *f, void *opaque, int version_id) |
| 2147 | 2149 | |
| 2148 | 2150 | if (version_id != 2) |
| 2149 | 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 | 2157 | qemu_get_be32s(f, &hflags); |
| 2156 | 2158 | |
| 2157 | 2159 | qemu_get_be16s(f, &fpuc); |
| ... | ... | @@ -2185,13 +2187,13 @@ int cpu_load(QEMUFile *f, void *opaque, int version_id) |
| 2185 | 2187 | qemu_get_be32s(f, &env->sysenter_esp); |
| 2186 | 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 | 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 | 2198 | /* MMU */ |
| 2197 | 2199 | qemu_get_be32s(f, &env->a20_mask); | ... | ... |