diff options
author | RajithaY <rajithax.yerrumsetty@intel.com> | 2017-04-25 03:31:15 -0700 |
---|---|---|
committer | Rajitha Yerrumchetty <rajithax.yerrumsetty@intel.com> | 2017-05-22 06:48:08 +0000 |
commit | bb756eebdac6fd24e8919e2c43f7d2c8c4091f59 (patch) | |
tree | ca11e03542edf2d8f631efeca5e1626d211107e3 /qemu/tests/multiboot | |
parent | a14b48d18a9ed03ec191cf16b162206998a895ce (diff) |
Adding qemu as a submodule of KVMFORNFV
This Patch includes the changes to add qemu as a submodule to
kvmfornfv repo and make use of the updated latest qemu for the
execution of all testcase
Change-Id: I1280af507a857675c7f81d30c95255635667bdd7
Signed-off-by:RajithaY<rajithax.yerrumsetty@intel.com>
Diffstat (limited to 'qemu/tests/multiboot')
-rw-r--r-- | qemu/tests/multiboot/Makefile | 21 | ||||
-rw-r--r-- | qemu/tests/multiboot/libc.c | 151 | ||||
-rw-r--r-- | qemu/tests/multiboot/libc.h | 62 | ||||
-rw-r--r-- | qemu/tests/multiboot/link.ld | 19 | ||||
-rw-r--r-- | qemu/tests/multiboot/mmap.c | 56 | ||||
-rw-r--r-- | qemu/tests/multiboot/mmap.out | 92 | ||||
-rw-r--r-- | qemu/tests/multiboot/module.txt | 1 | ||||
-rw-r--r-- | qemu/tests/multiboot/modules.c | 55 | ||||
-rw-r--r-- | qemu/tests/multiboot/modules.out | 38 | ||||
-rw-r--r-- | qemu/tests/multiboot/multiboot.h | 66 | ||||
-rwxr-xr-x | qemu/tests/multiboot/run_test.sh | 88 | ||||
-rw-r--r-- | qemu/tests/multiboot/start.S | 51 |
12 files changed, 0 insertions, 700 deletions
diff --git a/qemu/tests/multiboot/Makefile b/qemu/tests/multiboot/Makefile deleted file mode 100644 index 36f01dc64..000000000 --- a/qemu/tests/multiboot/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -CC=gcc -CCFLAGS=-m32 -Wall -Wextra -Werror -fno-stack-protector -nostdinc -fno-builtin -ASFLAGS=-m32 - -LD=ld -LDFLAGS=-melf_i386 -T link.ld -LIBS=$(shell $(CC) $(CCFLAGS) -print-libgcc-file-name) - -all: mmap.elf modules.elf - -mmap.elf: start.o mmap.o libc.o - $(LD) $(LDFLAGS) -o $@ $^ $(LIBS) - -modules.elf: start.o modules.o libc.o - $(LD) $(LDFLAGS) -o $@ $^ $(LIBS) - -%.o: %.c - $(CC) $(CCFLAGS) -c -o $@ $^ - -%.o: %.S - $(CC) $(ASFLAGS) -c -o $@ $^ diff --git a/qemu/tests/multiboot/libc.c b/qemu/tests/multiboot/libc.c deleted file mode 100644 index 6df9bda96..000000000 --- a/qemu/tests/multiboot/libc.c +++ /dev/null @@ -1,151 +0,0 @@ -/* - * Copyright (c) 2013 Kevin Wolf <kwolf@redhat.com> - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ - -#include "libc.h" - -void* memcpy(void *dest, const void *src, int n) -{ - char *d = dest; - const char *s = src; - - while (n--) { - *d++ = *s++; - } - - return dest; -} - -static void print_char(char c) -{ - outb(0xe9, c); -} - -static void print_str(char *s) -{ - while (*s) { - print_char(*s++); - } -} - -static void print_num(uint64_t value, int base) -{ - char digits[] = "0123456789abcdef"; - char buf[32] = { 0 }; - int i = sizeof(buf) - 2; - - do { - buf[i--] = digits[value % base]; - value /= base; - } while (value); - - print_str(&buf[i + 1]); -} - -void printf(const char *fmt, ...) -{ - va_list ap; - uint64_t val; - char *str; - int base; - int has_long; - int alt_form; - - va_start(ap, fmt); - - for (; *fmt; fmt++) { - if (*fmt != '%') { - print_char(*fmt); - continue; - } - fmt++; - - if (*fmt == '#') { - fmt++; - alt_form = 1; - } else { - alt_form = 0; - } - - if (*fmt == 'l') { - fmt++; - if (*fmt == 'l') { - fmt++; - has_long = 2; - } else { - has_long = 1; - } - } else { - has_long = 0; - } - - switch (*fmt) { - case 'x': - case 'p': - base = 16; - goto convert_number; - case 'd': - case 'i': - case 'u': - base = 10; - goto convert_number; - case 'o': - base = 8; - goto convert_number; - - convert_number: - switch (has_long) { - case 0: - val = va_arg(ap, unsigned int); - break; - case 1: - val = va_arg(ap, unsigned long); - break; - case 2: - val = va_arg(ap, unsigned long long); - break; - } - - if (alt_form && base == 16) { - print_str("0x"); - } - - print_num(val, base); - break; - - case 's': - str = va_arg(ap, char*); - print_str(str); - break; - case '%': - print_char(*fmt); - break; - default: - print_char('%'); - print_char(*fmt); - break; - } - } - - va_end(ap); -} - - diff --git a/qemu/tests/multiboot/libc.h b/qemu/tests/multiboot/libc.h deleted file mode 100644 index 04c9922c2..000000000 --- a/qemu/tests/multiboot/libc.h +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright (c) 2013 Kevin Wolf <kwolf@redhat.com> - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ - -#ifndef LIBC_H -#define LIBC_H - -/* Integer types */ - -typedef unsigned long long uint64_t; -typedef unsigned int uint32_t; -typedef unsigned short uint16_t; -typedef unsigned char uint8_t; - -typedef signed long long int64_t; -typedef signed int int32_t; -typedef signed short int16_t; -typedef signed char int8_t; - -typedef uint32_t uintptr_t; - - -/* stdarg.h */ - -typedef __builtin_va_list va_list; -#define va_start(ap, X) __builtin_va_start(ap, X) -#define va_arg(ap, type) __builtin_va_arg(ap, type) -#define va_end(ap) __builtin_va_end(ap) - - -/* Port I/O functions */ - -static inline void outb(uint16_t port, uint8_t data) -{ - asm volatile ("outb %0, %1" : : "a" (data), "Nd" (port)); -} - - -/* Misc functions */ - -void printf(const char *fmt, ...); -void* memcpy(void *dest, const void *src, int n); - -#endif diff --git a/qemu/tests/multiboot/link.ld b/qemu/tests/multiboot/link.ld deleted file mode 100644 index 3d49b58c6..000000000 --- a/qemu/tests/multiboot/link.ld +++ /dev/null @@ -1,19 +0,0 @@ -ENTRY(_start) - -SECTIONS -{ - . = 0x100000; - .text : { - *(multiboot) - *(.text) - } - .data ALIGN(4096) : { - *(.data) - } - .rodata ALIGN(4096) : { - *(.rodata) - } - .bss ALIGN(4096) : { - *(.bss) - } -} diff --git a/qemu/tests/multiboot/mmap.c b/qemu/tests/multiboot/mmap.c deleted file mode 100644 index 766b003f3..000000000 --- a/qemu/tests/multiboot/mmap.c +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Copyright (c) 2013 Kevin Wolf <kwolf@redhat.com> - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ - -#include "libc.h" -#include "multiboot.h" - -int test_main(uint32_t magic, struct mb_info *mbi) -{ - uintptr_t entry_addr; - struct mb_mmap_entry *entry; - - (void) magic; - - printf("Lower memory: %dk\n", mbi->mem_lower); - printf("Upper memory: %dk\n", mbi->mem_upper); - - printf("\ne820 memory map:\n"); - - for (entry_addr = mbi->mmap_addr; - entry_addr < mbi->mmap_addr + mbi->mmap_length; - entry_addr += entry->size + 4) - { - entry = (struct mb_mmap_entry*) entry_addr; - - printf("%#llx - %#llx: type %d [entry size: %d]\n", - entry->base_addr, - entry->base_addr + entry->length, - entry->type, - entry->size); - } - - printf("\nmmap start: %#x\n", mbi->mmap_addr); - printf("mmap end: %#x\n", mbi->mmap_addr + mbi->mmap_length); - printf("real mmap end: %#x\n", entry_addr); - - return 0; -} diff --git a/qemu/tests/multiboot/mmap.out b/qemu/tests/multiboot/mmap.out deleted file mode 100644 index 003e109b4..000000000 --- a/qemu/tests/multiboot/mmap.out +++ /dev/null @@ -1,92 +0,0 @@ - - - -=== Running test case: mmap.elf === - -Lower memory: 639k -Upper memory: 129920k - -e820 memory map: -0x0 - 0x9fc00: type 1 [entry size: 20] -0x9fc00 - 0xa0000: type 2 [entry size: 20] -0xf0000 - 0x100000: type 2 [entry size: 20] -0x100000 - 0x7fe0000: type 1 [entry size: 20] -0x7fe0000 - 0x8000000: type 2 [entry size: 20] -0xfffc0000 - 0x100000000: type 2 [entry size: 20] - -mmap start: 0x9000 -mmap end: 0x9090 -real mmap end: 0x9090 - - -=== Running test case: mmap.elf -m 1.1M === - -Lower memory: 639k -Upper memory: 104k - -e820 memory map: -0x0 - 0x9fc00: type 1 [entry size: 20] -0x9fc00 - 0xa0000: type 2 [entry size: 20] -0xf0000 - 0x100000: type 2 [entry size: 20] -0x100000 - 0x11a000: type 1 [entry size: 20] -0xfffc0000 - 0x100000000: type 2 [entry size: 20] - -mmap start: 0x9000 -mmap end: 0x9078 -real mmap end: 0x9078 - - -=== Running test case: mmap.elf -m 2G === - -Lower memory: 639k -Upper memory: 2096000k - -e820 memory map: -0x0 - 0x9fc00: type 1 [entry size: 20] -0x9fc00 - 0xa0000: type 2 [entry size: 20] -0xf0000 - 0x100000: type 2 [entry size: 20] -0x100000 - 0x7ffe0000: type 1 [entry size: 20] -0x7ffe0000 - 0x80000000: type 2 [entry size: 20] -0xfffc0000 - 0x100000000: type 2 [entry size: 20] - -mmap start: 0x9000 -mmap end: 0x9090 -real mmap end: 0x9090 - - -=== Running test case: mmap.elf -m 4G === - -Lower memory: 639k -Upper memory: 3144576k - -e820 memory map: -0x0 - 0x9fc00: type 1 [entry size: 20] -0x9fc00 - 0xa0000: type 2 [entry size: 20] -0xf0000 - 0x100000: type 2 [entry size: 20] -0x100000 - 0xbffe0000: type 1 [entry size: 20] -0xbffe0000 - 0xc0000000: type 2 [entry size: 20] -0xfffc0000 - 0x100000000: type 2 [entry size: 20] -0x100000000 - 0x140000000: type 1 [entry size: 20] - -mmap start: 0x9000 -mmap end: 0x90a8 -real mmap end: 0x90a8 - - -=== Running test case: mmap.elf -m 8G === - -Lower memory: 639k -Upper memory: 3144576k - -e820 memory map: -0x0 - 0x9fc00: type 1 [entry size: 20] -0x9fc00 - 0xa0000: type 2 [entry size: 20] -0xf0000 - 0x100000: type 2 [entry size: 20] -0x100000 - 0xbffe0000: type 1 [entry size: 20] -0xbffe0000 - 0xc0000000: type 2 [entry size: 20] -0xfffc0000 - 0x100000000: type 2 [entry size: 20] -0x100000000 - 0x240000000: type 1 [entry size: 20] - -mmap start: 0x9000 -mmap end: 0x90a8 -real mmap end: 0x90a8 diff --git a/qemu/tests/multiboot/module.txt b/qemu/tests/multiboot/module.txt deleted file mode 100644 index 54c1d2798..000000000 --- a/qemu/tests/multiboot/module.txt +++ /dev/null @@ -1 +0,0 @@ -This is a test file that is used as a multiboot module. diff --git a/qemu/tests/multiboot/modules.c b/qemu/tests/multiboot/modules.c deleted file mode 100644 index 531601fb3..000000000 --- a/qemu/tests/multiboot/modules.c +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright (c) 2015 Kevin Wolf <kwolf@redhat.com> - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ - -#include "libc.h" -#include "multiboot.h" - -int test_main(uint32_t magic, struct mb_info *mbi) -{ - struct mb_module *mod; - unsigned int i; - - (void) magic; - - printf("Module list with %d entries at %x\n", - mbi->mods_count, mbi->mods_addr); - - for (i = 0, mod = (struct mb_module*) mbi->mods_addr; - i < mbi->mods_count; - i++, mod++) - { - char buf[1024]; - unsigned int size = mod->mod_end - mod->mod_start; - - printf("[%p] Module: %x - %x (%d bytes) '%s'\n", - mod, mod->mod_start, mod->mod_end, size, mod->string); - - /* Print test file, but remove the newline at the end */ - if (size < sizeof(buf)) { - memcpy(buf, (void*) mod->mod_start, size); - buf[size - 1] = '\0'; - printf(" Content: '%s'\n", buf); - } - } - - return 0; -} diff --git a/qemu/tests/multiboot/modules.out b/qemu/tests/multiboot/modules.out deleted file mode 100644 index 163670803..000000000 --- a/qemu/tests/multiboot/modules.out +++ /dev/null @@ -1,38 +0,0 @@ - - - -=== Running test case: modules.elf === - -Module list with 0 entries at 102000 - - -=== Running test case: modules.elf -initrd module.txt === - -Module list with 1 entries at 102000 -[102000] Module: 103000 - 103038 (56 bytes) 'module.txt' - Content: 'This is a test file that is used as a multiboot module.' - - -=== Running test case: modules.elf -initrd module.txt argument === - -Module list with 1 entries at 102000 -[102000] Module: 103000 - 103038 (56 bytes) 'module.txt argument' - Content: 'This is a test file that is used as a multiboot module.' - - -=== Running test case: modules.elf -initrd module.txt argument,,with,,commas === - -Module list with 1 entries at 102000 -[102000] Module: 103000 - 103038 (56 bytes) 'module.txt argument,with,commas' - Content: 'This is a test file that is used as a multiboot module.' - - -=== Running test case: modules.elf -initrd module.txt,module.txt argument,module.txt === - -Module list with 3 entries at 102000 -[102000] Module: 103000 - 103038 (56 bytes) 'module.txt' - Content: 'This is a test file that is used as a multiboot module.' -[102010] Module: 104000 - 104038 (56 bytes) 'module.txt argument' - Content: 'This is a test file that is used as a multiboot module.' -[102020] Module: 105000 - 105038 (56 bytes) 'module.txt' - Content: 'This is a test file that is used as a multiboot module.' diff --git a/qemu/tests/multiboot/multiboot.h b/qemu/tests/multiboot/multiboot.h deleted file mode 100644 index 4eb1fbe5d..000000000 --- a/qemu/tests/multiboot/multiboot.h +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Copyright (c) 2013 Kevin Wolf <kwolf@redhat.com> - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ - -#ifndef MULTIBOOT_H -#define MULTIBOOT_H - -#include "libc.h" - -struct mb_info { - uint32_t flags; - uint32_t mem_lower; - uint32_t mem_upper; - uint32_t boot_device; - uint32_t cmdline; - uint32_t mods_count; - uint32_t mods_addr; - char syms[16]; - uint32_t mmap_length; - uint32_t mmap_addr; - uint32_t drives_length; - uint32_t drives_addr; - uint32_t config_table; - uint32_t boot_loader_name; - uint32_t apm_table; - uint32_t vbe_control_info; - uint32_t vbe_mode_info; - uint16_t vbe_mode; - uint16_t vbe_interface_seg; - uint16_t vbe_interface_off; - uint16_t vbe_interface_len; -} __attribute__((packed)); - -struct mb_module { - uint32_t mod_start; - uint32_t mod_end; - uint32_t string; - uint32_t reserved; -} __attribute__((packed)); - -struct mb_mmap_entry { - uint32_t size; - uint64_t base_addr; - uint64_t length; - uint32_t type; -} __attribute__((packed)); - -#endif diff --git a/qemu/tests/multiboot/run_test.sh b/qemu/tests/multiboot/run_test.sh deleted file mode 100755 index 78d7edfc3..000000000 --- a/qemu/tests/multiboot/run_test.sh +++ /dev/null @@ -1,88 +0,0 @@ -#!/bin/bash - -# Copyright (c) 2013 Kevin Wolf <kwolf@redhat.com> -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -# THE SOFTWARE. - -QEMU=${QEMU:-"../../x86_64-softmmu/qemu-system-x86_64"} - -run_qemu() { - local kernel=$1 - shift - - echo -e "\n\n=== Running test case: $kernel $@ ===\n" >> test.log - - $QEMU \ - -kernel $kernel \ - -display none \ - -device isa-debugcon,chardev=stdio \ - -chardev file,path=test.out,id=stdio \ - -device isa-debug-exit,iobase=0xf4,iosize=0x4 \ - "$@" - ret=$? - - cat test.out >> test.log -} - -mmap() { - run_qemu mmap.elf - run_qemu mmap.elf -m 1.1M - run_qemu mmap.elf -m 2G - run_qemu mmap.elf -m 4G - run_qemu mmap.elf -m 8G -} - -modules() { - run_qemu modules.elf - run_qemu modules.elf -initrd module.txt - run_qemu modules.elf -initrd "module.txt argument" - run_qemu modules.elf -initrd "module.txt argument,,with,,commas" - run_qemu modules.elf -initrd "module.txt,module.txt argument,module.txt" -} - -make all - -for t in mmap modules; do - - echo > test.log - $t - - debugexit=$((ret & 0x1)) - ret=$((ret >> 1)) - pass=1 - - if [ $debugexit != 1 ]; then - echo -e "\e[31m ?? \e[0m $t (no debugexit used, exit code $ret)" - pass=0 - elif [ $ret != 0 ]; then - echo -e "\e[31mFAIL\e[0m $t (exit code $ret)" - pass=0 - fi - - if ! diff $t.out test.log > /dev/null 2>&1; then - echo -e "\e[31mFAIL\e[0m $t (output difference)" - diff -u $t.out test.log - pass=0 - fi - - if [ $pass == 1 ]; then - echo -e "\e[32mPASS\e[0m $t" - fi - -done diff --git a/qemu/tests/multiboot/start.S b/qemu/tests/multiboot/start.S deleted file mode 100644 index 7d3395965..000000000 --- a/qemu/tests/multiboot/start.S +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright (c) 2013 Kevin Wolf <kwolf@redhat.com> - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ - -.section multiboot - -#define MB_MAGIC 0x1badb002 -#define MB_FLAGS 0x0 -#define MB_CHECKSUM -(MB_MAGIC + MB_FLAGS) - -.align 4 -.int MB_MAGIC -.int MB_FLAGS -.int MB_CHECKSUM - -.section .text -.global _start -_start: - mov $stack, %esp - push %ebx - push %eax - call test_main - - /* Test device exit */ - outl %eax, $0xf4 - - cli - hlt - jmp . - -.section bss -.space 8192 -stack: |