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); | ... | ... |