The kvm.c file is getting bigger so move CPU emulation code to a separate file.
Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
PROGRAM = kvm
OBJS += kvm.o
+OBJS += cpu.o
CFLAGS += -Iinclude
all: $(PROGRAM)
-$(PRORAM): $(OBJS)
+$(PROGRAM): $(OBJS)
$(CC) $(OBJS) -o $@
+$(OBJS):
+
clean:
rm -f $(OBJS) $(PROGRAM)
.PHONY: clean
--- /dev/null
+#include "kvm/cpu.h"
+
+#include <stdlib.h>
+
+struct cpu *cpu__new(void)
+{
+ return calloc(1, sizeof(struct cpu));
+}
+
+void cpu__reset(struct cpu *self)
+{
+ self->regs.eip = 0x000fff0UL;
+ self->regs.eflags = 0x0000002UL;
+}
struct cpu_registers regs;
};
+struct cpu *cpu__new(void);
+void cpu__reset(struct cpu *self);
+
#endif /* KVM__CPU_H */
exit(1);
}
-static void cpu__reset(struct cpu *self)
-{
- self->regs.eip = 0x000fff0UL;
- self->regs.eflags = 0x0000002UL;
-}
-
-static struct cpu *cpu__new(void)
-{
- return calloc(1, sizeof(struct cpu));
-}
-
static inline bool kvm__supports_extension(struct kvm *self, unsigned int extension)
{
int ret;