diff options
author | Pekka Enberg <penberg@cs.helsinki.fi> | 2010-03-27 09:34:00 +0200 |
---|---|---|
committer | Will Deacon <will.deacon@arm.com> | 2015-06-01 16:39:38 +0100 |
commit | 7fb218bdd084505954a9a5b69d9833fecb445e04 (patch) | |
tree | 46c1a130397e0724125f2fa417f94a8c17e01e95 /main.c | |
parent | 009b07588a2f9c14c7ab585d3d4933727279308f (diff) | |
download | kvmtool-7fb218bdd084505954a9a5b69d9833fecb445e04.tar.gz |
kvm: Load bzImage real-mode boot sector and setup code
We start KVM in 16-bit mode so we should set cs:ip to point to the real-mode
boot sector and setup code, not the protected mode kernel that starts at 1M.
Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
Diffstat (limited to 'main.c')
-rw-r--r-- | main.c | 8 |
1 files changed, 5 insertions, 3 deletions
@@ -1,5 +1,7 @@ #include "kvm/kvm.h" +#include "util.h" + #include <inttypes.h> #include <stdint.h> #include <stdlib.h> @@ -14,7 +16,6 @@ static void usage(char *argv[]) int main(int argc, char *argv[]) { const char *kernel_filename; - uint64_t kernel_start; struct kvm *kvm; if (argc < 2) @@ -24,9 +25,10 @@ int main(int argc, char *argv[]) kvm = kvm__init(); - kernel_start = kvm__load_kernel(kvm, kernel_filename); + if (!kvm__load_kernel(kvm, kernel_filename)) + die("unable to load kernel %s", kernel_filename); - kvm__reset_vcpu(kvm, kernel_start); + kvm__reset_vcpu(kvm); kvm__enable_singlestep(kvm); |