vmrunkernel: cleanup
authorRonald G. Minnich <rminnich@gmail.com>
Thu, 20 Apr 2017 19:41:19 +0000 (15:41 -0400)
committerBarret Rhoden <brho@cs.berkeley.edu>
Thu, 20 Apr 2017 21:01:23 +0000 (17:01 -0400)
Get rid of many unused globals, move as many used ones
to main() as possible. The vm stuff will be a bit more work.

Change-Id: I1e877b11c94b906cd013f3d2e0ba81152d974c28
Signed-off-by: Ronald G. Minnich <rminnich@gmail.com>
Signed-off-by: Barret Rhoden <brho@cs.berkeley.edu>
tests/vmm/vmrunkernel.c

index 4bcbf23..45ddb8b 100644 (file)
 #include <sys/uio.h>
 #include <parlib/opts.h>
 
-struct virtual_machine local_vm, *vm = &local_vm;
-
 #define APIC_GPA                       0xfee00000ULL
 
+struct virtual_machine local_vm, *vm = &local_vm;
 struct vmm_gpcore_init *gpcis;
 
 /* By 1999, you could just scan the hardware
@@ -115,33 +114,10 @@ struct acpi_madt_interrupt_override isor[] = {
         */
 };
 
-
-/* this test will run the "kernel" in the negative address space. We hope. */
-void *low1m;
-volatile int shared = 0;
-volatile int quit = 0;
-
-/* total hack. If the vm runs away we want to get control again. */
-unsigned int maxresume = (unsigned int) -1;
-
-unsigned long long memsize = GiB;
-uintptr_t memstart = MinMemory;
-uintptr_t stack;
-
 typedef struct {
        uint64_t pte[512];
 } ptp;
 
-ptp *p512, *p1, *p2m;
-
-void **my_retvals;
-int nr_threads = 4;
-int debug = 0;
-int resumeprompt = 0;
-/* unlike Linux, this shared struct is for both host and guest. */
-//     struct virtqueue *constoguest =
-//             vring_new_virtqueue(0, 512, 8192, 0, inpages, NULL, NULL, "test");
-
 void vapic_status_dump(FILE *f, void *vapic);
 
 #if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 1)
@@ -150,12 +126,6 @@ void vapic_status_dump(FILE *f, void *vapic);
 #define BITOP_ADDR(x) "+m" (*(volatile long *) (x))
 #endif
 
-#define LOCK_PREFIX "lock "
-#define ADDR                           BITOP_ADDR(addr)
-static inline int test_and_set_bit(int nr, volatile unsigned long *addr);
-
-pthread_t timerthread_struct;
-
 void timer_thread(void *arg)
 {
        uint8_t vector;
@@ -173,9 +143,6 @@ void timer_thread(void *arg)
 }
 
 
-// FIXME.
-volatile int consdata = 0;
-
 static void virtio_poke_guest(uint8_t vec, uint32_t dest)
 {
        if (dest < vm->nr_gpcs) {
@@ -319,16 +286,6 @@ static void gencsum(uint8_t *target, void *data, int len)
        fprintf(stderr, "Cmoputed is %02x\n", *target);
 }
 
-static inline int test_and_set_bit(int nr, volatile unsigned long *addr)
-{
-       int oldbit;
-
-       asm volatile(LOCK_PREFIX "bts %2,%1\n\t"
-                    "sbb %0,%0" : "=r" (oldbit), ADDR : "Ir" (nr) : "memory");
-
-       return oldbit;
-}
-
 /* TODO: put this in a library somewhere */
 int cat(char *file, void *where)
 {
@@ -521,6 +478,12 @@ void alloc_intr_pages(void)
 
 int main(int argc, char **argv)
 {
+       ptp *p512, *p1, *p2m;
+       int debug = 0;
+       void *low1m;
+       unsigned long long memsize = GiB;
+       uintptr_t memstart = MinMemory;
+       uintptr_t stack;
        struct boot_params *bp;
        char cmdline_default[512] = {0};
        char *cmdline_extra = "\0";
@@ -606,9 +569,6 @@ int main(int argc, char **argv)
                case 'S':
                        stack = strtoull(optarg, 0, 0);
                        break;
-               case 'R':
-                       maxresume = strtoull(optarg, 0, 0);
-                       break;
                case 'c':
                        cmdline_extra = optarg;
                case 'g':       /* greedy */