diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000000000000000000000000000000000000..ce91d30953ea3bc68f01726e75a723470ca58d1c --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,45 @@ +{ + "files.associations": { + "array": "c", + "deque": "c", + "list": "c", + "string": "c", + "unordered_map": "c", + "vector": "c", + "string_view": "c", + "initializer_list": "c", + "mmu.h": "c", + "*.tcc": "cpp", + "optional": "cpp", + "istream": "cpp", + "ostream": "cpp", + "ratio": "cpp", + "system_error": "cpp", + "functional": "cpp", + "tuple": "cpp", + "type_traits": "cpp", + "utility": "cpp", + "variant": "cpp", + "ioremap.h": "c", + "bsp.h": "c", + "x86_config.h": "c", + "types.h": "c", + "page.h": "c", + "complex": "c", + "stddef.h": "c", + "lwp_mm_area.h": "c", + "riscv_mmu.h": "c", + "rtthread.h": "c", + "cache.h": "c", + "stackframe.h": "c", + "lwp.h": "c", + "lwp_arch.h": "c", + "interrupt.h": "c", + "backtrace.h": "c", + "board.h": "c", + "drv_uart.h": "c", + "rtconfig.h": "c", + "x86_mmu.h": "c", + "tss.h": "c" + } +} \ No newline at end of file diff --git a/bsp/x86-old/Makefile b/bsp/x86-old/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..eb4654193b5100b8550a5bd399908da140cb04a7 --- /dev/null +++ b/bsp/x86-old/Makefile @@ -0,0 +1,46 @@ + +CC = gcc -O0 -m32 -fno-builtin -fno-stack-protector -nostdinc -nostdlib +LD = ld -melf_i386 -nostdlib + +all: rtthread rtsym exe dll floppy.img + @mkdir -p tmp + @sudo mount -t vfat floppy.img tmp -o loop + @sudo cp -fv rtthread.elf tmp/boot/oskernel + @sudo rm tmp/bin/* -fr + @sudo cp out/*.mo tmp/bin/ -fv + @sudo umount tmp + +rtthread: + @scons + +rtsym: + @./src/extract.sh ./rtthread-ia32.map ./src/rt_thread_sym.h + +obj: + mkdir -p obj + +out: + mkdir -p out + +dll: obj out + $(CC) -c -fPIC -Isrc src/hello.c -o out/hello.o + $(CC) -s -Wl,-shared,-melf_i386,--entry=main -o out/hello.mo out/hello.o + +disasm: obj out + $(CC) -shared -S -fPIC -Isrc src/hello.c -o obj/hello.s + cat obj/hello.s + objdump --disassemble out/hello.mo + +exe: obj out + + +clean: + scons -c clean + rm -fr build rtthread* out obj + +floppy.img: + wget https://github.com/bajdcc/tinix/raw/master/floppy.img + +# https://en.wikibooks.org/wiki/QEMU/Devices/Network +run: + qemu-system-i386 -fda floppy.img -boot a -m 64M -serial stdio -net nic,model=ne2k_pci diff --git a/bsp/x86-old/SConscript b/bsp/x86-old/SConscript new file mode 100644 index 0000000000000000000000000000000000000000..fe0ae941ae9a759ae478de901caec1c961e56af8 --- /dev/null +++ b/bsp/x86-old/SConscript @@ -0,0 +1,14 @@ +# for module compiling +import os +Import('RTT_ROOT') + +cwd = str(Dir('#')) +objs = [] +list = os.listdir(cwd) + +for d in list: + path = os.path.join(cwd, d) + if os.path.isfile(os.path.join(path, 'SConscript')): + objs = objs + SConscript(os.path.join(d, 'SConscript')) + +Return('objs') diff --git a/bsp/x86-old/SConstruct b/bsp/x86-old/SConstruct new file mode 100644 index 0000000000000000000000000000000000000000..d58455158ebd94645fc8fcd947ec3aa074489daf --- /dev/null +++ b/bsp/x86-old/SConstruct @@ -0,0 +1,30 @@ +import os +import sys +import rtconfig + +if os.getenv('RTT_ROOT'): + RTT_ROOT = os.getenv('RTT_ROOT') +else: + RTT_ROOT = os.path.normpath(os.getcwd() + '/../..') + +sys.path = sys.path + [os.path.join(RTT_ROOT, 'tools')] +from building import * + +TARGET = 'rtthread.' + rtconfig.TARGET_EXT + +DefaultEnvironment(tools=[]) +env = Environment(tools = ['mingw'], + AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS, + CC = rtconfig.CC, CCFLAGS = rtconfig.CFLAGS, + AR = rtconfig.AR, ARFLAGS = '-rc', + LINK = rtconfig.LINK, LINKFLAGS = rtconfig.LFLAGS) +env.PrependENVPath('PATH', rtconfig.EXEC_PATH) + +Export('RTT_ROOT') +Export('rtconfig') + +# prepare building environment +objs = PrepareBuilding(env, RTT_ROOT) + +# make a building +DoBuilding(TARGET, objs) diff --git a/bsp/x86-old/applications/SConscript b/bsp/x86-old/applications/SConscript new file mode 100644 index 0000000000000000000000000000000000000000..01eb940dfb35f92c503a78b0b49a4354590f9f3a --- /dev/null +++ b/bsp/x86-old/applications/SConscript @@ -0,0 +1,11 @@ +Import('RTT_ROOT') +Import('rtconfig') +from building import * + +cwd = os.path.join(str(Dir('#')), 'applications') +src = Glob('*.c') +CPPPATH = [cwd, str(Dir('#'))] + +group = DefineGroup('Applications', src, depend = [''], CPPPATH = CPPPATH) + +Return('group') diff --git a/bsp/x86/applications/application.c b/bsp/x86-old/applications/application.c similarity index 100% rename from bsp/x86/applications/application.c rename to bsp/x86-old/applications/application.c diff --git a/bsp/x86/applications/startup.c b/bsp/x86-old/applications/startup.c similarity index 100% rename from bsp/x86/applications/startup.c rename to bsp/x86-old/applications/startup.c diff --git a/bsp/x86-old/drivers/SConscript b/bsp/x86-old/drivers/SConscript new file mode 100644 index 0000000000000000000000000000000000000000..02046c4ba673461bab0c33d5dd7f3144d8bd7076 --- /dev/null +++ b/bsp/x86-old/drivers/SConscript @@ -0,0 +1,13 @@ +Import('RTT_ROOT') +Import('rtconfig') +from building import * + +cwd = os.path.join(str(Dir('#')), 'drivers') + +src = Glob('*.c') + +CPPPATH = [cwd, cwd + '/include'] + +group = DefineGroup('Drivers', src, depend = [''], CPPPATH = CPPPATH) + +Return('group') diff --git a/bsp/x86-old/drivers/board.c b/bsp/x86-old/drivers/board.c new file mode 100644 index 0000000000000000000000000000000000000000..211ae1832afc8e3641ab61f83b5ce4a37992e8b6 --- /dev/null +++ b/bsp/x86-old/drivers/board.c @@ -0,0 +1,74 @@ +/* + * File : board.c + * This file is part of RT-Thread RTOS + * COPYRIGHT (C) 2006, RT-Thread Development Team + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.fayfayspace.org/license/LICENSE. + * + * Change Logs: + * Date Author Notes + * 2006-09-15 QiuYi the first version + * 2006-10-10 Bernard add hardware related of finsh + */ + +#include +#include + +#include + +/** + * @addtogroup QEMU + */ +/*@{*/ + +static void rt_timer_handler(int vector, void* param) +{ + rt_tick_increase(); +} + +#ifdef RT_USING_HOOK +static void idle_hook(void) +{ + asm volatile("sti; hlt": : :"memory"); +} +#endif + +/** + * This function will init QEMU + * + */ +void rt_hw_board_init(void) +{ + /* initialize 8253 clock to interrupt 1000 times/sec */ + outb(TIMER_MODE, TIMER_SEL0|TIMER_RATEGEN|TIMER_16BIT); + outb(IO_TIMER1, TIMER_DIV(RT_TICK_PER_SECOND) % 256); + outb(IO_TIMER1, TIMER_DIV(RT_TICK_PER_SECOND) / 256); + + /* install interrupt handler */ + rt_hw_interrupt_install(INTTIMER0, rt_timer_handler, RT_NULL, "tick"); + rt_hw_interrupt_umask(INTTIMER0); + +#ifdef RT_USING_HOOK + rt_thread_idle_sethook(idle_hook); +#endif +} + +void restart(void) +{ + outb(KBSTATP, 0xFE); /* pulse reset low */ + while(1); +} + +#ifdef RT_USING_FINSH +#include +FINSH_FUNCTION_EXPORT(restart, reboot PC) + +void reboot(void) +{ + restart(); +} +FINSH_FUNCTION_EXPORT(reboot, reboot PC) +#endif +/*@}*/ diff --git a/bsp/x86-old/drivers/board.h b/bsp/x86-old/drivers/board.h new file mode 100644 index 0000000000000000000000000000000000000000..bc79f9ccfb42c20f53034ddad5fd68f2132fc5d1 --- /dev/null +++ b/bsp/x86-old/drivers/board.h @@ -0,0 +1,20 @@ +/* + * File : board.h + * This file is part of RT-Thread RTOS + * COPYRIGHT (C) 2006, RT-Thread Develop Team + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://openlab.rt-thread.com/license/LICENSE + * + * Change Logs: + * Date Author Notes + * 2006-10-09 Bernard first version + */ + +#ifndef __BOARD_H__ +#define __BOARD_H__ + +void rt_hw_board_init(void); + +#endif diff --git a/bsp/x86/drivers/console.c b/bsp/x86-old/drivers/console.c similarity index 100% rename from bsp/x86/drivers/console.c rename to bsp/x86-old/drivers/console.c diff --git a/bsp/x86/drivers/dma.h b/bsp/x86-old/drivers/dma.h similarity index 100% rename from bsp/x86/drivers/dma.h rename to bsp/x86-old/drivers/dma.h diff --git a/bsp/x86/drivers/floppy.c b/bsp/x86-old/drivers/floppy.c similarity index 100% rename from bsp/x86/drivers/floppy.c rename to bsp/x86-old/drivers/floppy.c diff --git a/bsp/x86/drivers/floppy.h b/bsp/x86-old/drivers/floppy.h similarity index 100% rename from bsp/x86/drivers/floppy.h rename to bsp/x86-old/drivers/floppy.h diff --git a/bsp/x86/drivers/include/bsp.h b/bsp/x86-old/drivers/include/bsp.h similarity index 100% rename from bsp/x86/drivers/include/bsp.h rename to bsp/x86-old/drivers/include/bsp.h diff --git a/bsp/x86/drivers/include/grub.h b/bsp/x86-old/drivers/include/grub.h similarity index 100% rename from bsp/x86/drivers/include/grub.h rename to bsp/x86-old/drivers/include/grub.h diff --git a/bsp/x86/drivers/include/i386.h b/bsp/x86-old/drivers/include/i386.h similarity index 100% rename from bsp/x86/drivers/include/i386.h rename to bsp/x86-old/drivers/include/i386.h diff --git a/bsp/x86/drivers/keyboard.c b/bsp/x86-old/drivers/keyboard.c similarity index 100% rename from bsp/x86/drivers/keyboard.c rename to bsp/x86-old/drivers/keyboard.c diff --git a/bsp/x86/drivers/keyboard.h b/bsp/x86-old/drivers/keyboard.h similarity index 100% rename from bsp/x86/drivers/keyboard.h rename to bsp/x86-old/drivers/keyboard.h diff --git a/bsp/x86/drivers/keymap.h b/bsp/x86-old/drivers/keymap.h similarity index 100% rename from bsp/x86/drivers/keymap.h rename to bsp/x86-old/drivers/keymap.h diff --git a/bsp/x86/drivers/serial.c b/bsp/x86-old/drivers/serial.c similarity index 100% rename from bsp/x86/drivers/serial.c rename to bsp/x86-old/drivers/serial.c diff --git a/bsp/x86-old/rtconfig.h b/bsp/x86-old/rtconfig.h new file mode 100644 index 0000000000000000000000000000000000000000..c4cdac1fdca971e331a25795c97a11164d0c2c6a --- /dev/null +++ b/bsp/x86-old/rtconfig.h @@ -0,0 +1,180 @@ +/* RT-Thread config file */ +#ifndef __RTTHREAD_CFG_H__ +#define __RTTHREAD_CFG_H__ + +/* RT_NAME_MAX*/ +#define RT_NAME_MAX 8 + +/* RT_ALIGN_SIZE*/ +#define RT_ALIGN_SIZE 8 + +/* PRIORITY_MAX */ +#define RT_THREAD_PRIORITY_MAX 32 + +/* Tick per Second */ +#define RT_TICK_PER_SECOND 1000 + +/* SECTION: RT_DEBUG */ +/* Thread Debug */ +#define RT_DEBUG +#define RT_DEBUG_COLOR +#define RT_DEBUG_MODULE 0 + +#define RT_USING_OVERFLOW_CHECK + +/* Using Hook */ +#define RT_USING_HOOK + +/* Using Software Timer */ +/* #define RT_USING_TIMER_SOFT */ +#define RT_TIMER_THREAD_PRIO 4 +#define RT_TIMER_THREAD_STACK_SIZE 512 +#define RT_TIMER_TICK_PER_SECOND 10 + +/* SECTION: IPC */ +/* Using Semaphore*/ +#define RT_USING_SEMAPHORE + +/* Using Mutex */ +#define RT_USING_MUTEX + +/* Using Event */ +#define RT_USING_EVENT + +/* Using MailBox */ +#define RT_USING_MAILBOX + +/* Using Message Queue */ +#define RT_USING_MESSAGEQUEUE + +/* SECTION: Memory Management */ +/* Using Memory Pool Management*/ +#define RT_USING_MEMPOOL + +/* Using Dynamic Heap Management */ +#define RT_USING_HEAP + +/* Using Small MM */ +#define RT_USING_SMALL_MEM + +/* SECTION: Device System */ +/* Using Device System */ +#define RT_USING_DEVICE + +/* SECTION: Console options */ +#define RT_USING_CONSOLE +/* the buffer size of console*/ +#define RT_CONSOLEBUF_SIZE 128 + +#define IDLE_THREAD_STACK_SIZE 1024 /* idle stack 1K */ + +/* SECTION: finsh, a C-Express shell */ +#define RT_USING_FINSH +#define FINSH_USING_MSH +#define FINSH_USING_MSH_ONLY +/* Using symbol table */ +#define FINSH_USING_SYMTAB +#define FINSH_USING_DESCRIPTION + +// #define RT_USING_LIBC +// #define RT_USING_PTHREADS + +/* SECTION: device filesystem */ + #define RT_USING_DFS + +#define RT_USING_DFS_ELMFAT +#define RT_DFS_ELM_WORD_ACCESS +/* Reentrancy (thread safe) of the FatFs module. */ +#define RT_DFS_ELM_REENTRANT +/* Number of volumes (logical drives) to be used. */ +#define RT_DFS_ELM_DRIVES 2 +/* #define RT_DFS_ELM_USE_LFN 1 */ +#define RT_DFS_ELM_MAX_LFN 255 +/* Maximum sector size to be handled. */ +#define RT_DFS_ELM_MAX_SECTOR_SIZE 512 + +/* the max number of mounted filesystem */ +#define DFS_FILESYSTEMS_MAX 2 +/* the max number of opened files */ +#define DFS_FD_MAX 4 + +#define RT_USING_DFS_DEVFS + +/* SECTION: lwip, a lighwight TCP/IP protocol stack */ +//#define RT_USING_LWIP +/* Enable ICMP protocol*/ +#define RT_LWIP_ICMP +/* Enable UDP protocol*/ +#define RT_LWIP_UDP +/* Enable TCP protocol*/ +#define RT_LWIP_TCP +/* Enable DNS */ +#define RT_LWIP_DNS + +/* the number of simulatenously active TCP connections*/ +#define RT_LWIP_TCP_PCB_NUM 5 + +/* Using DHCP */ +/* #define RT_LWIP_DHCP */ + +/* ip address of target*/ +#define RT_LWIP_IPADDR0 192 +#define RT_LWIP_IPADDR1 168 +#define RT_LWIP_IPADDR2 1 +#define RT_LWIP_IPADDR3 30 + +/* gateway address of target*/ +#define RT_LWIP_GWADDR0 192 +#define RT_LWIP_GWADDR1 168 +#define RT_LWIP_GWADDR2 1 +#define RT_LWIP_GWADDR3 1 + +/* mask address of target*/ +#define RT_LWIP_MSKADDR0 255 +#define RT_LWIP_MSKADDR1 255 +#define RT_LWIP_MSKADDR2 255 +#define RT_LWIP_MSKADDR3 0 + +/* tcp thread options */ +#define RT_LWIP_TCPTHREAD_PRIORITY 12 +#define RT_LWIP_TCPTHREAD_MBOX_SIZE 10 +#define RT_LWIP_TCPTHREAD_STACKSIZE 1024 + +/* ethernet if thread options */ +#define RT_LWIP_ETHTHREAD_PRIORITY 15 +#define RT_LWIP_ETHTHREAD_MBOX_SIZE 10 +#define RT_LWIP_ETHTHREAD_STACKSIZE 512 + +/* TCP sender buffer space */ +#define RT_LWIP_TCP_SND_BUF 8192 +/* TCP receive window. */ +#define RT_LWIP_TCP_WND 8192 + +/* SECTION: RT-Thread/GUI */ +/* #define RT_USING_RTGUI */ + +/* name length of RTGUI object */ +#define RTGUI_NAME_MAX 12 +/* support 16 weight font */ +#define RTGUI_USING_FONT16 +/* support Chinese font */ +#define RTGUI_USING_FONTHZ +/* use DFS as file interface */ +#define RTGUI_USING_DFS_FILERW +/* use font file as Chinese font */ +#define RTGUI_USING_HZ_FILE +/* use Chinese bitmap font */ +#define RTGUI_USING_HZ_BMP +/* use small size in RTGUI */ +#define RTGUI_USING_SMALL_SIZE +/* use mouse cursor */ +/* #define RTGUI_USING_MOUSE_CURSOR */ +/* default font size in RTGUI */ +#define RTGUI_DEFAULT_FONT_SIZE 16 + +/* image support */ +/* #define RTGUI_IMAGE_XPM */ +/* #define RTGUI_IMAGE_BMP */ + +// #define RT_USING_MODULE +#endif diff --git a/bsp/x86-old/rtconfig.py b/bsp/x86-old/rtconfig.py new file mode 100644 index 0000000000000000000000000000000000000000..13eca65afe9533aec31ddacaef4b843d3f240753 --- /dev/null +++ b/bsp/x86-old/rtconfig.py @@ -0,0 +1,60 @@ +import os + +# toolchains options +ARCH='ia32' +CPU='' +CROSS_TOOL='gcc' + +if os.getenv('RTT_CC'): + CROSS_TOOL = os.getenv('RTT_CC') + +# cross_tool provides the cross compiler +# EXEC_PATH is the compiler execute path, for example, CodeSourcery, + +if CROSS_TOOL == 'gcc': + PLATFORM = 'gcc' + #EXEC_PATH = 'E:/Program Files/CodeSourcery/Sourcery_CodeBench_Lite_for_IA32_ELF/bin' + EXEC_PATH = '/usr/bin' +elif CROSS_TOOL == 'keil': + print('================ERROR============================') + print('Not support keil yet!') + print('=================================================') + exit(0) +elif CROSS_TOOL == 'iar': + print('================ERROR============================') + print('Not support iar yet!') + print('=================================================') + exit(0) + +if os.getenv('RTT_EXEC_PATH'): + EXEC_PATH = os.getenv('RTT_EXEC_PATH') + +BUILD = 'debug' + +if PLATFORM == 'gcc': + # toolchains + PREFIX = '' + CC = PREFIX + 'gcc -m32 -fno-builtin -fno-stack-protector' + AS = PREFIX + 'gcc -m32' + AR = PREFIX + 'ar' + LINK = PREFIX + 'ld -melf_i386' + TARGET_EXT = 'elf' + SIZE = PREFIX + 'size' + OBJDUMP = PREFIX + 'objdump' + OBJCPY = PREFIX + 'objcopy' + + DEVICE = '' + CFLAGS = DEVICE + ' -Wall' + AFLAGS = ' -c' + DEVICE + ' -x assembler-with-cpp' + LFLAGS = DEVICE + ' -Map rtthread-ia32.map -T x86_ram.lds -nostdlib' + + CPATH = '' + LPATH = '' + + if BUILD == 'debug': + CFLAGS += ' -O0 -gdwarf-2' + AFLAGS += ' -gdwarf-2' + else: + CFLAGS += ' -O2' + + POST_ACTION = OBJCPY + ' -O binary $TARGET rtthread.bin\n' + SIZE + ' $TARGET \n' diff --git a/bsp/x86/src/extract.sh b/bsp/x86-old/src/extract.sh similarity index 100% rename from bsp/x86/src/extract.sh rename to bsp/x86-old/src/extract.sh diff --git a/bsp/x86/src/hello.c b/bsp/x86-old/src/hello.c similarity index 100% rename from bsp/x86/src/hello.c rename to bsp/x86-old/src/hello.c diff --git a/bsp/x86/src/stdio.h b/bsp/x86-old/src/stdio.h similarity index 100% rename from bsp/x86/src/stdio.h rename to bsp/x86-old/src/stdio.h diff --git a/bsp/x86/x86_ram.lds b/bsp/x86-old/x86_ram.lds similarity index 100% rename from bsp/x86/x86_ram.lds rename to bsp/x86-old/x86_ram.lds diff --git a/bsp/x86/.config b/bsp/x86/.config new file mode 100644 index 0000000000000000000000000000000000000000..91da0ce5df94e6c59c2d46707a90614536662291 --- /dev/null +++ b/bsp/x86/.config @@ -0,0 +1,577 @@ +# +# Automatically generated file; DO NOT EDIT. +# RT-Thread Project Configuration +# + +# +# RT-Thread Kernel +# +CONFIG_RT_NAME_MAX=20 +# CONFIG_RT_USING_ARCH_DATA_TYPE is not set +CONFIG_RT_USING_SMART=y +# CONFIG_RT_USING_SMP is not set +CONFIG_RT_ALIGN_SIZE=4 +# CONFIG_RT_THREAD_PRIORITY_8 is not set +CONFIG_RT_THREAD_PRIORITY_32=y +# CONFIG_RT_THREAD_PRIORITY_256 is not set +CONFIG_RT_THREAD_PRIORITY_MAX=32 +CONFIG_RT_TICK_PER_SECOND=100 +# CONFIG_RT_USING_OVERFLOW_CHECK is not set +CONFIG_RT_USING_HOOK=y +CONFIG_RT_USING_IDLE_HOOK=y +CONFIG_RT_IDLE_HOOK_LIST_SIZE=4 +CONFIG_IDLE_THREAD_STACK_SIZE=16384 +CONFIG_RT_USING_TIMER_SOFT=y +CONFIG_RT_TIMER_THREAD_PRIO=4 +CONFIG_RT_TIMER_THREAD_STACK_SIZE=16384 +CONFIG_RT_DEBUG=y +# CONFIG_RT_DEBUG_COLOR is not set +# CONFIG_RT_DEBUG_INIT_CONFIG is not set +# CONFIG_RT_DEBUG_THREAD_CONFIG is not set +# CONFIG_RT_DEBUG_SCHEDULER_CONFIG is not set +# CONFIG_RT_DEBUG_IPC_CONFIG is not set +# CONFIG_RT_DEBUG_TIMER_CONFIG is not set +# CONFIG_RT_DEBUG_IRQ_CONFIG is not set +# CONFIG_RT_DEBUG_MEM_CONFIG is not set +# CONFIG_RT_DEBUG_SLAB_CONFIG is not set +# CONFIG_RT_DEBUG_MEMHEAP_CONFIG is not set +# CONFIG_RT_DEBUG_MODULE_CONFIG is not set + +# +# Inter-Thread communication +# +CONFIG_RT_USING_SEMAPHORE=y +CONFIG_RT_USING_MUTEX=y +CONFIG_RT_USING_EVENT=y +CONFIG_RT_USING_MAILBOX=y +CONFIG_RT_USING_MESSAGEQUEUE=y +CONFIG_RT_USING_SIGNALS=y + +# +# Memory Management +# +CONFIG_RT_USING_MEMPOOL=y +# CONFIG_RT_USING_MEMHEAP is not set +# CONFIG_RT_USING_NOHEAP is not set +CONFIG_RT_USING_SMALL_MEM=y +# CONFIG_RT_USING_SLAB is not set +# CONFIG_RT_USING_MEMTRACE is not set +CONFIG_RT_USING_HEAP=y + +# +# Kernel Device Object +# +CONFIG_RT_USING_DEVICE=y +# CONFIG_RT_USING_DEVICE_OPS is not set +# CONFIG_RT_USING_INTERRUPT_INFO is not set +CONFIG_RT_USING_CONSOLE=y +CONFIG_RT_CONSOLEBUF_SIZE=256 +CONFIG_RT_CONSOLE_DEVICE_NAME="uart0" +CONFIG_RT_VER_NUM=0x50000 +CONFIG_RT_USING_CACHE=y +# CONFIG_RT_USING_CPU_FFS is not set +# CONFIG_ARCH_CPU_STACK_GROWS_UPWARD is not set +CONFIG_RT_USING_USERSPACE=y +CONFIG_KERNEL_VADDR_START=0x00000000 +CONFIG_PV_OFFSET=0 +CONFIG_ARCH_X86=y + +# +# RT-Thread Components +# +CONFIG_RT_USING_COMPONENTS_INIT=y +CONFIG_RT_USING_USER_MAIN=y +CONFIG_RT_MAIN_THREAD_STACK_SIZE=2048 +CONFIG_RT_MAIN_THREAD_PRIORITY=10 + +# +# C++ features +# +# CONFIG_RT_USING_CPLUSPLUS is not set + +# +# Command shell +# +CONFIG_RT_USING_FINSH=y +CONFIG_RT_USING_MSH=y +CONFIG_FINSH_THREAD_NAME="tshell" +CONFIG_FINSH_USING_HISTORY=y +CONFIG_FINSH_HISTORY_LINES=5 +CONFIG_FINSH_USING_SYMTAB=y +CONFIG_FINSH_USING_DESCRIPTION=y +# CONFIG_FINSH_ECHO_DISABLE_DEFAULT is not set +CONFIG_FINSH_THREAD_PRIORITY=20 +CONFIG_FINSH_THREAD_STACK_SIZE=4096 +CONFIG_FINSH_CMD_SIZE=80 +# CONFIG_FINSH_USING_AUTH is not set +CONFIG_FINSH_ARG_MAX=10 + +# +# Device virtual file system +# +CONFIG_RT_USING_DFS=y +CONFIG_DFS_USING_WORKDIR=y +CONFIG_DFS_FILESYSTEMS_MAX=2 +CONFIG_DFS_FILESYSTEM_TYPES_MAX=2 +CONFIG_DFS_FD_MAX=16 +# CONFIG_RT_USING_DFS_MNTTABLE is not set +# CONFIG_RT_USING_DFS_ELMFAT is not set +CONFIG_RT_USING_DFS_DEVFS=y +CONFIG_RT_USING_DFS_ROMFS=y +# CONFIG_RT_USING_DFS_CROMFS is not set +# CONFIG_RT_USING_DFS_RAMFS is not set +# CONFIG_RT_USING_DFS_UFFS is not set +# CONFIG_RT_USING_DFS_JFFS2 is not set + +# +# Device Drivers +# +CONFIG_RT_USING_DEVICE_IPC=y +CONFIG_RT_PIPE_BUFSZ=512 +# CONFIG_RT_USING_SYSTEM_WORKQUEUE is not set +CONFIG_RT_USING_SERIAL=y +# CONFIG_RT_SERIAL_USING_DMA is not set +CONFIG_RT_SERIAL_RB_BUFSZ=64 +# CONFIG_RT_USING_CAN is not set +# CONFIG_RT_USING_HWTIMER is not set +# CONFIG_RT_USING_CPUTIME is not set +# CONFIG_RT_USING_I2C is not set +# CONFIG_RT_USING_PHY is not set +# CONFIG_RT_USING_PIN is not set +# CONFIG_RT_USING_ADC is not set +# CONFIG_RT_USING_DAC is not set +# CONFIG_RT_USING_NULL is not set +# CONFIG_RT_USING_ZERO is not set +# CONFIG_RT_USING_RANDOM is not set +# CONFIG_RT_USING_PWM is not set +# CONFIG_RT_USING_MTD_NOR is not set +# CONFIG_RT_USING_MTD_NAND is not set +# CONFIG_RT_USING_PM is not set +# CONFIG_RT_USING_RTC is not set +# CONFIG_RT_USING_SDIO is not set +# CONFIG_RT_USING_SPI is not set +# CONFIG_RT_USING_WDT is not set +# CONFIG_RT_USING_AUDIO is not set +# CONFIG_RT_USING_SENSOR is not set +# CONFIG_RT_USING_TOUCH is not set +# CONFIG_RT_USING_HWCRYPTO is not set +# CONFIG_RT_USING_PULSE_ENCODER is not set +# CONFIG_RT_USING_INPUT_CAPTURE is not set +# CONFIG_RT_USING_WIFI is not set + +# +# Using USB +# +# CONFIG_RT_USING_USB_HOST is not set +# CONFIG_RT_USING_USB_DEVICE is not set + +# +# POSIX layer and C standard library +# +CONFIG_RT_USING_LIBC=y +# CONFIG_RT_USING_NEWLIB is not set +CONFIG_RT_USING_MUSL=y +# CONFIG_RT_USING_PTHREADS is not set +CONFIG_RT_USING_POSIX=y +# CONFIG_RT_USING_POSIX_MMAP is not set +# CONFIG_RT_USING_POSIX_TERMIOS is not set +# CONFIG_RT_USING_POSIX_GETLINE is not set +# CONFIG_RT_USING_POSIX_AIO is not set +CONFIG_RT_USING_POSIX_CLOCKTIME=y +# CONFIG_RT_USING_MODULE is not set + +# +# Network +# + +# +# Socket abstraction layer +# +# CONFIG_RT_USING_SAL is not set + +# +# Network interface device +# +# CONFIG_RT_USING_NETDEV is not set + +# +# light weight TCP/IP stack +# +# CONFIG_RT_USING_LWIP is not set + +# +# AT commands +# +# CONFIG_RT_USING_AT is not set + +# +# VBUS(Virtual Software BUS) +# +# CONFIG_RT_USING_VBUS is not set + +# +# Utilities +# +# CONFIG_RT_USING_RYM is not set +# CONFIG_RT_USING_ULOG is not set +# CONFIG_RT_USING_UTEST is not set +# CONFIG_RT_USING_RT_LINK is not set +CONFIG_RT_USING_LWP=y +CONFIG_RT_LWP_MAX_NR=30 +CONFIG_LWP_TASK_STACK_SIZE=16384 +CONFIG_RT_CH_MSG_MAX_NR=1024 +CONFIG_RT_LWP_SHM_MAX_NR=64 +CONFIG_LWP_CONSOLE_INPUT_BUFFER_SIZE=1024 +CONFIG_LWP_TID_MAX_NR=64 +# CONFIG_LWP_UNIX98_PTY is not set + +# +# RT-Thread online packages +# + +# +# IoT - internet of things +# +# CONFIG_PKG_USING_LORAWAN_DRIVER is not set +# CONFIG_PKG_USING_PAHOMQTT is not set +# CONFIG_PKG_USING_UMQTT is not set +# CONFIG_PKG_USING_WEBCLIENT is not set +# CONFIG_PKG_USING_WEBNET is not set +# CONFIG_PKG_USING_MONGOOSE is not set +# CONFIG_PKG_USING_MYMQTT is not set +# CONFIG_PKG_USING_KAWAII_MQTT is not set +# CONFIG_PKG_USING_BC28_MQTT is not set +# CONFIG_PKG_USING_WEBTERMINAL is not set +# CONFIG_PKG_USING_CJSON is not set +# CONFIG_PKG_USING_JSMN is not set +# CONFIG_PKG_USING_LIBMODBUS is not set +# CONFIG_PKG_USING_FREEMODBUS is not set +# CONFIG_PKG_USING_LJSON is not set +# CONFIG_PKG_USING_EZXML is not set +# CONFIG_PKG_USING_NANOPB is not set + +# +# Wi-Fi +# + +# +# Marvell WiFi +# +# CONFIG_PKG_USING_WLANMARVELL is not set + +# +# Wiced WiFi +# +# CONFIG_PKG_USING_WLAN_WICED is not set +# CONFIG_PKG_USING_RW007 is not set +# CONFIG_PKG_USING_COAP is not set +# CONFIG_PKG_USING_NOPOLL is not set +# CONFIG_PKG_USING_NETUTILS is not set +# CONFIG_PKG_USING_CMUX is not set +# CONFIG_PKG_USING_PPP_DEVICE is not set +# CONFIG_PKG_USING_AT_DEVICE is not set +# CONFIG_PKG_USING_ATSRV_SOCKET is not set +# CONFIG_PKG_USING_WIZNET is not set + +# +# IoT Cloud +# +# CONFIG_PKG_USING_ONENET is not set +# CONFIG_PKG_USING_GAGENT_CLOUD is not set +# CONFIG_PKG_USING_ALI_IOTKIT is not set +# CONFIG_PKG_USING_AZURE is not set +# CONFIG_PKG_USING_TENCENT_IOT_EXPLORER is not set +# CONFIG_PKG_USING_JIOT-C-SDK is not set +# CONFIG_PKG_USING_UCLOUD_IOT_SDK is not set +# CONFIG_PKG_USING_JOYLINK is not set +# CONFIG_PKG_USING_NIMBLE is not set +# CONFIG_PKG_USING_OTA_DOWNLOADER is not set +# CONFIG_PKG_USING_IPMSG is not set +# CONFIG_PKG_USING_LSSDP is not set +# CONFIG_PKG_USING_AIRKISS_OPEN is not set +# CONFIG_PKG_USING_LIBRWS is not set +# CONFIG_PKG_USING_TCPSERVER is not set +# CONFIG_PKG_USING_PROTOBUF_C is not set +# CONFIG_PKG_USING_DLT645 is not set +# CONFIG_PKG_USING_QXWZ is not set +# CONFIG_PKG_USING_SMTP_CLIENT is not set +# CONFIG_PKG_USING_ABUP_FOTA is not set +# CONFIG_PKG_USING_LIBCURL2RTT is not set +# CONFIG_PKG_USING_CAPNP is not set +# CONFIG_PKG_USING_RT_CJSON_TOOLS is not set +# CONFIG_PKG_USING_AGILE_TELNET is not set +# CONFIG_PKG_USING_NMEALIB is not set +# CONFIG_PKG_USING_AGILE_JSMN is not set +# CONFIG_PKG_USING_PDULIB is not set +# CONFIG_PKG_USING_BTSTACK is not set +# CONFIG_PKG_USING_LORAWAN_ED_STACK is not set +# CONFIG_PKG_USING_WAYZ_IOTKIT is not set +# CONFIG_PKG_USING_MAVLINK is not set +# CONFIG_PKG_USING_RAPIDJSON is not set +# CONFIG_PKG_USING_BSAL is not set +# CONFIG_PKG_USING_AGILE_MODBUS is not set +# CONFIG_PKG_USING_AGILE_FTP is not set +# CONFIG_PKG_USING_EMBEDDEDPROTO is not set + +# +# security packages +# +# CONFIG_PKG_USING_MBEDTLS is not set +# CONFIG_PKG_USING_libsodium is not set +# CONFIG_PKG_USING_TINYCRYPT is not set +# CONFIG_PKG_USING_TFM is not set +# CONFIG_PKG_USING_YD_CRYPTO is not set + +# +# language packages +# +# CONFIG_PKG_USING_LUA is not set +# CONFIG_PKG_USING_JERRYSCRIPT is not set +# CONFIG_PKG_USING_MICROPYTHON is not set + +# +# multimedia packages +# +# CONFIG_PKG_USING_OPENMV is not set +# CONFIG_PKG_USING_MUPDF is not set +# CONFIG_PKG_USING_STEMWIN is not set +# CONFIG_PKG_USING_WAVPLAYER is not set +# CONFIG_PKG_USING_TJPGD is not set +# CONFIG_PKG_USING_PDFGEN is not set +# CONFIG_PKG_USING_HELIX is not set +# CONFIG_PKG_USING_AZUREGUIX is not set +# CONFIG_PKG_USING_TOUCHGFX2RTT is not set +# CONFIG_PKG_USING_NUEMWIN is not set +# CONFIG_PKG_USING_MP3PLAYER is not set +# CONFIG_PKG_USING_TINYJPEG is not set + +# +# tools packages +# +# CONFIG_PKG_USING_CMBACKTRACE is not set +# CONFIG_PKG_USING_EASYFLASH is not set +# CONFIG_PKG_USING_EASYLOGGER is not set +# CONFIG_PKG_USING_SYSTEMVIEW is not set +# CONFIG_PKG_USING_SEGGER_RTT is not set +# CONFIG_PKG_USING_RDB is not set +# CONFIG_PKG_USING_QRCODE is not set +# CONFIG_PKG_USING_ULOG_EASYFLASH is not set +# CONFIG_PKG_USING_ULOG_FILE is not set +# CONFIG_PKG_USING_LOGMGR is not set +# CONFIG_PKG_USING_ADBD is not set +# CONFIG_PKG_USING_COREMARK is not set +# CONFIG_PKG_USING_DHRYSTONE is not set +# CONFIG_PKG_USING_MEMORYPERF is not set +# CONFIG_PKG_USING_NR_MICRO_SHELL is not set +# CONFIG_PKG_USING_CHINESE_FONT_LIBRARY is not set +# CONFIG_PKG_USING_LUNAR_CALENDAR is not set +# CONFIG_PKG_USING_BS8116A is not set +# CONFIG_PKG_USING_GPS_RMC is not set +# CONFIG_PKG_USING_URLENCODE is not set +# CONFIG_PKG_USING_UMCN is not set +# CONFIG_PKG_USING_LWRB2RTT is not set +# CONFIG_PKG_USING_CPU_USAGE is not set +# CONFIG_PKG_USING_GBK2UTF8 is not set +# CONFIG_PKG_USING_VCONSOLE is not set +# CONFIG_PKG_USING_KDB is not set +# CONFIG_PKG_USING_WAMR is not set +# CONFIG_PKG_USING_MICRO_XRCE_DDS_CLIENT is not set +# CONFIG_PKG_USING_LWLOG is not set +# CONFIG_PKG_USING_ANV_TRACE is not set +# CONFIG_PKG_USING_ANV_MEMLEAK is not set +# CONFIG_PKG_USING_ANV_TESTSUIT is not set +# CONFIG_PKG_USING_ANV_BENCH is not set +# CONFIG_PKG_USING_DEVMEM is not set +# CONFIG_PKG_USING_REGEX is not set +# CONFIG_PKG_USING_MEM_SANDBOX is not set +# CONFIG_PKG_USING_SOLAR_TERMS is not set +# CONFIG_PKG_USING_GAN_ZHI is not set + +# +# system packages +# + +# +# acceleration: Assembly language or algorithmic acceleration packages +# +# CONFIG_PKG_USING_RT_MEMCPY_CM is not set +# CONFIG_PKG_USING_QFPLIB_M0_FULL is not set +# CONFIG_PKG_USING_QFPLIB_M0_TINY is not set +# CONFIG_PKG_USING_QFPLIB_M3 is not set + +# +# Micrium: Micrium software products porting for RT-Thread +# +# CONFIG_PKG_USING_UCOSIII_WRAPPER is not set +# CONFIG_PKG_USING_UCOSII_WRAPPER is not set +# CONFIG_PKG_USING_UC_CRC is not set +# CONFIG_PKG_USING_UC_CLK is not set +# CONFIG_PKG_USING_UC_COMMON is not set +# CONFIG_PKG_USING_UC_MODBUS is not set +# CONFIG_PKG_USING_GUIENGINE is not set +# CONFIG_PKG_USING_CAIRO is not set +# CONFIG_PKG_USING_PIXMAN is not set +# CONFIG_PKG_USING_PARTITION is not set +# CONFIG_PKG_USING_FAL is not set +# CONFIG_PKG_USING_FLASHDB is not set +# CONFIG_PKG_USING_SQLITE is not set +# CONFIG_PKG_USING_RTI is not set +# CONFIG_PKG_USING_LITTLEVGL2RTT is not set +# CONFIG_PKG_USING_CMSIS is not set +# CONFIG_PKG_USING_DFS_YAFFS is not set +# CONFIG_PKG_USING_LITTLEFS is not set +# CONFIG_PKG_USING_DFS_JFFS2 is not set +# CONFIG_PKG_USING_DFS_UFFS is not set +# CONFIG_PKG_USING_LWEXT4 is not set +# CONFIG_PKG_USING_THREAD_POOL is not set +# CONFIG_PKG_USING_ROBOTS is not set +# CONFIG_PKG_USING_EV is not set +# CONFIG_PKG_USING_SYSWATCH is not set +# CONFIG_PKG_USING_SYS_LOAD_MONITOR is not set +# CONFIG_PKG_USING_PLCCORE is not set +# CONFIG_PKG_USING_RAMDISK is not set +# CONFIG_PKG_USING_MININI is not set +# CONFIG_PKG_USING_QBOOT is not set +# CONFIG_PKG_USING_PPOOL is not set +# CONFIG_PKG_USING_OPENAMP is not set +# CONFIG_PKG_USING_RT_KPRINTF_THREADSAFE is not set +# CONFIG_PKG_USING_LPM is not set +# CONFIG_PKG_USING_TLSF is not set +# CONFIG_PKG_USING_EVENT_RECORDER is not set + +# +# peripheral libraries and drivers +# +# CONFIG_PKG_USING_SENSORS_DRIVERS is not set +# CONFIG_PKG_USING_REALTEK_AMEBA is not set +# CONFIG_PKG_USING_SHT2X is not set +# CONFIG_PKG_USING_SHT3X is not set +# CONFIG_PKG_USING_AS7341 is not set +# CONFIG_PKG_USING_STM32_SDIO is not set +# CONFIG_PKG_USING_ICM20608 is not set +# CONFIG_PKG_USING_U8G2 is not set +# CONFIG_PKG_USING_BUTTON is not set +# CONFIG_PKG_USING_PCF8574 is not set +# CONFIG_PKG_USING_SX12XX is not set +# CONFIG_PKG_USING_SIGNAL_LED is not set +# CONFIG_PKG_USING_LEDBLINK is not set +# CONFIG_PKG_USING_LITTLED is not set +# CONFIG_PKG_USING_LKDGUI is not set +# CONFIG_PKG_USING_NRF5X_SDK is not set +# CONFIG_PKG_USING_NRFX is not set +# CONFIG_PKG_USING_WM_LIBRARIES is not set +# CONFIG_PKG_USING_KENDRYTE_SDK is not set +# CONFIG_PKG_USING_INFRARED is not set +# CONFIG_PKG_USING_AGILE_BUTTON is not set +# CONFIG_PKG_USING_AGILE_LED is not set +# CONFIG_PKG_USING_AT24CXX is not set +# CONFIG_PKG_USING_MOTIONDRIVER2RTT is not set +# CONFIG_PKG_USING_AD7746 is not set +# CONFIG_PKG_USING_PCA9685 is not set +# CONFIG_PKG_USING_I2C_TOOLS is not set +# CONFIG_PKG_USING_NRF24L01 is not set +# CONFIG_PKG_USING_TOUCH_DRIVERS is not set +# CONFIG_PKG_USING_MAX17048 is not set +# CONFIG_PKG_USING_RPLIDAR is not set +# CONFIG_PKG_USING_AS608 is not set +# CONFIG_PKG_USING_RC522 is not set +# CONFIG_PKG_USING_WS2812B is not set +# CONFIG_PKG_USING_EMBARC_BSP is not set +# CONFIG_PKG_USING_EXTERN_RTC_DRIVERS is not set +# CONFIG_PKG_USING_MULTI_RTIMER is not set +# CONFIG_PKG_USING_MAX7219 is not set +# CONFIG_PKG_USING_BEEP is not set +# CONFIG_PKG_USING_EASYBLINK is not set +# CONFIG_PKG_USING_PMS_SERIES is not set +# CONFIG_PKG_USING_CAN_YMODEM is not set +# CONFIG_PKG_USING_LORA_RADIO_DRIVER is not set +# CONFIG_PKG_USING_QLED is not set +# CONFIG_PKG_USING_PAJ7620 is not set +# CONFIG_PKG_USING_AGILE_CONSOLE is not set +# CONFIG_PKG_USING_LD3320 is not set +# CONFIG_PKG_USING_WK2124 is not set +# CONFIG_PKG_USING_LY68L6400 is not set +# CONFIG_PKG_USING_DM9051 is not set +# CONFIG_PKG_USING_SSD1306 is not set +# CONFIG_PKG_USING_QKEY is not set +# CONFIG_PKG_USING_RS485 is not set +# CONFIG_PKG_USING_NES is not set +# CONFIG_PKG_USING_VIRTUAL_SENSOR is not set +# CONFIG_PKG_USING_VDEVICE is not set +# CONFIG_PKG_USING_SGM706 is not set +# CONFIG_PKG_USING_STM32WB55_SDK is not set +# CONFIG_PKG_USING_RDA58XX is not set +# CONFIG_PKG_USING_LIBNFC is not set +# CONFIG_PKG_USING_MFOC is not set +# CONFIG_PKG_USING_TMC51XX is not set +# CONFIG_PKG_USING_TCA9534 is not set +# CONFIG_PKG_USING_KOBUKI is not set +# CONFIG_PKG_USING_ROSSERIAL is not set +# CONFIG_PKG_USING_MICRO_ROS is not set + +# +# AI packages +# +# CONFIG_PKG_USING_LIBANN is not set +# CONFIG_PKG_USING_NNOM is not set +# CONFIG_PKG_USING_ONNX_BACKEND is not set +# CONFIG_PKG_USING_ONNX_PARSER is not set +# CONFIG_PKG_USING_TENSORFLOWLITEMICRO is not set +# CONFIG_PKG_USING_ELAPACK is not set +# CONFIG_PKG_USING_ULAPACK is not set +# CONFIG_PKG_USING_QUEST is not set +# CONFIG_PKG_USING_NAXOS is not set + +# +# miscellaneous packages +# +# CONFIG_PKG_USING_LIBCSV is not set +# CONFIG_PKG_USING_OPTPARSE is not set +# CONFIG_PKG_USING_FASTLZ is not set +# CONFIG_PKG_USING_MINILZO is not set +# CONFIG_PKG_USING_QUICKLZ is not set +# CONFIG_PKG_USING_LZMA is not set +# CONFIG_PKG_USING_MULTIBUTTON is not set +# CONFIG_PKG_USING_FLEXIBLE_BUTTON is not set +# CONFIG_PKG_USING_CANFESTIVAL is not set +# CONFIG_PKG_USING_ZLIB is not set +# CONFIG_PKG_USING_MINIZIP is not set +# CONFIG_PKG_USING_DSTR is not set +# CONFIG_PKG_USING_TINYFRAME is not set +# CONFIG_PKG_USING_KENDRYTE_DEMO is not set +# CONFIG_PKG_USING_DIGITALCTRL is not set +# CONFIG_PKG_USING_UPACKER is not set +# CONFIG_PKG_USING_UPARAM is not set + +# +# samples: kernel and components samples +# +# CONFIG_PKG_USING_KERNEL_SAMPLES is not set +# CONFIG_PKG_USING_FILESYSTEM_SAMPLES is not set +# CONFIG_PKG_USING_NETWORK_SAMPLES is not set +# CONFIG_PKG_USING_PERIPHERAL_SAMPLES is not set +# CONFIG_PKG_USING_HELLO is not set +# CONFIG_PKG_USING_VI is not set +# CONFIG_PKG_USING_KI is not set +# CONFIG_PKG_USING_ARMv7M_DWT is not set +# CONFIG_PKG_USING_VT100 is not set +# CONFIG_PKG_USING_UKAL is not set +# CONFIG_PKG_USING_CRCLIB is not set + +# +# entertainment: terminal games and other interesting software packages +# +# CONFIG_PKG_USING_THREES is not set +# CONFIG_PKG_USING_2048 is not set +# CONFIG_PKG_USING_SNAKE is not set +# CONFIG_PKG_USING_TETRIS is not set +# CONFIG_PKG_USING_DONUT is not set +# CONFIG_PKG_USING_ACLOCK is not set +# CONFIG_PKG_USING_LWGPS is not set +# CONFIG_PKG_USING_STATE_MACHINE is not set +# CONFIG_PKG_USING_MCURSES is not set +# CONFIG_PKG_USING_COWSAY is not set +CONFIG_BOARD_x86=y +CONFIG_BSP_USING_UART=y +CONFIG_RT_USING_UART0=y +# CONFIG_RT_USING_UART1 is not set diff --git a/bsp/x86/.gitignore b/bsp/x86/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..14fa89ac4f6d7d7a056967f02b5df90a0acfd0ae --- /dev/null +++ b/bsp/x86/.gitignore @@ -0,0 +1,28 @@ +*.pyc +*.map +*.dblite +*.elf +*.bin +*.hex +*.axf +*.exe +*.pdb +*.idb +*.ilk +*.old +build +Debug +documentation/html +packages/ +*~ +*.o +*.obj +*.out +*.bak +*.dep +*.lib +*.i +*.d +*.iso +# grub efi +*.efi \ No newline at end of file diff --git a/bsp/x86/Kconfig b/bsp/x86/Kconfig new file mode 100644 index 0000000000000000000000000000000000000000..3131b436d884600fb7fc58d001beb972099b8310 --- /dev/null +++ b/bsp/x86/Kconfig @@ -0,0 +1,45 @@ +mainmenu "RT-Thread Project Configuration" + +config BSP_DIR + string + option env="BSP_ROOT" + default "." + +config RTT_DIR + string + option env="RTT_ROOT" + default "../.." + +config PKGS_DIR + string + option env="PKGS_ROOT" + default "packages" + +source "$RTT_DIR/Kconfig" +source "$PKGS_DIR/Kconfig" + +config BOARD_x86 + bool + select ARCH_X86 + select RT_USING_COMPONENTS_INIT + select RT_USING_USER_MAIN + select RT_USING_CACHE + select BSP_USING_UART + default y + +config RT_USING_USERSPACE + bool + default y + +config BSP_USING_UART + bool "Using UART" + select RT_USING_SERIAL + default y + +config RT_USING_UART0 + bool "Enabel UART 0" + default y + +config RT_USING_UART1 + bool "Enabel UART 1" + default n diff --git a/bsp/x86/Makefile b/bsp/x86/Makefile index eb4654193b5100b8550a5bd399908da140cb04a7..076974a71f99547a50eb75e3f25d0144e192c306 100644 --- a/bsp/x86/Makefile +++ b/bsp/x86/Makefile @@ -1,46 +1,37 @@ +GRUB_DIR:=grub-2.04 +OS_NAME :=rtthread +QEMU :=qemu-system-i386 +GDB :=gdb +# config graphic window ? (y/n) +QEMU_NOGRAPHIC = y -CC = gcc -O0 -m32 -fno-builtin -fno-stack-protector -nostdinc -nostdlib -LD = ld -melf_i386 -nostdlib +QEMU_ARGS := -m 256m \ + -rtc base=localtime \ + -boot a \ + -cdrom $(OS_NAME).iso + +ifeq ($(QEMU_NOGRAPHIC),y) + QEMU_ARGS += -nographic +else + QEMU_ARGS += -serial stdio +endif -all: rtthread rtsym exe dll floppy.img - @mkdir -p tmp - @sudo mount -t vfat floppy.img tmp -o loop - @sudo cp -fv rtthread.elf tmp/boot/oskernel - @sudo rm tmp/bin/* -fr - @sudo cp out/*.mo tmp/bin/ -fv - @sudo umount tmp +RTTHREAD_ELF:= rtthread.elf -rtthread: - @scons +all: makeiso -rtsym: - @./src/extract.sh ./rtthread-ia32.map ./src/rt_thread_sym.h +makeiso: $(RTTHREAD_ELF) + @$(MAKE) -s -C $(GRUB_DIR) KERNEL=$(RTTHREAD_ELF) OS_NAME=$(OS_NAME) -obj: - mkdir -p obj +run: makeiso + $(QEMU) $(QEMU_ARGS) -out: - mkdir -p out - -dll: obj out - $(CC) -c -fPIC -Isrc src/hello.c -o out/hello.o - $(CC) -s -Wl,-shared,-melf_i386,--entry=main -o out/hello.mo out/hello.o - -disasm: obj out - $(CC) -shared -S -fPIC -Isrc src/hello.c -o obj/hello.s - cat obj/hello.s - objdump --disassemble out/hello.mo - -exe: obj out +qemudbg: + $(QEMU) -S -gdb tcp::10001,ipv4 $(QEMU_ARGS) +# 连接gdb server: target remote localhost:10001 +gdb: + $(GDB) $(RTTHREAD_ELF) clean: - scons -c clean - rm -fr build rtthread* out obj - -floppy.img: - wget https://github.com/bajdcc/tinix/raw/master/floppy.img - -# https://en.wikibooks.org/wiki/QEMU/Devices/Network -run: - qemu-system-i386 -fda floppy.img -boot a -m 64M -serial stdio -net nic,model=ne2k_pci + @$(MAKE) -s -C $(GRUB_DIR) clean \ No newline at end of file diff --git a/bsp/x86/README.md b/bsp/x86/README.md new file mode 100644 index 0000000000000000000000000000000000000000..930e6a6e8f21568fa9f5fc3987d06e1898c999cf --- /dev/null +++ b/bsp/x86/README.md @@ -0,0 +1,52 @@ +# 物理内存分布图 +``` + +---------------------+-------------------------------------------+ + | Address | details | + +---------------------+-------------------------------------------+ + | 0x00~0x400 | int vectors | + +---------------------+-------------------------------------------+ + | 0x400~0x500 | ROM BIOS parameter area | + +---------------------+-------------------------------------------+ + | 0x1000~0x1100 | ards | + +---------------------+-------------------------------------------+ + | 0x9d000~0x9f000 | kernel statck | + +---------------------+-------------------------------------------+ + | 0x9fc00~0xa0000 | extended BIOS data area (EBDA) | + +---------------------+-------------------------------------------+ + | 0xa0000~0xc0000 | display adapter reserved | + +---------------------+-------------------------------------------+ + | 0xc0000~0xe0000 | Reserved for ROM expansion | + +---------------------+-------------------------------------------+ + | 0xe0000~0xf0000 | Expansion of system ROM | + +---------------------+-------------------------------------------+ + | 0xf0000~0x100000 | System ROM | + +---------------------+-------------------------------------------+ + | 0x100000~0x3F0000 | kernel | + +---------------------+-------------------------------------------+ + | 0x3F0000~0x3F0800 | GDT | + +---------------------+-------------------------------------------+ + | 0x3F0800~0x3F1000 | IDT | + +-----------------------------------------------------------------+ + | 0x3F1000~0x3F2000 | GRUB MODULE INFO | + +---------------------+-------------------------------------------+ + | 0x3F2000~0x3F3000 | KERNEL PAGE DIR TABLE | + +---------------------+-------------------------------------------+ + | 0x3F3000~0x3F4000 | KERNEL PAGE TABLE | + +---------------------+-------------------------------------------+ + | 0x3F3000~0x800000 | KERNEL PAGE TABLE STATIC(1G) | + +---------------------+-------------------------------------------+ + | 0x800000~0x1000000 | DMA device special addr | + +---------------------+-------------------------------------------+ + | 0x1000000~0xffffffff| avaliable memory | + +---------------------+-------------------------------------------+ +``` +# 虚拟内存分布图 +``` + +-------------------------+---------------------------------------+ + | Address | details | + +-------------------------+---------------------------------------+ + | 0x0~0x3FFFFFFF | kernel space | + +-------------------------+---------------------------------------+ + | 0x40000000~0xFFFFFFFF | user space | + +---------------------+-------------------------------------------+ +``` \ No newline at end of file diff --git a/bsp/x86/SConscript b/bsp/x86/SConscript index fe0ae941ae9a759ae478de901caec1c961e56af8..c7ef7659ecea92b1dd9b71a97736a8552ee02551 100644 --- a/bsp/x86/SConscript +++ b/bsp/x86/SConscript @@ -1,8 +1,8 @@ # for module compiling import os -Import('RTT_ROOT') +from building import * -cwd = str(Dir('#')) +cwd = GetCurrentDir() objs = [] list = os.listdir(cwd) diff --git a/bsp/x86/TODO.md b/bsp/x86/TODO.md new file mode 100644 index 0000000000000000000000000000000000000000..215f54ff1e996edadb469b6f416059a8fc451bc9 --- /dev/null +++ b/bsp/x86/TODO.md @@ -0,0 +1 @@ +TODO list for x86. diff --git a/bsp/x86/applications/SConscript b/bsp/x86/applications/SConscript index 01eb940dfb35f92c503a78b0b49a4354590f9f3a..9ffdfd6d3ac13244a32fb825524e12e0ca88c585 100644 --- a/bsp/x86/applications/SConscript +++ b/bsp/x86/applications/SConscript @@ -1,10 +1,8 @@ -Import('RTT_ROOT') -Import('rtconfig') from building import * -cwd = os.path.join(str(Dir('#')), 'applications') +cwd = GetCurrentDir() src = Glob('*.c') -CPPPATH = [cwd, str(Dir('#'))] +CPPPATH = [cwd] group = DefineGroup('Applications', src, depend = [''], CPPPATH = CPPPATH) diff --git a/bsp/x86/applications/main.c b/bsp/x86/applications/main.c new file mode 100644 index 0000000000000000000000000000000000000000..820b1ad6493084f23ece9ac0baf88587efa1f86d --- /dev/null +++ b/bsp/x86/applications/main.c @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2006-2018, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + */ + +#include +#include +#include +#include + +int main(void) +{ + printf("Hello rtthread-smart x86!\n"); + return 0; +} diff --git a/bsp/x86/applications/mnt.c b/bsp/x86/applications/mnt.c new file mode 100644 index 0000000000000000000000000000000000000000..e31cc83afc3ca7636f42c29c3ce252b7d2b6b345 --- /dev/null +++ b/bsp/x86/applications/mnt.c @@ -0,0 +1,30 @@ +/* + * Copyright (c) 2006-2021, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2021-07-23 JasonHu first version + */ + +#include + +#ifdef RT_USING_DFS +#include +#include + +int mnt_init(void) +{ + if (dfs_mount(RT_NULL, "/", "rom", 0, &romfs_root) != 0) + { + rt_kprintf("Dir / mount failed!\n"); + return -1; + } + + rt_thread_mdelay(200); + rt_kprintf("file system initialization done!\n"); + return 0; +} +INIT_ENV_EXPORT(mnt_init); +#endif \ No newline at end of file diff --git a/bsp/x86/drivers/Kconfig b/bsp/x86/drivers/Kconfig new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/bsp/x86/drivers/board.c b/bsp/x86/drivers/board.c index 211ae1832afc8e3641ab61f83b5ce4a37992e8b6..e1d0503732f3ce59d64782e6c33440588c4a67ef 100644 --- a/bsp/x86/drivers/board.c +++ b/bsp/x86/drivers/board.c @@ -1,74 +1,108 @@ /* - * File : board.c - * This file is part of RT-Thread RTOS - * COPYRIGHT (C) 2006, RT-Thread Development Team + * Copyright (c) 2006-2021, RT-Thread Development Team * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.fayfayspace.org/license/LICENSE. + * SPDX-License-Identifier: Apache-2.0 * * Change Logs: * Date Author Notes - * 2006-09-15 QiuYi the first version - * 2006-10-10 Bernard add hardware related of finsh + * 2021-07-14 JasonHu first version */ -#include #include +#include +#include +#include +#include -#include +#include +#include -/** - * @addtogroup QEMU - */ -/*@{*/ +#include "drv_uart.h" +#include "direct_uart.h" +#include "drv_timer.h" + +#ifdef RT_USING_USERSPACE +#include +#include +#include "lwp_arch.h" + +rt_mmu_info mmu_info; -static void rt_timer_handler(int vector, void* param) +rt_region_t init_page_region = { - rt_tick_increase(); -} + (rt_size_t)HW_PAGE_START, + (rt_size_t)HW_PAGE_END +}; + +/* kernel mmu table */ +volatile rt_size_t MMUTable[ARCH_PAGE_SIZE / sizeof(rt_size_t)] __attribute__((aligned(ARCH_PAGE_SIZE))); -#ifdef RT_USING_HOOK -static void idle_hook(void) +static void page_region_init() { - asm volatile("sti; hlt": : :"memory"); + unsigned int memory_size = *((unsigned int *)0x000001000); + rt_kprintf("physic memory size: %x bytes, %d MB\n", memory_size, memory_size / (1024 * 1024)); + if (memory_size < HW_PHY_MEM_SIZE_MIN) + { + dbg_log(DBG_ERROR, "phyisc memory too small! only %d MB, must >= %d MB\n", + memory_size / (1024 * 1024), HW_PHY_MEM_SIZE_MIN / (1024 * 1024)); + for (;;) + ; + } + if (memory_size > HW_PAGE_SIZE_MAX) + { + memory_size = HW_PAGE_SIZE_MAX; + } + init_page_region.end = memory_size; } + #endif -/** - * This function will init QEMU - * - */ void rt_hw_board_init(void) { - /* initialize 8253 clock to interrupt 1000 times/sec */ - outb(TIMER_MODE, TIMER_SEL0|TIMER_RATEGEN|TIMER_16BIT); - outb(IO_TIMER1, TIMER_DIV(RT_TICK_PER_SECOND) % 256); - outb(IO_TIMER1, TIMER_DIV(RT_TICK_PER_SECOND) / 256); + /* init direct serial hardware */ + rt_hw_direct_uart_init(); + + /* init page and mmu */ +#ifdef RT_USING_USERSPACE + page_region_init(); + RT_ASSERT(!rt_hw_mmu_map_init(&mmu_info, (void *)HW_USER_START, HW_USER_SIZE, (rt_size_t *)MMUTable, 0)) + rt_page_init(init_page_region); + rt_hw_mmu_kernel_map_init(&mmu_info, HW_KERNEL_START, HW_KERNEL_END); + switch_mmu((void *)MMUTable); + mmu_enable(); +#endif + + /* init cpu special */ + rt_hw_cpu_init(); + + /* initalize interrupt */ + rt_hw_interrupt_init(); - /* install interrupt handler */ - rt_hw_interrupt_install(INTTIMER0, rt_timer_handler, RT_NULL, "tick"); - rt_hw_interrupt_umask(INTTIMER0); + /* init serial driver */ + rt_hw_uart_init(); -#ifdef RT_USING_HOOK - rt_thread_idle_sethook(idle_hook); + /* init timer driver */ + rt_hw_timer_init(); + +#ifdef RT_USING_HEAP + rt_kprintf("heap: [0x%08x - 0x%08x]\n", (rt_ubase_t) HW_HEAP_BEGIN, (rt_ubase_t) HW_HEAP_END); + /* initialize memory system */ + rt_system_heap_init((void *)HW_HEAP_BEGIN, (void *)HW_HEAP_END); #endif -} -void restart(void) -{ - outb(KBSTATP, 0xFE); /* pulse reset low */ - while(1); -} +#ifdef RT_USING_COMPONENTS_INIT + rt_components_board_init(); +#endif -#ifdef RT_USING_FINSH -#include -FINSH_FUNCTION_EXPORT(restart, reboot PC) +#ifdef RT_USING_CONSOLE + /* set console device */ + rt_console_set_device(RT_CONSOLE_DEVICE_NAME); +#endif /* RT_USING_CONSOLE */ +} -void reboot(void) +void primary_cpu_entry(void) { - restart(); + extern void entry(void); + rt_hw_interrupt_disable(); + entry(); } -FINSH_FUNCTION_EXPORT(reboot, reboot PC) -#endif -/*@}*/ diff --git a/bsp/x86/drivers/board.h b/bsp/x86/drivers/board.h index bc79f9ccfb42c20f53034ddad5fd68f2132fc5d1..ab3d8806450a8517cb67438b1ddf69441882dc3f 100644 --- a/bsp/x86/drivers/board.h +++ b/bsp/x86/drivers/board.h @@ -1,20 +1,53 @@ /* - * File : board.h - * This file is part of RT-Thread RTOS - * COPYRIGHT (C) 2006, RT-Thread Develop Team + * Copyright (c) 2006-2021, RT-Thread Development Team * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://openlab.rt-thread.com/license/LICENSE + * SPDX-License-Identifier: Apache-2.0 * * Change Logs: * Date Author Notes - * 2006-10-09 Bernard first version + * 2021-07-14 JasonHu first version */ #ifndef __BOARD_H__ #define __BOARD_H__ +#include +#include + +/* boot size */ +#define HW_BUTTOM_SIZE 0x1000000UL +/* heap start at 16M */ +#define HW_HEAP_BEGIN HW_BUTTOM_SIZE +/* heap 16 MB size */ +#define HW_HEAP_SIZE (16 * 1024 * 1024) + +#ifdef RT_USING_USERSPACE +#define HW_HEAP_END (void*)(KERNEL_VADDR_START + HW_HEAP_BEGIN + HW_HEAP_SIZE) + +#define HW_PAGE_START HW_HEAP_END +/* TODO: use dynamic memroy select size */ +#define HW_PAGE_SIZE_MIN ((64 - 32) * 1024 * 1024) +#define HW_PAGE_SIZE_MAX ((1024 - 32) * 1024 * 1024) + +#define HW_PAGE_SIZE_DEF ((256 - 32) * 1024 * 1024) + +/* this should at end of phy memory */ +#define HW_PAGE_END (void*)(HW_PAGE_START + HW_PAGE_SIZE_DEF) + +#define HW_PHY_MEM_SIZE_MIN (HW_BUTTOM_SIZE + HW_HEAP_SIZE + HW_PAGE_SIZE_MIN) + +#else +#define HW_HEAP_END (void*)(HEAP_BEGIN + HW_HEAP_SIZE) +#endif + +/* start at 1G, end at 4G */ +#define HW_USER_START 0x40000000UL +#define HW_USER_END 0xFFFFF000UL +#define HW_USER_SIZE (HW_USER_END - HW_USER_START) + +#define HW_KERNEL_START (0) +#define HW_KERNEL_END (HW_USER_START - 1) + void rt_hw_board_init(void); #endif diff --git a/bsp/x86/drivers/direct_uart.c b/bsp/x86/drivers/direct_uart.c new file mode 100644 index 0000000000000000000000000000000000000000..5b5d1310d02135997b9ab1fb2ffa72b7f4b6808e --- /dev/null +++ b/bsp/x86/drivers/direct_uart.c @@ -0,0 +1,211 @@ +/* + * Copyright (c) 2006-2021, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2021-07-15 JasonHu first version + */ + +#include +#include +#include + +#include "board.h" + +/* 串口的地址是IO地址 */ +#define COM1_BASE 0X3F8 + +/* 最大波特率值 */ +#define MAX_BAUD_VALUE 115200 + +/* 波特率值表: +Baud Rate | Divisor +50 | 2304 +110 | 1047 +220 | 524 +300 | 384 +600 | 192 +1200 | 96 +2400 | 48 +4800 | 24 +9600 | 12 +19200 | 6 +38400 | 3 +57600 | 2 +115200 | 1 + +Divisor计算方法: +Divisor = 115200 / BaudRate +*/ + +#define DEFAULT_BAUD_VALUE 19200 +#define DEFAULT_DIVISOR_VALUE (MAX_BAUD_VALUE / DEFAULT_BAUD_VALUE) + +#define UART_SEND_TIMEOUT + +enum uart_fifo_control_register_bits +{ + FIFO_ENABLE = 1, /* Enable FIFOs */ + FIFO_CLEAR_RECEIVE = (1 << 1), /* Clear Receive FIFO */ + FIFO_CLEAR_TRANSMIT = (1 << 2), /* Clear Transmit FIFO */ + FIFO_DMA_MODE_SELECT = (1 << 3), /* DMA Mode Select */ + FIFO_RESERVED = (1 << 4), /* Reserved */ + FIFO_ENABLE_64 = (1 << 5), /* Enable 64 Byte FIFO(16750) */ + /* Interrupt Trigger Level/Trigger Level */ + FIFO_TRIGGER_1 = (0 << 6), /* 1 Byte */ + FIFO_TRIGGER_4 = (1 << 6), /* 4 Byte */ + FIFO_TRIGGER_8 = (1 << 7), /* 8 Byte */ + FIFO_TRIGGER_14 = (1 << 6) | (1 << 7), /* 14 Byte */ +}; + +enum uart_line_control_register_bits +{ + /* Word Length */ + LINE_WORD_LENGTH_5 = 0, /* 5 Bits */ + LINE_WORD_LENGTH_6 = 1, /* 6 Bits */ + LINE_WORD_LENGTH_7 = (1 << 1), /* 7 Bits */ + LINE_WORD_LENGTH_8 = ((1 << 1) | 1), /* 8 Bits */ + LINE_STOP_BIT_1 = (0 << 2), /* One Stop Bit */ + LINE_STOP_BIT_2 = (1 << 2), /* 1.5 Stop Bits or 2 Stop Bits */ + /* Parity Select */ + LINE_PARITY_NO = (0 << 3), /* No Parity */ + LINE_PARITY_ODD = (1 << 3), /* Odd Parity */ + LINE_PARITY_EVEN = (1 << 3) | (1 << 4), /* Even Parity */ + LINE_PARITY_MARK = (1 << 3) | (1 << 5), /* Mark */ + LINE_PARITY_SPACE = (1 << 3) | (1 << 4) | (1 << 5), /* Space */ + LINE_BREAK_ENABLE = (1 << 6), /* Set Break Enable */ + LINE_DLAB = (1 << 7), /* Divisor Latch Access Bit */ +}; + +enum uart_interrupt_enable_register_bits +{ + INTR_RECV_DATA_AVALIABLE = 1, /* Enable Received Data Available Interrupt */ + INTR_TRANSMIT_HOLDING = (1 << 1), /* Enable Transmitter Holding Register Empty Interrupt */ + INTR_STATUS_CHANGED = (1 << 2), /* Enable Receiver Line Status Interrupt */ + INTR_MODEM_STATUS = (1 << 3), /* Enable Modem Status Interrupt */ + INTR_SLEEP_MODE = (1 << 4), /* Enable Sleep Mode(16750) */ + INTR_LOW_POWER_MODE = (1 << 5), /* Enable Low Power Mode(16750) */ + INTR_RESERVED1 = (1 << 6), /* Reserved */ + INTR_RESERVED2 = (1 << 7), /* Reserved */ +}; + +enum uart_line_status_register_bits { + LINE_STATUS_DATA_READY = 1, /* Data Ready */ + LINE_STATUS_OVERRUN_ERROR = (1 << 1), /* Overrun Error */ + LINE_STATUS_PARITY_ERROR = (1 << 2), /* Parity Error */ + LINE_STATUS_FRAMING_ERROR = (1 << 3), /* Framing Error */ + LINE_STATUS_BREAK_INTERRUPT = (1 << 4), /* Break Interrupt */ + LINE_STATUS_EMPTY_TRANSMITTER_HOLDING = (1 << 5), /* Empty Transmitter Holding Register */ + LINE_STATUS_EMPTY_DATA_HOLDING = (1 << 6), /* Empty Data Holding Registers */ + LINE_STATUS_ERROR_RECEIVE_FIFO = (1 << 7), /* Error in Received FIFO */ +}; + +enum uart_intr_indenty_reg_bits { + INTR_STATUS_PENDING_FLAG = 1, /* Interrupt Pending Flag */ + /* 产生的什么中断 */ + INTR_STATUS_MODEM = (0 << 1), /* Transmitter Holding Register Empty Interrupt */ + INTR_STATUS_TRANSMITTER_HOLDING = (1 << 1), /* Received Data Available Interrupt */ + INTR_STATUS_RECEIVE_DATA = (1 << 2), /* Received Data Available Interrupt */ + INTR_STATUS_RECEIVE_LINE = (1 << 1) | (1 << 2), /* Receiver Line Status Interrupt */ + INTR_STATUS_TIME_OUT_PENDING = (1 << 2) | (1 << 3), /* Time-out Interrupt Pending (16550 & later) */ + INTR_STATUS_64BYTE_FIFO = (1 << 5), /* 64 Byte FIFO Enabled (16750 only) */ + INTR_STATUS_NO_FIFO = (0 << 6), /* No FIFO on chip */ + INTR_STATUS_RESERVED_CONDITION = (1 << 6), /* Reserved condition */ + INTR_STATUS_FIFO_NOT_FUNC = (1 << 7), /* FIFO enabled, but not functioning */ + INTR_STATUS_FIFO = (1 << 6) | (1 << 7), /* FIFO enabled */ +}; + +struct hw_uart +{ + char irq; /* irq号 */ + rt_uint16_t iobase; /* IO基地址 */ + rt_uint16_t data_reg; /* 数据寄存器,读数据/写数据 */ + rt_uint16_t divisor_low_reg; /* 除数寄存器低8位 */ + rt_uint16_t intr_enable_reg; /* 中断使能寄存器 */ + rt_uint16_t divisor_high_reg; /* 除数寄存器高8位 */ + rt_uint16_t intr_indenty_reg; /* 中断标识寄存器 */ + rt_uint16_t fifo_reg; /* fifo寄存器 */ + rt_uint16_t line_ctrl_reg; /* 行控制寄存器 */ + rt_uint16_t modem_ctrl_reg; /* 调制解调器控制寄存器 */ + rt_uint16_t line_status_reg; /* 行状态寄存器 */ + rt_uint16_t modem_status_reg; /* 调制解调器状态寄存器 */ + rt_uint16_t scratch_reg; +}; +typedef struct hw_uart hw_uart_t; + +/* 4个串口 */ +static hw_uart_t hw_uart; + +static int uart_send(hw_uart_t *uart, char data) +{ + #ifdef UART_SEND_TIMEOUT + int timeout = 0x100000; + while (!(inb(uart->line_status_reg) & + LINE_STATUS_EMPTY_TRANSMITTER_HOLDING) && timeout--); + #else + while (!(inb(uart->line_status_reg) & + LINE_STATUS_EMPTY_TRANSMITTER_HOLDING)); + #endif + outb(uart->data_reg, data); + return 0; +} + +void rt_hw_direct_uart_putchar(char ch) +{ + /* 如果是回车,就需要发送一个'\r',以兼容unix/linux操作系统的输出 */ + if(ch == '\n') { + uart_send(&hw_uart, '\r'); + } + uart_send(&hw_uart, ch); +} + +/** +* This function is used by rt_kprintf to display a string on console. +* +* @param str the displayed string^M +*/ +void rt_hw_console_output(const char *str) +{ + while (*str) { + rt_hw_direct_uart_putchar(*str++); + } +} + +void rt_hw_direct_uart_init(void) +{ + hw_uart_t *uart = &hw_uart; + rt_uint16_t iobase; + + iobase = COM1_BASE; + uart->iobase = iobase; + uart->data_reg = iobase + 0; + uart->divisor_low_reg = iobase + 0; + uart->intr_enable_reg = iobase + 1; + uart->divisor_high_reg = iobase + 1; + uart->intr_indenty_reg = iobase + 2; + uart->line_ctrl_reg = iobase + 3; + uart->modem_ctrl_reg = iobase + 4; + uart->line_status_reg = iobase + 5; + uart->modem_status_reg = iobase + 6; + uart->scratch_reg = iobase + 7; + + outb(uart->line_ctrl_reg, LINE_DLAB); + + outb(uart->divisor_low_reg, (DEFAULT_DIVISOR_VALUE) & 0xff); + outb(uart->divisor_high_reg, ((DEFAULT_DIVISOR_VALUE) >> 8) & 0xff); + + outb(uart->line_ctrl_reg, LINE_WORD_LENGTH_8 | + LINE_STOP_BIT_1 | LINE_PARITY_NO); + + /* close all intr */ + outb(uart->intr_enable_reg, 0); + + outb(uart->fifo_reg, FIFO_ENABLE | FIFO_CLEAR_TRANSMIT | + FIFO_CLEAR_RECEIVE | FIFO_ENABLE_64 | + FIFO_TRIGGER_14); + + outb(uart->modem_ctrl_reg, 0x00); + outb(uart->scratch_reg, 0x00); +} diff --git a/bsp/x86/drivers/direct_uart.h b/bsp/x86/drivers/direct_uart.h new file mode 100644 index 0000000000000000000000000000000000000000..71c30e73e7bdcae33015e248b489501292decd5d --- /dev/null +++ b/bsp/x86/drivers/direct_uart.h @@ -0,0 +1,18 @@ +/* + * Copyright (c) 2006-2021, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2021-07-15 JasonHu first version + */ + +#ifndef __DIRECT_UART_H__ +#define __DIRECT_UART_H__ + +/* direct means not use driver framework */ + +void rt_hw_direct_uart_init(void); + +#endif /* __DIRECT_UART_H__ */ diff --git a/bsp/x86/drivers/drv_timer.c b/bsp/x86/drivers/drv_timer.c new file mode 100644 index 0000000000000000000000000000000000000000..caa377b5a88ee7595f5555048079516ddbdf3ef9 --- /dev/null +++ b/bsp/x86/drivers/drv_timer.c @@ -0,0 +1,150 @@ +/* + * Copyright (c) 2006-2021, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2021-07-16 JasonHu first version + */ + +#include +#include +#include + +#include "board.h" + +/* PIT (Programmable Interval Timer)8253/8254 可编程中断计时器 */ + +/* +Port 40h, 8253 Counter 0 Time of Day Clock (normally mode 3) +*/ +#define PIT_COUNTER0 0x40 + +/* +Port 41h, 8253 Counter 1 RAM Refresh Counter (normally mode 2) +*/ +#define PIT_COUNTER1 0x41 + +/* +Port 42h, 8253 Counter 2 Cassette and Speaker Functions +*/ +#define PIT_COUNTER2 0x42 + +/* +可编程中断计时器,控制字寄存器 +Port 43h, 8253 Mode Control Register, data format: + + |7|6|5|4|3|2|1|0| Mode Control Register + | | | | | | | `---- 0=16 binary counter, 1=4 decade BCD counter + | | | | `--------- counter mode bits + | | `------------ read/write/latch format bits + `--------------- counter select bits (also 8254 read back command) + +Read Back Command Format (8254 only) + + |7|6|5|4|3|2|1|0| Read Back Command (written to Mode Control Reg) + | | | | | | | `--- must be zero + | | | | | | `---- select counter 0 + | | | | | `----- select counter 1 + | | | | `------ select counter 2 + | | | `------- 0 = latch status of selected counters + | | `-------- 0 = latch count of selected counters + `----------- 11 = read back command + +Read Back Command Status (8254 only, read from counter register) + + |7|6|5|4|3|2|1|0| Read Back Command Status + | | | | | | | `--- 0=16 binary counter, 1=4 decade BCD counter + | | | | `-------- counter mode bits (see Mode Control Reg above) + | | `----------- read/write/latch format (see Mode Control Reg) + | `------------ 1=null count (no count set), 0=count available + `------------- state of OUT pin (1=high, 0=low) + +*/ +#define PIT_CTRL 0x43 + +/* Mode Control Register */ +enum ctrl_mode_bits +{ + /* Bits 76 Counter Select Bits */ + PIT_MODE_COUNTER_0 = (0<<6), /* 00 select counter 0 */ + PIT_MODE_COUNTER_1 = (1<<6), /* 01 select counter 1 */ + PIT_MODE_COUNTER_2 = (1<<7), /* 10 select counter 2 */ + PIT_MODE_READ_BACK = (1<<6)|(1<<7), /* 11 read back command (8254 only, illegal on 8253, see below) */ + /* Bits 54 Read/Write/Latch Format Bits */ + PIT_MODE_LPCV = (0<<4), /* 00 latch present counter value */ + PIT_MODE_MSB = (1<<4), /* 01 read/write of MSB only */ + PIT_MODE_LSB = (1<<5), /* 10 read/write of LSB only */ + PIT_MODE_MSB_LSB = (1<<4)|(1<<5), /* 11 read/write LSB, followed by write of MSB */ + /* Bits 321 Counter Mode Bits */ + + /* + 000 mode 0, interrupt on terminal count; countdown, interrupt, + then wait for a new mode or count; loading a new count in the + middle of a count stops the countdown + */ + PIT_MODE_0 = (0<<1), + /* + 001 mode 1, programmable one-shot; countdown with optional + restart; reloading the counter will not affect the countdown + until after the following trigger + */ + PIT_MODE_1 = (1<<1), + /* + 010 mode 2, rate generator; generate one pulse after 'count' CLK + cycles; output remains high until after the new countdown has + begun; reloading the count mid-period does not take affect + until after the period + + */ + PIT_MODE_2 = (1<<2), + /* + 011 mode 3, square wave rate generator; generate one pulse after + 'count' CLK cycles; output remains high until 1/2 of the next + countdown; it does this by decrementing by 2 until zero, at + which time it lowers the output signal, reloads the counter + and counts down again until interrupting at 0; reloading the + count mid-period does not take affect until after the period + + */ + PIT_MODE_3 = (1<<1)|(1<<2), + /* + 100 mode 4, software triggered strobe; countdown with output high + until counter zero; at zero output goes low for one CLK + period; countdown is triggered by loading counter; reloading + counter takes effect on next CLK pulse + + */ + PIT_MODE_4 = (1<<3), + /* + 101 mode 5, hardware triggered strobe; countdown after triggering + with output high until counter zero; at zero output goes low + for one CLK period + */ + PIT_MODE_5 = (1<<1)|(1<<3), + + /* Bits 0 Counter Mode Bits */ + PIT_MODE_BINARY = (0<<0), /* 0 0= 16 binary counter */ + PIT_MODE_BCD = (1<<0), /* 1 1= 4 decade BCD counter */ +}; + +#define TIMER_FREQ 1193180 /* 时钟的频率 */ +#define COUNTER0_VALUE (TIMER_FREQ / RT_TICK_PER_SECOND) /* pit count0 数值 */ + +static void rt_hw_timer_isr(int vector, void *param) +{ + rt_tick_increase(); +} + +int rt_hw_timer_init(void) +{ + outb(PIT_CTRL, PIT_MODE_2 | PIT_MODE_MSB_LSB | + PIT_MODE_COUNTER_0 | PIT_MODE_BINARY); + outb(PIT_COUNTER0, (rt_uint8_t) (COUNTER0_VALUE & 0xff)); + outb(PIT_COUNTER0, (rt_uint8_t) (COUNTER0_VALUE >> 8) & 0xff); + + rt_hw_interrupt_install(IRQ0_CLOCK, rt_hw_timer_isr, RT_NULL, "tick"); + rt_hw_interrupt_umask(IRQ0_CLOCK); + return 0; +} \ No newline at end of file diff --git a/bsp/x86/drivers/drv_timer.h b/bsp/x86/drivers/drv_timer.h new file mode 100644 index 0000000000000000000000000000000000000000..282b63c8bde093264f40d40684dd0e0b2b6f996e --- /dev/null +++ b/bsp/x86/drivers/drv_timer.h @@ -0,0 +1,16 @@ +/* + * Copyright (c) 2006-2021, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2021-07-16 JasonHu first version + */ + +#ifndef __DRV_TIMER_H__ +#define __DRV_TIMER_H__ + +int rt_hw_timer_init(void); + +#endif /* __DRV_TIMER_H__ */ \ No newline at end of file diff --git a/bsp/x86/drivers/drv_uart.c b/bsp/x86/drivers/drv_uart.c new file mode 100644 index 0000000000000000000000000000000000000000..efa0d6630cd354a78812ad3149a60431211826d7 --- /dev/null +++ b/bsp/x86/drivers/drv_uart.c @@ -0,0 +1,302 @@ +/* + * Copyright (c) 2006-2021, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2021-07-15 JasonHu first version + */ + +#include +#include +#include +#include "drv_uart.h" +#include "board.h" + +struct hw_uart_device +{ + rt_uint32_t hw_base; + rt_uint32_t irqno; + + rt_uint16_t data_reg; /* 数据寄存器,读数据/写数据 */ + rt_uint16_t divisor_low_reg; /* 除数寄存器低8位 */ + rt_uint16_t intr_enable_reg; /* 中断使能寄存器 */ + rt_uint16_t divisor_high_reg; /* 除数寄存器高8位 */ + rt_uint16_t intr_indenty_reg; /* 中断标识寄存器 */ + rt_uint16_t fifo_reg; /* fifo寄存器 */ + rt_uint16_t line_ctrl_reg; /* 行控制寄存器 */ + rt_uint16_t modem_ctrl_reg; /* 调制解调器控制寄存器 */ + rt_uint16_t line_status_reg; /* 行状态寄存器 */ + rt_uint16_t modem_status_reg; /* 调制解调器状态寄存器 */ + rt_uint16_t scratch_reg; +}; + +/* 串口的地址是IO地址 */ +#define SERIAL0_BASE 0X3F8 +#define SERIAL1_BASE 0X2F8 + +#define SERIAL0_IRQ 4 +#define SERIAL1_IRQ 3 + +/* 最大波特率值 */ +#define MAX_BAUD_VALUE 11520 +/* 默认波特率值 */ +#define DEFAULT_BAUD_VALUE 11520 +#define DEFAULT_DIVISOR_VALUE (MAX_BAUD_VALUE / DEFAULT_BAUD_VALUE) + +enum uart_fifo_control_register_bits +{ + FIFO_ENABLE = 1, /* Enable FIFOs */ + FIFO_CLEAR_RECEIVE = (1 << 1), /* Clear Receive FIFO */ + FIFO_CLEAR_TRANSMIT = (1 << 2), /* Clear Transmit FIFO */ + FIFO_DMA_MODE_SELECT = (1 << 3), /* DMA Mode Select */ + FIFO_RESERVED = (1 << 4), /* Reserved */ + FIFO_ENABLE_64 = (1 << 5), /* Enable 64 Byte FIFO(16750) */ + /* Interrupt Trigger Level/Trigger Level */ + FIFO_TRIGGER_1 = (0 << 6), /* 1 Byte */ + FIFO_TRIGGER_4 = (1 << 6), /* 4 Byte */ + FIFO_TRIGGER_8 = (1 << 7), /* 8 Byte */ + FIFO_TRIGGER_14 = (1 << 6) | (1 << 7), /* 14 Byte */ +}; + +enum uart_line_control_register_bits +{ + /* Word Length */ + LINE_WORD_LENGTH_5 = 0, /* 5 Bits */ + LINE_WORD_LENGTH_6 = 1, /* 6 Bits */ + LINE_WORD_LENGTH_7 = (1 << 1), /* 7 Bits */ + LINE_WORD_LENGTH_8 = ((1 << 1) | 1), /* 8 Bits */ + LINE_STOP_BIT_1 = (0 << 2), /* One Stop Bit */ + LINE_STOP_BIT_2 = (1 << 2), /* 1.5 Stop Bits or 2 Stop Bits */ + /* Parity Select */ + LINE_PARITY_NO = (0 << 3), /* No Parity */ + LINE_PARITY_ODD = (1 << 3), /* Odd Parity */ + LINE_PARITY_EVEN = (1 << 3) | (1 << 4), /* Even Parity */ + LINE_PARITY_MARK = (1 << 3) | (1 << 5), /* Mark */ + LINE_PARITY_SPACE = (1 << 3) | (1 << 4) | (1 << 5), /* Space */ + LINE_BREAK_ENABLE = (1 << 6), /* Set Break Enable */ + LINE_DLAB = (1 << 7), /* Divisor Latch Access Bit */ +}; +enum uart_interrupt_enable_register_bits +{ + INTR_RECV_DATA_AVALIABLE = 1, /* Enable Received Data Available Interrupt */ + INTR_TRANSMIT_HOLDING = (1 << 1), /* Enable Transmitter Holding Register Empty Interrupt */ + INTR_STATUS_CHANGED = (1 << 2), /* Enable Receiver Line Status Interrupt */ + INTR_MODEM_STATUS = (1 << 3), /* Enable Modem Status Interrupt */ + INTR_SLEEP_MODE = (1 << 4), /* Enable Sleep Mode(16750) */ + INTR_LOW_POWER_MODE = (1 << 5), /* Enable Low Power Mode(16750) */ + INTR_RESERVED1 = (1 << 6), /* Reserved */ + INTR_RESERVED2 = (1 << 7), /* Reserved */ +}; + +enum uart_line_status_register_bits +{ + LINE_STATUS_DATA_READY = 1, /* Data Ready */ + LINE_STATUS_OVERRUN_ERROR = (1 << 1), /* Overrun Error */ + LINE_STATUS_PARITY_ERROR = (1 << 2), /* Parity Error */ + LINE_STATUS_FRAMING_ERROR = (1 << 3), /* Framing Error */ + LINE_STATUS_BREAK_INTERRUPT = (1 << 4), /* Break Interrupt */ + LINE_STATUS_EMPTY_TRANSMITTER_HOLDING = (1 << 5), /* Empty Transmitter Holding Register */ + LINE_STATUS_EMPTY_DATA_HOLDING = (1 << 6), /* Empty Data Holding Registers */ + LINE_STATUS_ERROR_RECEIVE_FIFO = (1 << 7), /* Error in Received FIFO */ +}; + +enum uart_intr_indenty_reg_bits +{ + INTR_STATUS_PENDING_FLAG = 1, /* Interrupt Pending Flag */ + /* 产生的什么中断 */ + INTR_STATUS_MODEM = (0 << 1), /* Transmitter Holding Register Empty Interrupt */ + INTR_STATUS_TRANSMITTER_HOLDING = (1 << 1), /* Received Data Available Interrupt */ + INTR_STATUS_RECEIVE_DATA = (1 << 2), /* Received Data Available Interrupt */ + INTR_STATUS_RECEIVE_LINE = (1 << 1) | (1 << 2), /* Receiver Line Status Interrupt */ + INTR_STATUS_TIME_OUT_PENDING = (1 << 2) | (1 << 3), /* Time-out Interrupt Pending (16550 & later) */ + INTR_STATUS_64BYTE_FIFO = (1 << 5), /* 64 Byte FIFO Enabled (16750 only) */ + INTR_STATUS_NO_FIFO = (0 << 6), /* No FIFO on chip */ + INTR_STATUS_RESERVED_CONDITION = (1 << 6), /* Reserved condition */ + INTR_STATUS_FIFO_NOT_FUNC = (1 << 7), /* FIFO enabled, but not functioning */ + INTR_STATUS_FIFO = (1 << 6) | (1 << 7), /* FIFO enabled */ +}; + +enum uart_modem_control_register_bits +{ + MCR_DTR = 1, /* Programs -DTR. If set, -DTR is low and the DTR pin of the port goes 'high'. */ + MCR_RTS = (1 << 1), /* Programs -RTS. dito. */ + MCR_OUT1 = (1 << 2), /* Programs -OUT1. Normally not used in a PC, but used with some + multi-port serial adapters to enable or disable a port. Best + thing is to write a '1' to this bit. */ + MCR_OUT2 = (1 << 3), /* Programs -OUT2. If set to 1, interrupts generated by the UART + are transferred to the ICU (Interrupt Control Unit) while 0 + sets the interrupt output of the card to high impedance. + (This is PC-only). */ + MCR_LOOPBACK= (1 << 4), /* '1': local loopback. All outputs disabled. This is a means of + testing the chip: you 'receive' all the data you send. */ +}; + +static void rt_hw_uart_isr(int irqno, void *param) +{ + struct rt_serial_device *serial = (struct rt_serial_device *)param; + rt_hw_serial_isr(serial, RT_SERIAL_EVENT_RX_IND); +} + +static rt_err_t uart_configure(struct rt_serial_device *serial, struct serial_configure *cfg) +{ + RT_ASSERT(serial != RT_NULL); + serial->config = *cfg; + + return RT_EOK; +} + +static rt_err_t uart_control(struct rt_serial_device *serial, int cmd, void *arg) +{ + struct hw_uart_device *uart; + + RT_ASSERT(serial != RT_NULL); + uart = (struct hw_uart_device *)serial->parent.user_data; + rt_uint8_t val; + switch (cmd) + { + case RT_DEVICE_CTRL_CLR_INT: + /* disable rx irq */ + val = inb(uart->intr_enable_reg); + outb(uart->intr_enable_reg, val & ~INTR_RECV_DATA_AVALIABLE); + break; + + case RT_DEVICE_CTRL_SET_INT: + /* enable rx irq */ + val = inb(uart->intr_enable_reg); + outb(uart->intr_enable_reg, val | INTR_RECV_DATA_AVALIABLE); + break; + } + return RT_EOK; +} + +static int uart_putc(struct rt_serial_device *serial, char c) +{ + struct hw_uart_device *uart; + + RT_ASSERT(serial != RT_NULL); + uart = (struct hw_uart_device *)serial->parent.user_data; + + int timeout = 100000; + /* 如果发送的时候不持有传输状态,就不能发送 */ + while (!(inb(uart->line_status_reg) & LINE_STATUS_EMPTY_TRANSMITTER_HOLDING) && timeout--) + ; + /* 往数据端口写入数据 */ + outb(uart->data_reg, c); + return 1; +} + +static int uart_getc(struct rt_serial_device *serial) +{ + struct hw_uart_device *uart; + + RT_ASSERT(serial != RT_NULL); + uart = (struct hw_uart_device *)serial->parent.user_data; + + /* 如果接收的时候数据没有准备好,就不能接收 */ + int timeout = 100000; + while (!(inb(uart->line_status_reg) & LINE_STATUS_DATA_READY) && timeout--) + ; + /* 从数据端口读取数据 */ + int data = -1; + if (timeout > 0) + data = inb(uart->data_reg); + return data; +} + +static const struct rt_uart_ops _uart_ops = +{ + uart_configure, + uart_control, + uart_putc, + uart_getc, +}; + +#ifdef RT_USING_UART0 +/* UART device driver structure */ +static struct hw_uart_device _uart0_device = +{ + SERIAL0_BASE, + SERIAL0_IRQ, +}; +static struct rt_serial_device _serial0; +#endif /* RT_USING_UART0 */ + +#ifdef RT_USING_UART1 +/* UART1 device driver structure */ +static struct hw_uart_device _uart1_device = +{ + SERIAL1_BASE, + SERIAL1_IRQ, +}; +static struct rt_serial_device _serial1; +#endif /* RT_USING_UART1 */ + +#if defined(RT_USING_UART0) || defined(RT_USING_UART1) +static void do_uart_init(char *name, struct hw_uart_device *uart, struct rt_serial_device *serial) +{ + struct serial_configure config = RT_SERIAL_CONFIG_DEFAULT; + rt_uint32_t iobase = uart->hw_base; + + uart->data_reg = iobase + 0; + uart->divisor_low_reg = iobase + 0; + uart->intr_enable_reg = iobase + 1; + uart->divisor_high_reg = iobase + 1; + uart->intr_indenty_reg = iobase + 2; + uart->line_ctrl_reg = iobase + 3; + uart->modem_ctrl_reg = iobase + 4; + uart->line_status_reg = iobase + 5; + uart->modem_status_reg = iobase + 6; + uart->scratch_reg = iobase + 7; + + /* 设置可以更改波特率Baud */ + outb(uart->line_ctrl_reg, LINE_DLAB); + + /* Set Baud rate,设置除数寄存器为新的波特率值 */ + outb(uart->divisor_low_reg, (MAX_BAUD_VALUE / config.baud_rate) & 0xff); + outb(uart->divisor_high_reg, ((MAX_BAUD_VALUE / config.baud_rate) >> 8) & 0xff); + + /* 设置 DLAB to 0, 设置字符宽度为 8, 停字为 to 1, 没有奇偶校验, + Break signal Disabled */ + outb(uart->line_ctrl_reg, LINE_WORD_LENGTH_8 | + LINE_STOP_BIT_1 | LINE_PARITY_NO); + + /* enable recv intr */ + outb(uart->intr_enable_reg, INTR_RECV_DATA_AVALIABLE | + INTR_STATUS_CHANGED | INTR_LOW_POWER_MODE); + + /* 设置FIFO,打开FIFO, 清除接收 FIFO, 清除传输 FIFO + 打开 64Byte FIFO, 中断触发等级为 14Byte + */ + outb(uart->fifo_reg, FIFO_ENABLE | FIFO_CLEAR_TRANSMIT | + FIFO_CLEAR_RECEIVE | FIFO_ENABLE_64 | + FIFO_TRIGGER_14); + + /* IRQs enabled, RTS/DSR set */ + outb(uart->modem_ctrl_reg, MCR_DTR | MCR_RTS | MCR_OUT2); + outb(uart->scratch_reg, 0x00); + + serial->ops = &_uart_ops; + serial->config = config; + + /* register device */ + rt_hw_serial_register(serial, name, + RT_DEVICE_FLAG_RDWR | RT_DEVICE_FLAG_INT_RX, + uart); + rt_hw_interrupt_install(uart->irqno, rt_hw_uart_isr, serial, name); + rt_hw_interrupt_umask(uart->irqno); +} +#endif + +int rt_hw_uart_init(void) +{ +#ifdef RT_USING_UART0 + do_uart_init("uart0", &_uart0_device, &_serial0); +#endif /* RT_USING_UART0 */ + +#ifdef RT_USING_UART1 + do_uart_init("uart1", &_uart1_device, &_serial1); +#endif /* RT_USING_UART1 */ + return 0; +} \ No newline at end of file diff --git a/bsp/x86/drivers/drv_uart.h b/bsp/x86/drivers/drv_uart.h new file mode 100644 index 0000000000000000000000000000000000000000..b22beca5d2869d540e338f71cd95be7ca789f5c6 --- /dev/null +++ b/bsp/x86/drivers/drv_uart.h @@ -0,0 +1,16 @@ +/* + * Copyright (c) 2006-2021, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2021-07-15 JasonHu first version + */ + +#ifndef __DRV_UART_H__ +#define __DRV_UART_H__ + +int rt_hw_uart_init(void); + +#endif /* __DRV_UART_H__ */ diff --git a/bsp/x86/grub-2.04/Makefile b/bsp/x86/grub-2.04/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..ddbfea8f9f867c3c428e9c816c852ba1423df9cd --- /dev/null +++ b/bsp/x86/grub-2.04/Makefile @@ -0,0 +1,72 @@ +BUILD_DIR = ../ +OS_NAME ?= rtthread +OS_ISO_NAME = $(OS_NAME).iso + +#MKISOFS = mkisofs +MKISOFS = genisoimage + +BOOT_DIR = boot +GRUB_DIR = $(BOOT_DIR)/grub +GRUB_ELTORITO = $(BOOT_DIR)/stage2_eltorito +MENU_CONF = $(GRUB_DIR)/kernels.cfg +EFI_CONF = ./compile.cfg +EFI32_FILE = ./efi/boot/bootia32.efi +EFI64_FILE = ./efi/boot/bootx64.efi +ISO_FILE_NAME = $(BUILD_DIR)/$(OS_ISO_NAME) +ISO_DIR = ./iso +EFI_BOOT = efi.img + +.PHONY: efi iso + +all: efi iso + +efi: + rm -rf ./efi/boot + mkdir -p ./efi/boot + grub-mkimage \ + -d $(GRUB_DIR)/i386-efi \ + -c $(EFI_CONF) \ + -p $(GRUB_DIR) \ + -o $(EFI32_FILE) \ + -O i386-efi + grub-mkimage \ + -d $(GRUB_DIR)/x86_64-efi \ + -c $(EFI_CONF) \ + -p $(GRUB_DIR) \ + -o $(EFI64_FILE) \ + -O x86_64-efi + +iso: + rm -f -r $(ISO_DIR) + mkdir -p $(ISO_DIR) + dd if=/dev/zero of=$(ISO_DIR)/$(EFI_BOOT) bs=512 count=8192 + mkfs.msdos -F 12 $(ISO_DIR)/$(EFI_BOOT) + mmd -i $(ISO_DIR)/$(EFI_BOOT) ::efi + mmd -i $(ISO_DIR)/$(EFI_BOOT) ::efi/boot + mcopy -i $(ISO_DIR)/$(EFI_BOOT) $(EFI32_FILE) ::$(EFI32_FILE) + mcopy -i $(ISO_DIR)/$(EFI_BOOT) $(EFI64_FILE) ::$(EFI64_FILE) + echo "multiboot2 /$(BOOT_DIR)/$(KERNEL)" > $(MENU_CONF) + echo "boot" >> $(MENU_CONF) + cp -r ./efi $(ISO_DIR)/efi + cp -r ./boot $(ISO_DIR)/boot + mkdir -p $(ISO_DIR)/$(OS_NAME) + cp $(BUILD_DIR)/$(KERNEL) $(ISO_DIR)/$(BOOT_DIR)/$(KERNEL) + $(MKISOFS) \ + -graft-points \ + -input-charset utf8 \ + -sysid "" \ + -appid "" \ + -volid "$(OS_ISO_NAME)" \ + -R \ + -no-emul-boot \ + -boot-load-size 4 \ + -boot-info-table -b $(GRUB_ELTORITO) \ + -eltorito-alt-boot -b $(EFI_BOOT) \ + -no-emul-boot \ + -o $(ISO_FILE_NAME) $(ISO_DIR) + rm -f -r $(ISO_DIR) + +clean: + rm -f $(ISO_FILE_NAME) + rm -f $(EFI32_FILE) + rm -f $(EFI64_FILE) \ No newline at end of file diff --git a/bsp/x86/grub-2.04/README.md b/bsp/x86/grub-2.04/README.md new file mode 100644 index 0000000000000000000000000000000000000000..f81424de9a63e392057f4f4e80003bd821dfda6d --- /dev/null +++ b/bsp/x86/grub-2.04/README.md @@ -0,0 +1,149 @@ +### 文件说明 +``` +├─boot +│ │─grub +│ │ ├─i386-efi +│ │ ├─i386-pc +│ │ ├─locales +│ │ │─themes +│ │ │ └─RTT-Smart +│ │ │ └─icons +│ │ ├─grub.cfg +│ │ ├─kernels.cfg +│ │ ├─unicode.pf2 +│ │ └─variable.cfg +│ └─stage2_eltorito +│─efi +│ └─boot +├─compile.cfg +└─Makefile +``` +* `efi/boot/` 为efi启动时默认搜索efi的地方,里面将存放编译好的 `bootia32.efi`。 +* `boot/` 为对应平台的驱动目录 +* `boot/stage2_eltorito` 为grub启动光盘的必要文件。在`boot/grub/i386-pc`中同样存在该文件,但启动速度较慢。 +* `boot/grub/i386-pc` 为x86架构传统BIOS启动的基本模块 +* `boot/grub/i386-efi` 为x86架构uefi启动的基本模块 +* `boot/grub/locales` 语言包 +* `boot/themes` 可以存放多个图形界面grub主题,`RTT-Smart`为默认主题,可在`https://www.gnome-look.org/browse/cat/109/order/latest/`下载其他主题,记得设计对应XBook的logo。 +* `boot/grub/grub.cfg` grub启动后配置脚本第二次启动的配置,包括菜单,图形界面,字体等 +* `boot/grub/kernels.cfg` XBook的内核启动菜单,由生成ISO文件时自动覆盖内容 +* `boot/grub/unicode.pf2` grub图形界面默认字体 +* `boot/grub/variable.cfg` grub设定主题配置文件 +* `compile.cfg` grub启动后执行的配置脚本 +* `Makefile` 用于生成efi、iso的Makefile + +### Makefile转换说明 +建议只改动一下部分变量的`值` +``` +# 生成ISO的工具,两个工具完全兼容,linux下都可以使用,win下可能只有genisoimage,在new Tools软件包中 +#MKISOFS = mkisofs +MKISOFS = genisoimage +``` + +### Makefile指令说明 +``` +BOOT_DIR = boot +GRUB_DIR = $(BOOT_DIR)/grub +GRUB_ELTORITO = $(BOOT_DIR)/stage2_eltorito +MENU_CONF = $(GRUB_DIR)/kernels.cfg +EFI_CONF = ./compile.cfg +EFI_FILE = ./efi/boot/bootia32.efi +ISO_FILE_NAME = $(BUILD_DIR)/$(OS_ISO_NAME) +ISO_TEMP_DIR = ./iso +EFI_BOOT = $(BOOT_DIR)/efi.img + +.PHONY: efi iso + +all: efi iso + +efi: + grub-mkimage \ + # grub模块路径 + -d $(GRUB_DIR)/i386-efi \ + # grub启动后的第一个执行的配置脚本 + -c $(EFI_CONF) \ + # grub根目录 + -p $(GRUB_DIR) \ + # 生成efi/core的路径 + -o $(EFI_FILE) \ + # 启动方式 + -O i386-efi \ + # 需要使用的模块,其实用不了这么多 + affs afs all_video bitmap bitmap_scale elf eval linux \ + blocklist boot btrfs cat chain cmp configfile cpio tar \ + fat file font fshelp gettext gfxmenu date newc png \ + gfxterm gfxterm_background gfxterm_menu gptsync hashsum \ + help hexdump hfs hfsplus hfspluscomp iso9660 jfs jpeg \ + loadenv loopback ls lsacpi datetime disk echo minicmd \ + lsmmap lspci lvm lzopio memdisk multiboot multiboot2 \ + normal part_apple part_bsd part_gpt part_msdos parttool \ + probe procfs random read reboot regexp search halt gzio \ + search_fs_file search_fs_uuid search_label sleep squash4 \ + terminal terminfo test tga time true udf video video_bochs \ + video_cirrus video_colors video_fb videoinfo xzio datehook \ + loadbios appleldr crc efi_gop efi_uga lsefi lsefimmap lsefisystab + +iso: + # 创建虚拟磁盘efi.img + dd if=/dev/zero of=$(EFI_BOOT) bs=512 count=8192 + # efi.img写入fat12文件系统 + mkfs.msdos -F 12 $(EFI_BOOT) + # efi.img创建efi文件夹 + mmd -i $(EFI_BOOT) ::efi + # efi.img创建efi/boot文件夹 + mmd -i $(EFI_BOOT) ::efi/boot + # 将efi文件拷贝到efi.img对应efi/boot位置 + mcopy -i $(EFI_BOOT) $(EFI_FILE) ::$(EFI_FILE) + # 动态写入kernels.cfg菜单文件,该指令为multiboot2的方式加载内核 + echo "multiboot2 /$(OS_NAME)/$(KERNEL)" > $(MENU_CONF) + # 动态写入kernels.cfg菜单文件,该指令启动内核 + echo "boot" >> $(MENU_CONF) + # 删除之前iso目录(如果iso构建失败可能会残留,导致ISO变更大) + rm -f -r $(ISO_TEMP_DIR) + # 创建iso目录 + mkdir -p $(ISO_TEMP_DIR) + # 复制efi到iso + cp -r ./efi $(ISO_TEMP_DIR)/efi + # 复制boot到iso + cp -r ./boot $(ISO_TEMP_DIR)/boot + # 在iso创建内核文件夹 + mkdir -p $(ISO_TEMP_DIR)/$(OS_NAME) + # 拷贝内核文件 + cp $(BUILD_DIR)/$(KERNEL) $(ISO_TEMP_DIR)/$(OS_NAME)/$(KERNEL) + # 生成ISO文件 + $(MKISOFS) \ + # 转义,作用不大,反正大家都留着就留着 + -graft-points \ + # 编码 + -input-charset utf8 \ + # 指定系统ID + -sysid "" \ + # 指定描述光盘应用程序Id的文本字符串,可以有128个字符 + -appid "" \ + # 指定要写入主块的卷ID + -volid "$(OS_ISO_NAME)" \ + # 使用Rock Ridge协议 + -R \ + # 支持El Torito启动 + -no-emul-boot \ + # boot扇区数量 + -boot-load-size 4 \ + # El Torito启动文件 + -boot-info-table -b $(GRUB_ELTORITO) \ + # 从一组新的El Torito启动参数开始。最多63个El Torito引导项可以存储在一张CD上。 + -eltorito-alt-boot -b $(EFI_BOOT) \ + # 指定用于创建El Torito可引导cd的引导映像是“无仿真”映像。系统将在不执行任何磁盘模拟的情况下加载和执行此映像。 + -no-emul-boot \ + -o $(ISO_FILE_NAME) $(ISO_TEMP_DIR) + # 删除iso + rm -f -r $(ISO_TEMP_DIR) + # 删除efi.img + rm -f $(EFI_BOOT) +``` + +### new Tools说明(全用于WIN) +* `genisoimage` 生成ISO文件,和mkisofs完全兼容,具体参数参考https://www.cnblogs.com/wj78080458/p/9879699.html +* `grub-2.04` grub的模块以及字体、主题和各种安装、写入程序 +* `mkfs` 用于虚拟磁盘的文件格式化 +* `mtools` 用于虚拟磁盘的文件系统操作 +* `rufus-3.13` 用于将ISO刷入U盘启动,Linux下可参考https://askubuntu.com/questions/372607/how-to-create-a-bootable-ubuntu-usb-flash-drive-from-terminal \ No newline at end of file diff --git a/bsp/x86/grub-2.04/boot/grub/grub.cfg b/bsp/x86/grub-2.04/boot/grub/grub.cfg new file mode 100644 index 0000000000000000000000000000000000000000..2c804ae370502587bdf9513db40b25ff0ca02943 --- /dev/null +++ b/bsp/x86/grub-2.04/boot/grub/grub.cfg @@ -0,0 +1,25 @@ +insmod part_gpt +insmod part_msdos +insmod fat +insmod iso9660 + +set menu_color_normal=white/black +set menu_color_highlight=light-green/light-gray + +set timeout=5 +set timeout_style=menu +set default=0 +set pager=1 + +menuentry "RT-Thread" { + source /boot/grub/kernels.cfg +} + +menuentry "Restart" { + reboot +} + +menuentry "Shutdown" { + insmod halt + halt +} diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/acpi.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/acpi.mod new file mode 100644 index 0000000000000000000000000000000000000000..ce67b9020278e4d0e567b59998cb03d8081840b9 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/acpi.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/adler32.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/adler32.mod new file mode 100644 index 0000000000000000000000000000000000000000..bf6bed0a2451d43efdd126d0ac389e5727300a57 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/adler32.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/affs.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/affs.mod new file mode 100644 index 0000000000000000000000000000000000000000..e9b05232fb237718ab852dcd73d61a2d00018ee1 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/affs.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/afs.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/afs.mod new file mode 100644 index 0000000000000000000000000000000000000000..dbf3dede140cc857446244ff7bb2b43d9ebba246 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/afs.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/afsplitter.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/afsplitter.mod new file mode 100644 index 0000000000000000000000000000000000000000..0dcb2bc2306fe4f57f39158df39cb3e07abb2ce5 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/afsplitter.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/ahci.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/ahci.mod new file mode 100644 index 0000000000000000000000000000000000000000..8ac3aa70ac6434a372bdf8d71b218f83a2774d02 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/ahci.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/alias.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/alias.mod new file mode 100644 index 0000000000000000000000000000000000000000..9d2ac64c27c937c37c274d0924c5165efc237c0b Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/alias.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/all_video.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/all_video.mod new file mode 100644 index 0000000000000000000000000000000000000000..d435f903fd9330496109cf042ff70cabe5d9e909 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/all_video.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/aout.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/aout.mod new file mode 100644 index 0000000000000000000000000000000000000000..f8568f7b28764a968166320d94720206e9f69b6b Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/aout.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/appleldr.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/appleldr.mod new file mode 100644 index 0000000000000000000000000000000000000000..72e2bc7af3d458d90efeb54821fd9eaea1eac079 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/appleldr.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/archelp.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/archelp.mod new file mode 100644 index 0000000000000000000000000000000000000000..1be8aaa838af231179c9d454604030d91376b7c8 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/archelp.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/at_keyboard.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/at_keyboard.mod new file mode 100644 index 0000000000000000000000000000000000000000..e14bae0b1dfd7682ec6492669ec359c6c438df69 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/at_keyboard.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/ata.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/ata.mod new file mode 100644 index 0000000000000000000000000000000000000000..12e2b11102c16a1a233f3958bbc250aaf2a267b3 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/ata.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/backtrace.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/backtrace.mod new file mode 100644 index 0000000000000000000000000000000000000000..439ec1d9737dcdd0fbc67bdf36351e5c86ef0dfc Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/backtrace.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/bcfg.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/bcfg.mod new file mode 100644 index 0000000000000000000000000000000000000000..36254043c16866f1dce68e6a94667c13f87dbd3f Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/bcfg.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/bfs.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/bfs.mod new file mode 100644 index 0000000000000000000000000000000000000000..154a340b18bf4b63e9f038406b76ab750ff69232 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/bfs.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/bitmap.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/bitmap.mod new file mode 100644 index 0000000000000000000000000000000000000000..78034b0a85f8e788920121b3d8dae817135f96f7 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/bitmap.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/bitmap_scale.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/bitmap_scale.mod new file mode 100644 index 0000000000000000000000000000000000000000..a1f7740c8cd64d11de8cae9cf5319dd8a9809749 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/bitmap_scale.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/blocklist.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/blocklist.mod new file mode 100644 index 0000000000000000000000000000000000000000..b2ea113f1b164fb1f09d18112e69d1baffac277f Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/blocklist.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/blscfg.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/blscfg.mod new file mode 100644 index 0000000000000000000000000000000000000000..ae25f3553661289e2ef6c01d87f4ac4bae5f4ae3 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/blscfg.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/bmp.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/bmp.mod new file mode 100644 index 0000000000000000000000000000000000000000..fb78834448da62070dd779a80bf963cb33dcdefb Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/bmp.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/boot.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/boot.mod new file mode 100644 index 0000000000000000000000000000000000000000..50fbc824c0883fc2e74a0168d387d945db5b2d0d Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/boot.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/bsd.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/bsd.mod new file mode 100644 index 0000000000000000000000000000000000000000..820b96fa8f888de57b1fd5a482116a2b3040f389 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/bsd.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/bswap_test.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/bswap_test.mod new file mode 100644 index 0000000000000000000000000000000000000000..6f5eddc56d67279b9c7b3b0f432e0d6ddf87317b Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/bswap_test.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/btrfs.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/btrfs.mod new file mode 100644 index 0000000000000000000000000000000000000000..9b798ce978eb139dd60ad08b5aefe55af74f0db1 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/btrfs.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/bufio.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/bufio.mod new file mode 100644 index 0000000000000000000000000000000000000000..0dae75836059b91adee076f2976d1c0bfbcfc472 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/bufio.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/cat.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/cat.mod new file mode 100644 index 0000000000000000000000000000000000000000..9fca75f852536d04953d7e88085c62577a24b17f Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/cat.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/cbfs.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/cbfs.mod new file mode 100644 index 0000000000000000000000000000000000000000..3eecc26dfe62b6db64087e5c7b563dde4c4dee60 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/cbfs.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/cbls.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/cbls.mod new file mode 100644 index 0000000000000000000000000000000000000000..e3d12558eaeb09d35aa1d9fd20c2325a235733fe Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/cbls.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/cbmemc.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/cbmemc.mod new file mode 100644 index 0000000000000000000000000000000000000000..293528926879fb44fd5d7172c67b46c58f81c760 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/cbmemc.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/cbtable.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/cbtable.mod new file mode 100644 index 0000000000000000000000000000000000000000..36f8f7564295260b9f4b96f240aa2194c7fa96bd Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/cbtable.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/cbtime.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/cbtime.mod new file mode 100644 index 0000000000000000000000000000000000000000..8cc1b2c7ae96c752f8b6f065e44370ff10b8409d Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/cbtime.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/chain.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/chain.mod new file mode 100644 index 0000000000000000000000000000000000000000..dc037adea3073af0e8e6f74d632fd8897db26161 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/chain.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/cmdline_cat_test.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/cmdline_cat_test.mod new file mode 100644 index 0000000000000000000000000000000000000000..4e30d95b84fe60950e0205ebf965c65ae29680ed Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/cmdline_cat_test.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/cmp.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/cmp.mod new file mode 100644 index 0000000000000000000000000000000000000000..5c380ee28b81b10226e2abc2f26b1dc4e3cf83ef Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/cmp.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/cmp_test.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/cmp_test.mod new file mode 100644 index 0000000000000000000000000000000000000000..e578c009a78c7266cce08c2febf130e88c8b3697 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/cmp_test.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/command.lst b/bsp/x86/grub-2.04/boot/grub/i386-efi/command.lst new file mode 100644 index 0000000000000000000000000000000000000000..f110bd6a68d66dd5e762fdbf270eb7ee3de5d7e9 --- /dev/null +++ b/bsp/x86/grub-2.04/boot/grub/i386-efi/command.lst @@ -0,0 +1,281 @@ +*acpi: acpi +*all_functional_test: functional_test +*background_image: gfxterm_background +*blocklist: blocklist +*bls_import: blscfg +*blscfg: blscfg +*btrfs-get-default-subvol: btrfs +*btrfs-list-subvols: btrfs +*cat: cat +*chainloader: chain +*clear_menu: normal +*cmp: cmp +*cpuid: cpuid +*crc: hashsum +*cryptomount: cryptodisk +*date: date +*dd: dd +*dp: dp +*echo: echo +*efi_connect_all: efiload +*efiload: efiload +*efiusb: dp +*expr: expr +*extract_syslinux_entries_configfile: syslinuxcfg +*extract_syslinux_entries_source: syslinuxcfg +*file: file +*fucksb: sbpolicy +*functional_test: functional_test +*getargs: getargs +*getenv: getenv +*getkey: getkey +*gettext: gettext +*gptprio.next: gptprio +*grubfm: grubfm +*grubfm_about: grubfm +*grubfm_cat: grubfm +*grubfm_get: grubfm +*grubfm_hex: grubfm +*grubfm_open: grubfm +*grubfm_set: grubfm +*hashsum: hashsum +*hdparm: hdparm +*help: help +*hexdump: hexdump +*hiddenentry: normal +*html_list: grubfm +*inb: iorw +*ini_get: ini +*inl: iorw +*inw: iorw +*isotools: map +*keystatus: keystatus +*kfreebsd: bsd +*knetbsd: bsd +*kopenbsd: bsd +*list_env: loadenv +*load_env: loadenv +*loadfile: memrw +*loopback: loopback +*ls: ls +*lsacpi: lsacpi +*lspci: lspci +*lua: lua +*map: map +*md5sum: hashsum +*menuentry: normal +*mkinitrd: newc +*nes: nes +*ntboot: ntboot +*partnew: partnew +*pcidump: pcidump +*pop_env: normal +*probe: probe +*rand: uuid +*rdmsr: rdmsr +*read_byte: memrw +*read_dword: memrw +*read_word: memrw +*regexp: regexp +*reset: reboot +*save_env: loadenv +*sbpolicy: sbpolicy +*search: search +*serial: serial +*setenv: setenv +*setkey: setkey +*setpci: setpci +*sha1sum: hashsum +*sha256sum: hashsum +*sha512sum: hashsum +*shell: shell +*sleep: sleep +*smbios: smbios +*stat: stat +*strconv: conv +*submenu: normal +*submenu_exit: normal +*syslinux_configfile: syslinuxcfg +*syslinux_source: syslinuxcfg +*terminfo: terminfo +*test_blockarg: test_blockarg +*testspeed: testspeed +*tetris: tetris +*tr: tr +*trust: pgp +*uuid4: uuid +*verify_detached: pgp +*vhd: vhd +*videomode: videoinfo +*wimboot: wimboot +*wimtools: wimboot +*zfskey: zfscrypt +.: configfile +[: test +alias: alias +appleloader: appleldr +authenticate: normal +background_color: gfxterm_background +backtrace: backtrace +badram: mmap +bcfg: bcfg +boot: boot +break: normal +btrfs-info: btrfs +btrfs-mount-subvol: btrfs +cat: minicmd +cbmemc: cbmemc +checktime: date +clear: normal +commandline: commandline +configfile: configfile +continue: normal +coreboot_boottime: cbtime +cp: fatfs +crc32: crc +cutmem: mmap +decrement: increment +distrust: pgp +dump: minicmd +efi-export-env: efienv +efi-load-env: efienv +eval: eval +exit: minicmd +export: normal +extract_entries_configfile: configfile +extract_entries_source: configfile +extract_legacy_entries_configfile: legacycfg +extract_legacy_entries_source: legacycfg +fakebios: loadbios +false: true +fix_video: fixvideo +fixmmap: fixmmap +fwsetup: reboot +gamepad_dpad: usb_gamepad +gdbstub: gdb +gdbstub_break: gdb +gdbstub_stop: gdb +gptrepair: gptrepair +gptsync: gptsync +halt: halt +help: minicmd +hexdump_random: random +increment: increment +initrd16: linux16 +initrd: linux +initrdefi: linuxefi +keymap: keylayouts +kfreebsd_loadenv: bsd +kfreebsd_module: bsd +kfreebsd_module_elf: bsd +knetbsd_module: bsd +knetbsd_module_elf: bsd +kopenbsd_ramdisk: bsd +legacy_check_password: legacycfg +legacy_configfile: legacycfg +legacy_initrd: legacycfg +legacy_initrd_nounzip: legacycfg +legacy_kernel: legacycfg +legacy_password: legacycfg +legacy_source: legacycfg +linux16: linux16 +linux: linux +linuxefi: linuxefi +list_trusted: pgp +loadbios: loadbios +loadfont: font +lscoreboot: cbls +lsefi: lsefi +lsefienv: getenv +lsefimmap: lsefimmap +lsefisystab: lsefisystab +lsfonts: font +lsmmap: lsmmap +lsmod: minicmd +lssal: lssal +macppcbless: macbless +mactelbless: macbless +mkdir: fatfs +module2: multiboot2 +module: multiboot +mount: fatfs +mouse_test: efi_mouse +mousectl: ps2mouse +multiboot2: multiboot2 +multiboot: multiboot +mv: fatfs +nativedisk: nativedisk +net_add_addr: net +net_add_dns: net +net_add_route: net +net_bootp6: net +net_bootp: net +net_del_addr: net +net_del_dns: net +net_del_route: net +net_dhcp: net +net_efi_add_addr: efi_netfs +net_efi_bootp6: efi_netfs +net_efi_bootp: efi_netfs +net_efi_ls_addr: efi_netfs +net_efi_ls_cards: efi_netfs +net_efi_ls_routes: efi_netfs +net_get_dhcp_option: net +net_ipv6_autoconf: net +net_ls_addr: net +net_ls_cards: net +net_ls_dns: net +net_ls_routes: net +net_nslookup: net +normal: normal +normal_exit: normal +nthibr: nttools +ntversion: nttools +outb: iorw +outl: iorw +outw: iorw +parttool: parttool +password: password +password_pbkdf2: password_pbkdf2 +play: play +read: read +read_file: read +reboot: reboot +rename: fatfs +return: normal +rm: fatfs +rmmod: minicmd +search.disk_uuid: search_disk_uuid +search.file: search_fs_file +search.fs_label: search_label +search.fs_uuid: search_fs_uuid +search.part_label: search_part_label +search.part_uuid: search_part_uuid +setparams: normal +setup_var2: setup_var +setup_var: setup_var +setup_var_3: setup_var +shift: normal +source: configfile +terminal_input: terminal +terminal_output: terminal +test: test +testload: testload +time: time +touch: fatfs +true: true +umount: fatfs +unalias: alias +usb: usbtest +version: version +videoinfo: videoinfo +videotest: videotest +write_byte: memrw +write_bytes: memrw +write_dword: memrw +write_file: fatfs +write_word: memrw +wrmsr: wrmsr +xnu_uuid: xnu_uuid +zfs-bootfs: zfsinfo +zfsinfo: zfsinfo diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/commandline.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/commandline.mod new file mode 100644 index 0000000000000000000000000000000000000000..406a2a54d40c0975c334a2bc73e1e9583584d0d2 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/commandline.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/configfile.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/configfile.mod new file mode 100644 index 0000000000000000000000000000000000000000..2d3adfa077394aca997fdfd1a6014916bd8beb7b Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/configfile.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/conv.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/conv.mod new file mode 100644 index 0000000000000000000000000000000000000000..52d8480837c9f4184a3aa8a35e74217835a85a3b Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/conv.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/cpio.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/cpio.mod new file mode 100644 index 0000000000000000000000000000000000000000..6c264bd2649f0f1705d1a0d6af94861547dfb522 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/cpio.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/cpio_be.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/cpio_be.mod new file mode 100644 index 0000000000000000000000000000000000000000..c98d68747d2076aca0146f1e5c0f99530ad15281 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/cpio_be.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/cpuid.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/cpuid.mod new file mode 100644 index 0000000000000000000000000000000000000000..7ab9c4bf7f90f80de817b3bacc9236cc0ab57f6b Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/cpuid.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/crc.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/crc.mod new file mode 100644 index 0000000000000000000000000000000000000000..bd00733b1dd25bebaeb145fe068675bb6ffd096d Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/crc.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/crc64.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/crc64.mod new file mode 100644 index 0000000000000000000000000000000000000000..89b7743ccccb6041d63a62b8454e582d844acbcd Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/crc64.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/crscreenshot.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/crscreenshot.mod new file mode 100644 index 0000000000000000000000000000000000000000..40bd2deddddcd181db22aa3de0ccc015240682d6 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/crscreenshot.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/crypto.lst b/bsp/x86/grub-2.04/boot/grub/i386-efi/crypto.lst new file mode 100644 index 0000000000000000000000000000000000000000..77d9efc01a4371a136c3330355aa68b0368e65c9 --- /dev/null +++ b/bsp/x86/grub-2.04/boot/grub/i386-efi/crypto.lst @@ -0,0 +1,45 @@ +RIJNDAEL: gcry_rijndael +RIJNDAEL192: gcry_rijndael +RIJNDAEL256: gcry_rijndael +AES128: gcry_rijndael +AES-128: gcry_rijndael +AES-192: gcry_rijndael +AES-256: gcry_rijndael +ADLER32: adler32 +CRC64: crc64 +ARCFOUR: gcry_arcfour +BLOWFISH: gcry_blowfish +CAMELLIA128: gcry_camellia +CAMELLIA192: gcry_camellia +CAMELLIA256: gcry_camellia +CAST5: gcry_cast5 +CRC32: gcry_crc +CRC32RFC1510: gcry_crc +CRC24RFC2440: gcry_crc +DES: gcry_des +3DES: gcry_des +DSA: gcry_dsa +IDEA: gcry_idea +MD4: gcry_md4 +MD5: gcry_md5 +RFC2268_40: gcry_rfc2268 +AES: gcry_rijndael +AES192: gcry_rijndael +AES256: gcry_rijndael +RIPEMD160: gcry_rmd160 +RSA: gcry_rsa +SEED: gcry_seed +SERPENT128: gcry_serpent +SERPENT192: gcry_serpent +SERPENT256: gcry_serpent +SHA1: gcry_sha1 +SHA224: gcry_sha256 +SHA256: gcry_sha256 +SHA512: gcry_sha512 +SHA384: gcry_sha512 +TIGER192: gcry_tiger +TIGER: gcry_tiger +TIGER2: gcry_tiger +TWOFISH: gcry_twofish +TWOFISH128: gcry_twofish +WHIRLPOOL: gcry_whirlpool diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/crypto.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/crypto.mod new file mode 100644 index 0000000000000000000000000000000000000000..fd90880d71509d080182b3ee2a7ee19cad1aab7b Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/crypto.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/cryptodisk.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/cryptodisk.mod new file mode 100644 index 0000000000000000000000000000000000000000..2156bde7227d819cda264c9af1174df01b85d043 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/cryptodisk.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/cs5536.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/cs5536.mod new file mode 100644 index 0000000000000000000000000000000000000000..224a25c85e350e0800a8866ba046f7c38d701826 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/cs5536.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/ctz_test.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/ctz_test.mod new file mode 100644 index 0000000000000000000000000000000000000000..589b48abe726d6cc5e048dfd4a32e0163ab2f688 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/ctz_test.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/date.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/date.mod new file mode 100644 index 0000000000000000000000000000000000000000..016b8e45c7c9d654e0020604033f8ed80f2d8ab4 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/date.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/datehook.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/datehook.mod new file mode 100644 index 0000000000000000000000000000000000000000..9805007df3ab853aebceaa1529db8c6de4800490 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/datehook.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/datetime.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/datetime.mod new file mode 100644 index 0000000000000000000000000000000000000000..acb9b260249e34c05446132ebf34a692d9dc99fc Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/datetime.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/dd.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/dd.mod new file mode 100644 index 0000000000000000000000000000000000000000..31e40baf597912503ec9862e89720b0aeb979963 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/dd.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/disk.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/disk.mod new file mode 100644 index 0000000000000000000000000000000000000000..ec9ae5272db3197610c1d2fae2085f9eba879848 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/disk.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/diskfilter.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/diskfilter.mod new file mode 100644 index 0000000000000000000000000000000000000000..8f0ee25191e8352f0897609f0de01196664adb28 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/diskfilter.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/div.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/div.mod new file mode 100644 index 0000000000000000000000000000000000000000..004f54ccd85f63d6c14966414f434f0f5c0e51fd Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/div.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/div_test.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/div_test.mod new file mode 100644 index 0000000000000000000000000000000000000000..b239afcf82f50b07ecae2087ba0875179e1dc40c Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/div_test.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/dm_nv.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/dm_nv.mod new file mode 100644 index 0000000000000000000000000000000000000000..3d1757d8142d9a9926739468bd61922b51b1e493 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/dm_nv.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/dp.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/dp.mod new file mode 100644 index 0000000000000000000000000000000000000000..a9bd65f8376f38513b0122ec903ba07d75b70040 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/dp.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/echo.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/echo.mod new file mode 100644 index 0000000000000000000000000000000000000000..35efada620c7b893014fe44741155c9f91a279ad Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/echo.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/efi_gop.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/efi_gop.mod new file mode 100644 index 0000000000000000000000000000000000000000..0bdc32b8abb76eeb8e8ce743cf53fb9d36ddd731 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/efi_gop.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/efi_mouse.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/efi_mouse.mod new file mode 100644 index 0000000000000000000000000000000000000000..0f7152206cb11c7f20089273ca289ccdce78e57a Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/efi_mouse.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/efi_netfs.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/efi_netfs.mod new file mode 100644 index 0000000000000000000000000000000000000000..8d0376c8c7e85407f0232404bcd864b5e3010864 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/efi_netfs.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/efi_uga.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/efi_uga.mod new file mode 100644 index 0000000000000000000000000000000000000000..dc2a7114543ac912f3076d2104a5ae9098697a12 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/efi_uga.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/efienv.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/efienv.mod new file mode 100644 index 0000000000000000000000000000000000000000..6607095cddbf6193b729ed7de8f8d9ecb6c6401f Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/efienv.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/efiload.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/efiload.mod new file mode 100644 index 0000000000000000000000000000000000000000..68188fb05d05dc5ed3de691ab94bb6e5e0bb1afd Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/efiload.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/efinet.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/efinet.mod new file mode 100644 index 0000000000000000000000000000000000000000..009ce2a5b523a12322907dc0554090ff209a716b Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/efinet.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/ehci.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/ehci.mod new file mode 100644 index 0000000000000000000000000000000000000000..27c64109f1501804238d67b712bc84d3a0cbf62b Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/ehci.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/elf.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/elf.mod new file mode 100644 index 0000000000000000000000000000000000000000..1c6133575037ea9eb302a80e008bc44d2513b214 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/elf.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/eval.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/eval.mod new file mode 100644 index 0000000000000000000000000000000000000000..e509ab82f55ba1dca5d74e842849dd02d52f478b Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/eval.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/exfat.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/exfat.mod new file mode 100644 index 0000000000000000000000000000000000000000..b193e212ca400a4c742968ef822a4bab422cce64 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/exfat.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/exfctest.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/exfctest.mod new file mode 100644 index 0000000000000000000000000000000000000000..65b54a9576c544ff92188c835af864fdd82da19a Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/exfctest.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/expr.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/expr.mod new file mode 100644 index 0000000000000000000000000000000000000000..f1adfd35c342d248c75569defb3545203ac3232c Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/expr.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/ext2.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/ext2.mod new file mode 100644 index 0000000000000000000000000000000000000000..979942c5491be02486c5014ff2d38c5aadf621a8 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/ext2.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/extcmd.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/extcmd.mod new file mode 100644 index 0000000000000000000000000000000000000000..2bc4b4fe8784bca7593d6135ce9f22d571b478f6 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/extcmd.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/f2fs.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/f2fs.mod new file mode 100644 index 0000000000000000000000000000000000000000..60cc9ca15c0a7900ace0919df6c8b25b33d4a7e1 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/f2fs.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/fat.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/fat.mod new file mode 100644 index 0000000000000000000000000000000000000000..ad70c495fd931347b5a3231b34d780f2f1c5e3c5 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/fat.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/fatfs.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/fatfs.mod new file mode 100644 index 0000000000000000000000000000000000000000..299f1ca18c8d8a20f89d41c8a474e4e2e3814605 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/fatfs.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/fb.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/fb.mod new file mode 100644 index 0000000000000000000000000000000000000000..50901bf7e7e0d3ea5000e9d7a3c4f1a18b4cf7fc Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/fb.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/fdlibm.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/fdlibm.mod new file mode 100644 index 0000000000000000000000000000000000000000..30f8ad093adaa6907db4b6ca01eb188ca7bdf166 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/fdlibm.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/fdt.lst b/bsp/x86/grub-2.04/boot/grub/i386-efi/fdt.lst new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/file.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/file.mod new file mode 100644 index 0000000000000000000000000000000000000000..8971294f831ab1b39229e584156c02301f96573b Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/file.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/fixmmap.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/fixmmap.mod new file mode 100644 index 0000000000000000000000000000000000000000..ea463d352e895fc03a879a1753bf0c0d795f4f9d Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/fixmmap.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/fixvideo.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/fixvideo.mod new file mode 100644 index 0000000000000000000000000000000000000000..575d0d2f7e879a33f54a3062f474a81093befd4d Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/fixvideo.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/font.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/font.mod new file mode 100644 index 0000000000000000000000000000000000000000..6395585fc836f36de297d8ed7302b7f7de927e26 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/font.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/fs.lst b/bsp/x86/grub-2.04/boot/grub/i386-efi/fs.lst new file mode 100644 index 0000000000000000000000000000000000000000..e0013bdf174549265e1f9abc60f6f7a5ff772cfb --- /dev/null +++ b/bsp/x86/grub-2.04/boot/grub/i386-efi/fs.lst @@ -0,0 +1,41 @@ +affs +afs +bfs +btrfs +cbfs +cpio +cpio_be +exfat +ext2 +f2fs +fat +fb +hfs +hfsplus +iso9660 +jfs +lynxfs +minix +minix2 +minix2_be +minix3 +minix3_be +minix_be +newc +nilfs2 +ntfs +odc +procfs +qnx4 +qnx6 +reiserfs +romfs +sfs +squash4 +tar +udf +ufs1 +ufs1_be +ufs2 +xfs +zfs diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/fshelp.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/fshelp.mod new file mode 100644 index 0000000000000000000000000000000000000000..4cdcb899213fa1981e2a7f9ef611eed7b2d700ca Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/fshelp.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/functional_test.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/functional_test.mod new file mode 100644 index 0000000000000000000000000000000000000000..9c78b600e316ba02659cc403ab63031e1dc96e49 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/functional_test.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_arcfour.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_arcfour.mod new file mode 100644 index 0000000000000000000000000000000000000000..5533cecb1d965f5ced4aff6618298bc6abb78a8b Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_arcfour.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_blowfish.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_blowfish.mod new file mode 100644 index 0000000000000000000000000000000000000000..28747f3cbe9948898f263400f27993a5c4bbb765 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_blowfish.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_camellia.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_camellia.mod new file mode 100644 index 0000000000000000000000000000000000000000..6101a55042444009e96e1658c5effeea71dbd22c Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_camellia.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_cast5.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_cast5.mod new file mode 100644 index 0000000000000000000000000000000000000000..328ad4e1f679e7be21505650d6eacb512fd4248d Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_cast5.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_crc.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_crc.mod new file mode 100644 index 0000000000000000000000000000000000000000..bff2d2ea9d22252c2a37400647f5d98ccf297760 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_crc.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_des.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_des.mod new file mode 100644 index 0000000000000000000000000000000000000000..36b827e1cc91518af719cb5feab86bf9d40a9d32 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_des.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_dsa.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_dsa.mod new file mode 100644 index 0000000000000000000000000000000000000000..0d7c520294f834ceebd15b483827fa940ad8e554 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_dsa.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_idea.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_idea.mod new file mode 100644 index 0000000000000000000000000000000000000000..675ae5ad8c0cf26b8bccb9e8c8bf97fd240edfe1 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_idea.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_md4.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_md4.mod new file mode 100644 index 0000000000000000000000000000000000000000..a0a54ec01aa59ecbbc9f605d68944df8b41cd984 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_md4.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_md5.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_md5.mod new file mode 100644 index 0000000000000000000000000000000000000000..446f2b08d6c93bf2183df65f7752a336939e3f5d Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_md5.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_rfc2268.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_rfc2268.mod new file mode 100644 index 0000000000000000000000000000000000000000..5cccf798de2ee8e2acc4c584c6abf5fbcc2a5293 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_rfc2268.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_rijndael.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_rijndael.mod new file mode 100644 index 0000000000000000000000000000000000000000..ac17b28a4362d121cc06e731beafca4259ee017a Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_rijndael.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_rmd160.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_rmd160.mod new file mode 100644 index 0000000000000000000000000000000000000000..3e5f0da40691c90ff8b176a7b3a9a9d4f5e020f7 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_rmd160.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_rsa.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_rsa.mod new file mode 100644 index 0000000000000000000000000000000000000000..e6bd06cd22c0e6a6b6d070cee51c6fff880526ac Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_rsa.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_seed.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_seed.mod new file mode 100644 index 0000000000000000000000000000000000000000..2fab5fa2d9f02efca932d4d24be0cefd091d693e Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_seed.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_serpent.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_serpent.mod new file mode 100644 index 0000000000000000000000000000000000000000..78dc0fb927b10ea0c7b67d1d036f6ce6578cd493 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_serpent.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_sha1.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_sha1.mod new file mode 100644 index 0000000000000000000000000000000000000000..5848b7d9c0a2e54dccbddb94c0b27212902c174c Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_sha1.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_sha256.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_sha256.mod new file mode 100644 index 0000000000000000000000000000000000000000..81ce2889b88a56efa9685ad428062540c9e95907 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_sha256.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_sha512.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_sha512.mod new file mode 100644 index 0000000000000000000000000000000000000000..cfbda6a5ab9ab2016abab4aa67c3de8cd1b4eed4 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_sha512.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_tiger.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_tiger.mod new file mode 100644 index 0000000000000000000000000000000000000000..17f9b82691758ae3974bd5324125aa572f638f68 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_tiger.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_twofish.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_twofish.mod new file mode 100644 index 0000000000000000000000000000000000000000..947a6efedd34521ca83df58a66f5dbc30c3b8616 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_twofish.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_whirlpool.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_whirlpool.mod new file mode 100644 index 0000000000000000000000000000000000000000..984b02ee5decf0fc00d751c11d622a3a95df8429 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/gcry_whirlpool.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/gdb.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/gdb.mod new file mode 100644 index 0000000000000000000000000000000000000000..969a307e1c237501c6bb51758d7d07cfc62ee150 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/gdb.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/gdb_grub b/bsp/x86/grub-2.04/boot/grub/i386-efi/gdb_grub new file mode 100644 index 0000000000000000000000000000000000000000..e322d3dc1086448b02cebfcc7e600554a37b2171 --- /dev/null +++ b/bsp/x86/grub-2.04/boot/grub/i386-efi/gdb_grub @@ -0,0 +1,85 @@ +### +### Load debuging information about GNU GRUB 2 modules into GDB +### automatically. Needs readelf, Perl and gmodule.pl script +### +### Has to be launched from the writable and trusted +### directory containing *.image and *.module +### +### $Id: .gdbinit,v 1.1 2006/05/14 11:38:08 lkundrak Exp $ +### Lubomir Kundrak +### + +# Add section numbers and addresses to .segments.tmp +define dump_module_sections + set $mod = $arg0 + + # FIXME: save logging status + set logging file .segments.tmp + set logging redirect on + set logging overwrite off + set logging on + + printf "%s", $mod->name + set $segment = $mod->segment + while ($segment) + printf " %i 0x%lx", $segment->section, $segment->addr + set $segment = $segment->next + end + printf "\n" + + set logging off + # FIXME: restore logging status +end +document dump_module_sections + Gather information about module whose mod structure was + given for use with match_and_load_symbols +end + +# Generate and execute GDB commands and delete temporary files +# afterwards +define match_and_load_symbols + shell perl gmodule.pl <.segments.tmp >.loadsym.gdb + source .loadsym.gdb + shell rm -f .segments.tmp .loadsym.gdb +end +document match_and_load_symbols + Launch script, that matches section names with information + generated by dump_module_sections and load debugging info + apropriately +end + +### + +define load_module + dump_module_sections $arg0 + match_and_load_symbols +end +document load_module + Load debugging information for module given as argument. +end + +define load_all_modules + set $this = grub_dl_head + while ($this != 0) + dump_module_sections $this + set $this = $this->next + end + match_and_load_symbols +end +document load_all_modules + Load debugging information for all loaded modules. +end + +### + +set confirm off +file kernel.exec +target remote :1234 + +# inform when module is loaded +break grub_dl_add +commands + silent + load_module mod + cont +end diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/geli.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/geli.mod new file mode 100644 index 0000000000000000000000000000000000000000..fe80a8e78ba9df8a9c7a1b6501ff34e3a5645f73 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/geli.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/getargs.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/getargs.mod new file mode 100644 index 0000000000000000000000000000000000000000..405efcfb90afd9ada69606412a311f757ab91a0b Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/getargs.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/getenv.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/getenv.mod new file mode 100644 index 0000000000000000000000000000000000000000..5ab8c6103fc524d362a2321e8441eeff2d6af517 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/getenv.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/getkey.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/getkey.mod new file mode 100644 index 0000000000000000000000000000000000000000..ebc1b83157867abcf69e708e6e4fec118f1ea771 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/getkey.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/gettext.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/gettext.mod new file mode 100644 index 0000000000000000000000000000000000000000..85f3821fe297c560f8d0bde5a256e6b458b29640 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/gettext.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/gfxmenu.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/gfxmenu.mod new file mode 100644 index 0000000000000000000000000000000000000000..dadcae132de4c7968bf46e545a0590706aadd7df Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/gfxmenu.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/gfxterm.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/gfxterm.mod new file mode 100644 index 0000000000000000000000000000000000000000..c5b5c7501b723cd11f329cda8b197dc141d90631 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/gfxterm.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/gfxterm_background.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/gfxterm_background.mod new file mode 100644 index 0000000000000000000000000000000000000000..28292057e7216ac338b05fbc4988b129520765b7 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/gfxterm_background.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/gfxterm_menu.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/gfxterm_menu.mod new file mode 100644 index 0000000000000000000000000000000000000000..0a68192d1b2603f17aaed625390895b710dd3a5e Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/gfxterm_menu.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/gmodule.pl b/bsp/x86/grub-2.04/boot/grub/i386-efi/gmodule.pl new file mode 100644 index 0000000000000000000000000000000000000000..78aa1e64eb29126f1bf97a7b5ecd7582d7ae5905 --- /dev/null +++ b/bsp/x86/grub-2.04/boot/grub/i386-efi/gmodule.pl @@ -0,0 +1,30 @@ +### +### Generate GDB commands, that load symbols for specified module, +### with proper section relocations. See .gdbinit +### +### $Id: gmodule.pl,v 1.2 2006/05/14 11:38:42 lkundrak Exp lkundrak $ +### Lubomir Kundrak +### + +use strict; + +while (<>) { + my ($name, %sections) = split; + + print "add-symbol-file $name.module"; + + open (READELF, "readelf -S $name.mod |") or die; + while () { + /\[\s*(\d+)\]\s+(\.\S+)/ or next; + + if ($2 eq '.text') { + print " $sections{$1}"; + next; + } + + print " -s $2 $sections{$1}" + if ($sections{$1} ne '0x0' and $sections{$1} ne ''); + }; + close (READELF); + print "\n"; +} diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/gpt.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/gpt.mod new file mode 100644 index 0000000000000000000000000000000000000000..dc6ecf12d933ff0c89440ae95cbbf534b8697113 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/gpt.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/gptprio.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/gptprio.mod new file mode 100644 index 0000000000000000000000000000000000000000..1a3bb34398e69bfa93a749745c701df44e08ad63 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/gptprio.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/gptrepair.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/gptrepair.mod new file mode 100644 index 0000000000000000000000000000000000000000..c6a097359f6c66e07cd2f91ab48e1b0e383fe789 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/gptrepair.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/gptsync.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/gptsync.mod new file mode 100644 index 0000000000000000000000000000000000000000..26c455cee7d3018d9ea0b367f0fb282ea7393a14 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/gptsync.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/grubfm.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/grubfm.mod new file mode 100644 index 0000000000000000000000000000000000000000..e345f6c9087af0f934cbdced4a955462676cb912 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/grubfm.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/gzio.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/gzio.mod new file mode 100644 index 0000000000000000000000000000000000000000..4248c4407e0a9efc9b585ffa707911601b7ac335 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/gzio.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/halt.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/halt.mod new file mode 100644 index 0000000000000000000000000000000000000000..7c9fdadedab6c800b97ad3dbf69ccced2b3a1e70 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/halt.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/hashsum.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/hashsum.mod new file mode 100644 index 0000000000000000000000000000000000000000..ac0370c9e67a955bdf89df9d99d07ea33a59a564 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/hashsum.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/hdparm.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/hdparm.mod new file mode 100644 index 0000000000000000000000000000000000000000..ec0d1e29b8c6f5f0211aeffebf7b14ec74cdf161 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/hdparm.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/help.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/help.mod new file mode 100644 index 0000000000000000000000000000000000000000..68e88d0b854e0ad58cdbef5f5018ea46beb63183 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/help.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/hexdump.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/hexdump.mod new file mode 100644 index 0000000000000000000000000000000000000000..336ea2d7cfc9e47b056f9d573a4b229b4414c187 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/hexdump.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/hfs.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/hfs.mod new file mode 100644 index 0000000000000000000000000000000000000000..b77cbcf5a685d596281c4f3707dc828b93309f22 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/hfs.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/hfsplus.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/hfsplus.mod new file mode 100644 index 0000000000000000000000000000000000000000..c314ad6da1e3b4a096d4eeab0e1f7c425f0204cd Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/hfsplus.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/hfspluscomp.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/hfspluscomp.mod new file mode 100644 index 0000000000000000000000000000000000000000..79bf1f16443ff1fb8f4f7e5f5d61df9c3d4ac860 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/hfspluscomp.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/http.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/http.mod new file mode 100644 index 0000000000000000000000000000000000000000..b132808883d788db572d324944585aea2595e818 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/http.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/increment.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/increment.mod new file mode 100644 index 0000000000000000000000000000000000000000..b9bacc8a5f2563df7a88ae212aa59df49207dd63 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/increment.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/ini.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/ini.mod new file mode 100644 index 0000000000000000000000000000000000000000..89753fcd34bb1a50a65a53aa939a26c6113a9286 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/ini.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/iorw.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/iorw.mod new file mode 100644 index 0000000000000000000000000000000000000000..89b30c6ed0dab5c46a0b20e0103c63dac072cacb Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/iorw.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/iso9660.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/iso9660.mod new file mode 100644 index 0000000000000000000000000000000000000000..f210c13caabc49b5c24cf2d8f39f4e39210af6d1 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/iso9660.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/jfs.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/jfs.mod new file mode 100644 index 0000000000000000000000000000000000000000..3fc7e1993b2a2b85e1d9751a8c52db585e4f3720 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/jfs.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/jpeg.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/jpeg.mod new file mode 100644 index 0000000000000000000000000000000000000000..117b4eae1a83cee50eca849448f2cd3a4bbb2ca7 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/jpeg.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/json.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/json.mod new file mode 100644 index 0000000000000000000000000000000000000000..b9a807988ac4ffb4ab91eee9a57fb1228f36a4c3 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/json.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/kernel.img b/bsp/x86/grub-2.04/boot/grub/i386-efi/kernel.img new file mode 100644 index 0000000000000000000000000000000000000000..2b403832ec1415518c9430ff09027f2cad8df01b Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/kernel.img differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/keylayouts.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/keylayouts.mod new file mode 100644 index 0000000000000000000000000000000000000000..ed44175c92b8052fd6db403f84aea455a46e5e87 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/keylayouts.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/keystatus.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/keystatus.mod new file mode 100644 index 0000000000000000000000000000000000000000..1a7cea762038877436cfeee7c13f980889d99e6c Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/keystatus.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/ldm.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/ldm.mod new file mode 100644 index 0000000000000000000000000000000000000000..d85227d095ad33e8c5695d16c58dd6c3e093d26e Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/ldm.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/legacy_password_test.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/legacy_password_test.mod new file mode 100644 index 0000000000000000000000000000000000000000..6f82dbe98b37005a1df82929f716a0d8ace660e3 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/legacy_password_test.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/legacycfg.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/legacycfg.mod new file mode 100644 index 0000000000000000000000000000000000000000..b41157fbe3a20d44eb1f68bf50946ae98688201b Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/legacycfg.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/linux.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/linux.mod new file mode 100644 index 0000000000000000000000000000000000000000..12ef2eb1b25caa7771f4f68cb1237e7fca2e3682 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/linux.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/linux16.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/linux16.mod new file mode 100644 index 0000000000000000000000000000000000000000..bb5fdf0ddbc2d7adbd816e747f64d5d1084aa00a Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/linux16.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/linuxefi.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/linuxefi.mod new file mode 100644 index 0000000000000000000000000000000000000000..f3040774dae7437bcb29b037b178aad2f6b69a63 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/linuxefi.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/loadbios.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/loadbios.mod new file mode 100644 index 0000000000000000000000000000000000000000..86e38b74a9e168e410ba8600124105c8ea698d0d Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/loadbios.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/loadenv.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/loadenv.mod new file mode 100644 index 0000000000000000000000000000000000000000..2478dfd9b28098ee762cf3e612ca93ed7468b483 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/loadenv.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/loopback.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/loopback.mod new file mode 100644 index 0000000000000000000000000000000000000000..2233078880bd559949b058635343d94bb36f99ae Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/loopback.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/ls.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/ls.mod new file mode 100644 index 0000000000000000000000000000000000000000..f1c46581018cd708a1612eae3ac55cca257a8342 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/ls.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/lsacpi.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/lsacpi.mod new file mode 100644 index 0000000000000000000000000000000000000000..2ffad0ad70bdf49bdcddb958ad4d1529bfd1cc89 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/lsacpi.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/lsefi.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/lsefi.mod new file mode 100644 index 0000000000000000000000000000000000000000..064c62814aa71ebfb97d7952486bce26088a9b65 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/lsefi.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/lsefimmap.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/lsefimmap.mod new file mode 100644 index 0000000000000000000000000000000000000000..910b8d8911e96184c1006997195dfc5b0a13d7be Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/lsefimmap.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/lsefisystab.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/lsefisystab.mod new file mode 100644 index 0000000000000000000000000000000000000000..e24a6dca46f73da09336396ba6df6148480fcc5c Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/lsefisystab.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/lsmmap.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/lsmmap.mod new file mode 100644 index 0000000000000000000000000000000000000000..9dd1996872680df95a5a89b2bb3654beb6bf943b Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/lsmmap.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/lspci.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/lspci.mod new file mode 100644 index 0000000000000000000000000000000000000000..c13c1e21eb9df3647fea857d272741c0316c5206 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/lspci.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/lssal.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/lssal.mod new file mode 100644 index 0000000000000000000000000000000000000000..bdab6f08af86dbb4f705602b5c8a71f0159e098a Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/lssal.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/lua.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/lua.mod new file mode 100644 index 0000000000000000000000000000000000000000..a944e6ce29fe16133ebab112343e6349c7e612ba Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/lua.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/luks.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/luks.mod new file mode 100644 index 0000000000000000000000000000000000000000..768aed79872cdb32e54bcc7c2cd7a3b76f1d252b Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/luks.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/luks2.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/luks2.mod new file mode 100644 index 0000000000000000000000000000000000000000..cab43a51425ef65a1b49c01a59c8442911aee577 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/luks2.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/lvm.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/lvm.mod new file mode 100644 index 0000000000000000000000000000000000000000..598a45b79e1aeb3f1f41bfb7ff921077538bcb79 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/lvm.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/lynxfs.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/lynxfs.mod new file mode 100644 index 0000000000000000000000000000000000000000..84b5f8ac80d1f3884582c9db6db162236d18b140 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/lynxfs.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/lzmaio.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/lzmaio.mod new file mode 100644 index 0000000000000000000000000000000000000000..37fec50dfe5819014c0586c3ce61e4c375246e36 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/lzmaio.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/lzopio.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/lzopio.mod new file mode 100644 index 0000000000000000000000000000000000000000..11f00d71f9b61aeb8c7fb2387e625e81632d40e0 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/lzopio.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/macbless.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/macbless.mod new file mode 100644 index 0000000000000000000000000000000000000000..4786277ca1d72304f531d87f0f1e745e4a868b97 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/macbless.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/macho.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/macho.mod new file mode 100644 index 0000000000000000000000000000000000000000..237083019f7c8f08b128bb37a91bd686bac9030e Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/macho.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/map.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/map.mod new file mode 100644 index 0000000000000000000000000000000000000000..ea30a1720bc6125375f67ccd99c74f1174a39463 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/map.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/mdraid09.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/mdraid09.mod new file mode 100644 index 0000000000000000000000000000000000000000..60d318ef13f61bfdac04d93c775fc0e0ac31e8fc Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/mdraid09.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/mdraid09_be.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/mdraid09_be.mod new file mode 100644 index 0000000000000000000000000000000000000000..1ef8330aa388aa6aae59b4058b3c2d034548ee74 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/mdraid09_be.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/mdraid1x.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/mdraid1x.mod new file mode 100644 index 0000000000000000000000000000000000000000..14b846a0affea806fe7b145d6b936555b81f6350 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/mdraid1x.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/memdisk.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/memdisk.mod new file mode 100644 index 0000000000000000000000000000000000000000..94b89dc91142a14779151c61b67e1a495d64eb66 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/memdisk.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/memrw.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/memrw.mod new file mode 100644 index 0000000000000000000000000000000000000000..a988944f99d4cc0201c3ce0013b8e9406e451f81 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/memrw.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/minicmd.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/minicmd.mod new file mode 100644 index 0000000000000000000000000000000000000000..39c465610ff29ca98ccb2e00c611b7a328483c20 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/minicmd.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/minix.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/minix.mod new file mode 100644 index 0000000000000000000000000000000000000000..ef4dcc3e80538668b83634e00a4570b77966df94 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/minix.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/minix2.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/minix2.mod new file mode 100644 index 0000000000000000000000000000000000000000..cc10b3647de0fc81b22fec82f5995c4c19d0aafb Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/minix2.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/minix2_be.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/minix2_be.mod new file mode 100644 index 0000000000000000000000000000000000000000..eccc56450f46ed8e62d11d5be36156dd2cb42e4d Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/minix2_be.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/minix3.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/minix3.mod new file mode 100644 index 0000000000000000000000000000000000000000..f22a80188207c108fffd4a16dc17c630f4d83268 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/minix3.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/minix3_be.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/minix3_be.mod new file mode 100644 index 0000000000000000000000000000000000000000..ff14541cd8f6658133d99b3f778b1e63d082e574 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/minix3_be.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/minix_be.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/minix_be.mod new file mode 100644 index 0000000000000000000000000000000000000000..6568e1f546a54b668040c5d076a9418149490d12 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/minix_be.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/mmap.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/mmap.mod new file mode 100644 index 0000000000000000000000000000000000000000..5781b73d117b637abafb0835e2060be33fab32af Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/mmap.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/moddep.lst b/bsp/x86/grub-2.04/boot/grub/i386-efi/moddep.lst new file mode 100644 index 0000000000000000000000000000000000000000..7f5e5c79bad3640193850c8e12269284f3a943d1 --- /dev/null +++ b/bsp/x86/grub-2.04/boot/grub/i386-efi/moddep.lst @@ -0,0 +1,322 @@ +videotest: font video gfxmenu +odc: archelp +loopback: extcmd +setkey: extcmd +macho: +ini: lua extcmd +gcry_des: crypto +memrw: lua extcmd +terminfo: extcmd +f2fs: fshelp +part_gpt: +conv: lua extcmd +romfs: fshelp +lsefimmap: +read: normal +gcry_arcfour: crypto +aout: +tftp: net +newc: extcmd archelp +minix2_be: +afsplitter: crypto +elf: +videotest_checksum: font functional_test video_fb +password_pbkdf2: crypto gcry_sha512 pbkdf2 normal +gcry_seed: crypto +pcidump: extcmd +bsd: elf serial crypto gcry_md5 verifiers extcmd video boot aout cpuid relocator mmap +version: +sfs: fshelp +reiserfs: fshelp +part_sunpc: +zstd: +gfxmenu: video_colors trig bitmap_scale gfxterm font normal video bitmap +backtrace: +jfs: +help: extcmd normal +configfile: normal +cbls: cbtable +map: uuid dp extcmd normal boot +gfxterm_menu: font functional_test procfs normal video_fb +gcry_idea: crypto +tr: extcmd +shift_test: functional_test +ohci: cs5536 usb boot +afs: fshelp +spkmodem: terminfo +search_part_label: gpt +crscreenshot: +usb_keyboard: usb keylayouts +xzio: crypto +syslinuxcfg: extcmd normal +search_fs_file: +wrmsr: +usbms: scsi usb +test_blockarg: extcmd normal +increment: +getenv: extcmd +true: +affs: fshelp +iso9660: fshelp +gptprio: gpt extcmd +exfat: fshelp +bcfg: net efinet +smbios: extcmd +setjmp_test: functional_test setjmp +efi_netfs: net +gfxterm: font video +efinet: net +disk: +appleldr: boot +xfs: fshelp +testspeed: extcmd normal +lynxfs: fshelp +cpio_be: archelp +functional_test: btrfs extcmd video video_fb +gptrepair: gpt +bswap_test: functional_test +sleep: extcmd normal +memdisk: +gcry_rijndael: crypto +mdraid09_be: diskfilter +gettext: +gcry_sha1: crypto +hfspluscomp: gzio hfsplus +cmp: extcmd +random: hexdump +offsetio: +file: macho elf extcmd offsetio +usbserial_usbdebug: serial usb usbserial_common +video_colors: +morse: +hashsum: crypto extcmd normal +usb: +halt: acpi +gdb: serial backtrace +stat: extcmd normal mmap +gfxterm_background: video_colors bitmap_scale gfxterm extcmd video bitmap +search_fs_uuid: +gcry_dsa: pgp mpi +keystatus: extcmd +linux: verifiers video boot relocator mmap +geli: cryptodisk crypto gcry_sha512 pbkdf2 gcry_sha256 +cmdline_cat_test: font functional_test procfs normal video_fb +rdmsr: extcmd +part_sun: +cbtable: +pbkdf2_test: functional_test pbkdf2 gcry_sha1 +video_bochs: video video_fb +sbpolicy: extcmd +verifiers: +bufio: +usbserial_ftdi: serial usb usbserial_common +legacy_password_test: functional_test legacycfg +lua: setjmp extcmd datetime normal mmap +cpuid: extcmd +blscfg: extcmd normal +hdparm: extcmd hexdump +bfs: fshelp +gcry_blowfish: crypto +test: +nilfs2: fshelp +search_disk_uuid: gpt +gcry_rsa: pgp mpi +cryptodisk: crypto extcmd procfs +nativedisk: +minicmd: +signature_test: functional_test procfs +ata: scsi +ntboot: map extcmd wimboot +uuid: extcmd +udf: fshelp +gzio: gcry_crc +xnu_uuid: gcry_md5 +uhci: usb +pata: ata +mul_test: functional_test +adler32: crypto +terminal: +shim_lock: verifiers +div: +ehci: cs5536 usb boot +crypto: +part_bsd: part_msdos +shell: net extcmd efinet normal +luks2: cryptodisk crypto json afsplitter pbkdf2 +cs5536: +gcry_sha512: crypto +password: crypto normal +fshelp: +sleep_test: functional_test datetime +setenv: extcmd +iorw: extcmd +tetris: extcmd +mmap: +getargs: extcmd +exfctest: functional_test +zfsinfo: zfs +ldm: part_gpt diskfilter part_msdos +eval: normal +part_dvh: +lssal: +ext2: fshelp +blocklist: extcmd +nes: extcmd video +net: priority_queue bufio datetime boot +part_acorn: +videoinfo: lua bitmap_scale font extcmd bitmap video gfxmenu +btrfs: zstd lzopio extcmd raid6rec gzio +lsmmap: mmap +strtoull_test: functional_test +bitmap: +ntfs: fshelp +multiboot: net linux video boot relocator mmap +wimboot: lua map extcmd normal procfs xzio +tpm: verifiers +gcry_crc: crypto +efiload: extcmd +png: bufio bitmap +json: +jpeg: bufio bitmap +dd: lua disk extcmd normal +macbless: disk +div_test: functional_test div +regexp: extcmd normal +parttool: normal +usbserial_pl2303: serial usb usbserial_common +cpio: archelp +gcry_rmd160: crypto +fat: fshelp +fb: +ufs1_be: +getkey: lua extcmd read +fdlibm: +archelp: +nttools: +grubfm: conv sortlib font extcmd normal video gfxmenu ini +http: net +zfs: gzio +search_part_uuid: gpt +raid6rec: diskfilter +lsefisystab: +minix2: +lsacpi: extcmd acpi +datehook: datetime +loadenv: disk extcmd +bitmap_scale: bitmap +probe: extcmd +minix3: +dp: net lua extcmd efinet +tar: archelp +loadbios: +hfs: fshelp +procfs: archelp +boot: +keylayouts: +progress: normal +kernel: +vhd: extcmd +usbtest: usb +relocator: mmap +linuxefi: linux boot +acpi: extcmd procfs video mmap +tga: bufio bitmap +reboot: extcmd +serial: extcmd terminfo +zfscrypt: crypto pbkdf2 zfs extcmd gcry_sha1 gcry_rijndael +usb_gamepad: usb +efi_uga: video video_fb +dm_nv: diskfilter +cmp_test: functional_test +luks: cryptodisk crypto afsplitter pbkdf2 +gpt: gcry_crc crypto disk +font: bufio video +raid5rec: diskfilter +crc64: crypto +datetime: +ctz_test: functional_test +video: +crc: btrfs +sortlib: +cbmemc: normal cbtable terminfo +ps2mouse: keylayouts boot +fixmmap: normal +hfsplus: fshelp +gcry_cast5: crypto +commandline: normal +alias: +extcmd: +squash4: fshelp lzopio xzio gzio +part_plan: +minix_be: +gcry_whirlpool: crypto +gcry_tiger: crypto +fixvideo: +search: search_fs_uuid search_fs_file search_part_uuid extcmd search_disk_uuid search_part_label search_label +lspci: extcmd +cbtime: cbtable +video_fb: +minix3_be: +trig: +efi_mouse: +msdospart: disk parttool +priority_queue: +gcry_twofish: crypto +part_dfly: +expr: extcmd div +xnu_uuid_test: functional_test +diskfilter: +testload: +part_apple: +hexdump: extcmd +date: extcmd datetime +pbkdf2: crypto +gcry_sha256: crypto +qnx4: fshelp +ls: extcmd datetime normal +usbserial_common: serial usb +fatfs: lua disk datetime +ntfscomp: ntfs +lzopio: crypto +qnx6: fshelp +video_cirrus: video video_fb +scsi: +partnew: disk extcmd +linux16: linux video boot relocator mmap +cat: extcmd +ahci: ata boot +pgp: crypto verifiers extcmd mpi gcry_sha1 +normal: net terminal crypto verifiers bufio datetime extcmd boot gettext +lzmaio: +ufs1: +mdraid09: diskfilter +lvm: diskfilter +chain: net extcmd efinet normal boot +cbfs: archelp +ufs2: +time: +setpci: extcmd +gptsync: disk +search_label: +efienv: loadenv +setjmp: +multiboot2: net linux video boot relocator mmap acpi +gcry_rfc2268: crypto +mdraid1x: diskfilter +mpi: crypto +legacycfg: password crypto gcry_md5 normal +play: +part_amiga: +efi_gop: video video_fb +minix: +echo: extcmd normal +lsefi: +gcry_serpent: crypto +gcry_md4: crypto +setup_var: +gcry_md5: crypto +part_msdos: +gcry_camellia: crypto +at_keyboard: keylayouts boot +bmp: bufio bitmap +all_video: efi_gop efi_uga video_bochs video_cirrus diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/modinfo.sh b/bsp/x86/grub-2.04/boot/grub/i386-efi/modinfo.sh new file mode 100644 index 0000000000000000000000000000000000000000..39cd0a202063cb3ad07301c42a10c8b23c38a871 --- /dev/null +++ b/bsp/x86/grub-2.04/boot/grub/i386-efi/modinfo.sh @@ -0,0 +1,40 @@ +#!/bin/bash + +# User-controllable options +grub_modinfo_target_cpu=i386 +grub_modinfo_platform=efi +grub_disk_cache_stats=0 +grub_boot_time_stats=0 +grub_have_font_source=1 + +# Autodetected config +grub_have_asm_uscore=0 +grub_bss_start_symbol="__bss_start" +grub_end_symbol="end" + +# Build environment +grub_target_cc='gcc' +grub_target_cc_version='gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0' +grub_target_cflags='-std=gnu99 -Os -m32 -Wall -W -Wshadow -Wpointer-arith -Wundef -Wchar-subscripts -Wcomment -Wdeprecated-declarations -Wdisabled-optimization -Wdiv-by-zero -Wfloat-equal -Wformat-extra-args -Wformat-security -Wformat-y2k -Wimplicit -Wimplicit-function-declaration -Wimplicit-int -Wmain -Wmissing-braces -Wmissing-format-attribute -Wmultichar -Wparentheses -Wreturn-type -Wsequence-point -Wshadow -Wsign-compare -Wswitch -Wtrigraphs -Wunknown-pragmas -Wunused -Wunused-function -Wunused-label -Wunused-parameter -Wunused-value -Wunused-variable -Wwrite-strings -Wnested-externs -Wstrict-prototypes -g -Wredundant-decls -Wmissing-prototypes -Wmissing-declarations -Wextra -Wattributes -Wendif-labels -Winit-self -Wint-to-pointer-cast -Winvalid-pch -Wmissing-field-initializers -Wnonnull -Woverflow -Wvla -Wpointer-to-int-cast -Wstrict-aliasing -Wvariadic-macros -Wvolatile-register-var -Wpointer-sign -Wmissing-include-dirs -Wmissing-prototypes -Wmissing-declarations -Wformat=2 -march=i386 -falign-jumps=1 -falign-loops=1 -falign-functions=1 -freg-struct-return -mno-mmx -mno-sse -mno-sse2 -mno-sse3 -mno-3dnow -fno-dwarf2-cfi-asm -mno-stack-arg-probe -fno-asynchronous-unwind-tables -fno-unwind-tables -fno-ident -fno-PIE -fno-pie -fno-stack-protector -Wtrampolines -Werror' +grub_target_cppflags=' -Wall -W -DGRUB_MACHINE_EFI=1 -DGRUB_MACHINE=I386_EFI -m32 -nostdinc -isystem /usr/lib/gcc/x86_64-linux-gnu/7/include -I$(top_srcdir)/include -I$(top_builddir)/include' +grub_target_ccasflags=' -m32 -g -fno-PIE -fno-pie' +grub_target_ldflags=' -m32 -Wl,-melf_i386 -no-pie -Wl,--build-id=none' +grub_cflags='' +grub_cppflags=' -D_FILE_OFFSET_BITS=64' +grub_ccasflags='' +grub_ldflags='' +grub_target_strip='strip' +grub_target_nm='nm' +grub_target_ranlib='ranlib' +grub_target_objconf='' +grub_target_obj2elf='' +grub_target_img_base_ldopt='-Wl,-Ttext' +grub_target_img_ldflags='@TARGET_IMG_BASE_LDFLAGS@' + +# Version +grub_version="2.05" +grub_package="grub" +grub_package_string="GRUB 2.05" +grub_package_version="2.05" +grub_package_name="GRUB" +grub_package_bugreport="bug-grub@gnu.org" diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/morse.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/morse.mod new file mode 100644 index 0000000000000000000000000000000000000000..8f41f24d1f9f9060f1c784f08d04d51ec4b6add9 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/morse.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/mpi.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/mpi.mod new file mode 100644 index 0000000000000000000000000000000000000000..72b0e581fbe30afbd2bb6f303effbc99fbe5a571 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/mpi.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/msdospart.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/msdospart.mod new file mode 100644 index 0000000000000000000000000000000000000000..50b5c826a1e655402db55f3b88264659e16fcff3 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/msdospart.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/mul_test.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/mul_test.mod new file mode 100644 index 0000000000000000000000000000000000000000..2739746ad3b61a59d58dc4b20f3328a36d4d23b2 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/mul_test.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/multiboot.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/multiboot.mod new file mode 100644 index 0000000000000000000000000000000000000000..97f5670a6bf955a8dd73b895df51fbf1d5c93a99 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/multiboot.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/multiboot2.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/multiboot2.mod new file mode 100644 index 0000000000000000000000000000000000000000..374372913f4ed8ecfac3e73174688e05cf1fb33d Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/multiboot2.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/nativedisk.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/nativedisk.mod new file mode 100644 index 0000000000000000000000000000000000000000..38434409ce17338a49b9b383379a3772647b3c04 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/nativedisk.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/nes.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/nes.mod new file mode 100644 index 0000000000000000000000000000000000000000..6d84e5090b1dfa3fe526ba56fa32b834089a4922 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/nes.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/net.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/net.mod new file mode 100644 index 0000000000000000000000000000000000000000..5b60286785e1210b001fb03ff3d1d5b5812131b3 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/net.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/newc.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/newc.mod new file mode 100644 index 0000000000000000000000000000000000000000..7cf0c1c1fccc6fae23c51d7937f7f0a6918256d6 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/newc.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/nilfs2.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/nilfs2.mod new file mode 100644 index 0000000000000000000000000000000000000000..336f88832374ea7e7e5a99da89e960b98271974a Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/nilfs2.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/normal.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/normal.mod new file mode 100644 index 0000000000000000000000000000000000000000..2edde254580281b0fdf29ff634716f70dd4d0b85 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/normal.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/ntboot.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/ntboot.mod new file mode 100644 index 0000000000000000000000000000000000000000..01e9b5625d4f27e7255a55de4eb8d85b0bd71ae7 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/ntboot.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/ntfs.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/ntfs.mod new file mode 100644 index 0000000000000000000000000000000000000000..a608e02de52b954eaec98bd6953d0094fc365065 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/ntfs.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/ntfscomp.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/ntfscomp.mod new file mode 100644 index 0000000000000000000000000000000000000000..12c8d2c90678828aa850e9fc158e0f80e8f1f085 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/ntfscomp.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/nttools.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/nttools.mod new file mode 100644 index 0000000000000000000000000000000000000000..6c6275bb174773f02b7c7b1cafc51a50325403dc Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/nttools.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/odc.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/odc.mod new file mode 100644 index 0000000000000000000000000000000000000000..9f44d99e5577788bbc89e300e75a50dd72655d79 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/odc.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/offsetio.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/offsetio.mod new file mode 100644 index 0000000000000000000000000000000000000000..52f9a24ad41488da38c966c5879d9f6870620ef2 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/offsetio.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/ohci.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/ohci.mod new file mode 100644 index 0000000000000000000000000000000000000000..296bfd1d1f11e0a435f73ea5e46c8615d0e3a6d4 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/ohci.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/part_acorn.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/part_acorn.mod new file mode 100644 index 0000000000000000000000000000000000000000..84251085eb1da0352bcd390acf0a0bcee6516a43 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/part_acorn.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/part_amiga.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/part_amiga.mod new file mode 100644 index 0000000000000000000000000000000000000000..0b98a325170ce5ad65a06bf9b2c9545f837d4254 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/part_amiga.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/part_apple.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/part_apple.mod new file mode 100644 index 0000000000000000000000000000000000000000..c14aa7fbd8c226589990c3e034219cd13bc98ce4 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/part_apple.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/part_bsd.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/part_bsd.mod new file mode 100644 index 0000000000000000000000000000000000000000..0e95f07de22658026718b513360811f696d88659 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/part_bsd.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/part_dfly.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/part_dfly.mod new file mode 100644 index 0000000000000000000000000000000000000000..a7c89329a7b94fe9c9a5c1cc1604911974472756 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/part_dfly.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/part_dvh.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/part_dvh.mod new file mode 100644 index 0000000000000000000000000000000000000000..6a778b57225db8ed7e3b2a1f2c9b6fff1511bbdf Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/part_dvh.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/part_gpt.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/part_gpt.mod new file mode 100644 index 0000000000000000000000000000000000000000..b09c88925b4a47c2dfbc86f99afae3a1eaf8f260 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/part_gpt.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/part_msdos.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/part_msdos.mod new file mode 100644 index 0000000000000000000000000000000000000000..e92bd43238705aad62c025e422fb79f151612b88 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/part_msdos.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/part_plan.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/part_plan.mod new file mode 100644 index 0000000000000000000000000000000000000000..afb8cd673aa8c1723e3bd4bd2d1ec26b355c9d11 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/part_plan.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/part_sun.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/part_sun.mod new file mode 100644 index 0000000000000000000000000000000000000000..6cb527fe2893e1a96ecf18958d14401146c86560 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/part_sun.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/part_sunpc.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/part_sunpc.mod new file mode 100644 index 0000000000000000000000000000000000000000..8d7cb4abfa259c94f0c9bf014b03109689e9057e Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/part_sunpc.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/partmap.lst b/bsp/x86/grub-2.04/boot/grub/i386-efi/partmap.lst new file mode 100644 index 0000000000000000000000000000000000000000..761233aa26765d4bb746b00ff5a1715158c5a07e --- /dev/null +++ b/bsp/x86/grub-2.04/boot/grub/i386-efi/partmap.lst @@ -0,0 +1,11 @@ +part_acorn +part_amiga +part_apple +part_bsd +part_dfly +part_dvh +part_gpt +part_msdos +part_plan +part_sun +part_sunpc diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/partnew.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/partnew.mod new file mode 100644 index 0000000000000000000000000000000000000000..85a36198f251a10e67f025403fc73b6c1f9ee349 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/partnew.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/parttool.lst b/bsp/x86/grub-2.04/boot/grub/i386-efi/parttool.lst new file mode 100644 index 0000000000000000000000000000000000000000..68b4b5c453c586af96c276e4f9d7620a3bc39e0f --- /dev/null +++ b/bsp/x86/grub-2.04/boot/grub/i386-efi/parttool.lst @@ -0,0 +1 @@ +msdos: msdospart diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/parttool.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/parttool.mod new file mode 100644 index 0000000000000000000000000000000000000000..8ce51e8cac5e707be4de36d0cf6ff25dcd1f2b6d Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/parttool.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/password.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/password.mod new file mode 100644 index 0000000000000000000000000000000000000000..cba377c5d828860235b17fefcb180908e4ff8943 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/password.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/password_pbkdf2.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/password_pbkdf2.mod new file mode 100644 index 0000000000000000000000000000000000000000..d97b6b7b3ddb319472e0c17faceb6542ba560b17 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/password_pbkdf2.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/pata.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/pata.mod new file mode 100644 index 0000000000000000000000000000000000000000..9e16325d32945f5e82ba81cfdff3ec7a465c0835 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/pata.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/pbkdf2.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/pbkdf2.mod new file mode 100644 index 0000000000000000000000000000000000000000..148c59883788453a17670e35515fcd46bbe493b4 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/pbkdf2.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/pbkdf2_test.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/pbkdf2_test.mod new file mode 100644 index 0000000000000000000000000000000000000000..fe57db1720b323c7a01c8e4d5e8ab40163d39c84 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/pbkdf2_test.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/pcidump.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/pcidump.mod new file mode 100644 index 0000000000000000000000000000000000000000..23ad50863c8886a551ad20c3f6bf206f107fae1d Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/pcidump.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/pgp.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/pgp.mod new file mode 100644 index 0000000000000000000000000000000000000000..5040eafb67b470e324365953efedc59517810664 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/pgp.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/play.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/play.mod new file mode 100644 index 0000000000000000000000000000000000000000..204ae6e2f9cea1afc055aff184f9c00cbcd45270 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/play.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/png.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/png.mod new file mode 100644 index 0000000000000000000000000000000000000000..eabaef81aa054a741aa6783ada0dbd756bae2b4a Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/png.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/priority_queue.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/priority_queue.mod new file mode 100644 index 0000000000000000000000000000000000000000..c16c2b9b4a5cb5654a60c60da6d629b0c4cacfcf Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/priority_queue.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/probe.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/probe.mod new file mode 100644 index 0000000000000000000000000000000000000000..ad9b5685c7c3fbde5a4cc0034f1076b58e6f553f Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/probe.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/procfs.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/procfs.mod new file mode 100644 index 0000000000000000000000000000000000000000..f50a92d2f2d9cd654f23ea74dc6696135faf024c Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/procfs.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/progress.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/progress.mod new file mode 100644 index 0000000000000000000000000000000000000000..322cea8d20cd3f9688db14744a708ebfc1d495fd Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/progress.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/ps2mouse.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/ps2mouse.mod new file mode 100644 index 0000000000000000000000000000000000000000..7adafa86128aea15ba87e60e66d013b5cd56b3e8 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/ps2mouse.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/qnx4.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/qnx4.mod new file mode 100644 index 0000000000000000000000000000000000000000..4e9be2df13ca3ccb441f1f67efdc93d411a0d2b5 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/qnx4.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/qnx6.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/qnx6.mod new file mode 100644 index 0000000000000000000000000000000000000000..e554b4e4e4c14aad2f745542803a8642df3feea9 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/qnx6.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/raid5rec.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/raid5rec.mod new file mode 100644 index 0000000000000000000000000000000000000000..ea167da914a3b5814a6f86ade97cea073fd1907a Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/raid5rec.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/raid6rec.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/raid6rec.mod new file mode 100644 index 0000000000000000000000000000000000000000..447e9128decd6fa32108451c900257e61f988ba3 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/raid6rec.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/random.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/random.mod new file mode 100644 index 0000000000000000000000000000000000000000..220421758109eed8e6c106ca51ec80502eda5279 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/random.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/rdmsr.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/rdmsr.mod new file mode 100644 index 0000000000000000000000000000000000000000..2daaf674431e2b7e32e7d19c857ad9a221bd6b61 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/rdmsr.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/read.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/read.mod new file mode 100644 index 0000000000000000000000000000000000000000..12e34eccde6422aacc8ed81d86f1516edc208752 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/read.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/reboot.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/reboot.mod new file mode 100644 index 0000000000000000000000000000000000000000..297fd8ed555ceed58a4c73a5c5a42587a91a2dcb Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/reboot.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/regexp.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/regexp.mod new file mode 100644 index 0000000000000000000000000000000000000000..ba813ef4772feb1b2f4243ac376b861fb8244096 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/regexp.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/reiserfs.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/reiserfs.mod new file mode 100644 index 0000000000000000000000000000000000000000..324c7ef10dd78dc7ef13e5d1aeb332bba0c96f2f Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/reiserfs.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/relocator.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/relocator.mod new file mode 100644 index 0000000000000000000000000000000000000000..d011b4b993acc62ee1795ae616c11601737d1516 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/relocator.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/romfs.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/romfs.mod new file mode 100644 index 0000000000000000000000000000000000000000..2b53f8988df4bb4838fc07c78c246dd899100997 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/romfs.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/sbpolicy.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/sbpolicy.mod new file mode 100644 index 0000000000000000000000000000000000000000..8aa22009571fd67a8bd0eeb33c388ebf57aa1a68 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/sbpolicy.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/scsi.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/scsi.mod new file mode 100644 index 0000000000000000000000000000000000000000..2fe16efda283abd9d2f142f35b7359bd42ab5712 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/scsi.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/search.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/search.mod new file mode 100644 index 0000000000000000000000000000000000000000..51ef4bf7d5616c39550296774ffff19cda05f414 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/search.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/search_disk_uuid.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/search_disk_uuid.mod new file mode 100644 index 0000000000000000000000000000000000000000..44582e6f24f7fca18839582fc4470520843620ed Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/search_disk_uuid.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/search_fs_file.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/search_fs_file.mod new file mode 100644 index 0000000000000000000000000000000000000000..8f3c9d18c3d65888d86788885c9b045c32aabd61 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/search_fs_file.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/search_fs_uuid.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/search_fs_uuid.mod new file mode 100644 index 0000000000000000000000000000000000000000..990aefdf4910848b96222ab65b129a12277a0d1d Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/search_fs_uuid.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/search_label.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/search_label.mod new file mode 100644 index 0000000000000000000000000000000000000000..fe30cf38405cfcd37aeb900d299ee2947ac9daf7 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/search_label.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/search_part_label.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/search_part_label.mod new file mode 100644 index 0000000000000000000000000000000000000000..fdc86d6dedfed0109344afbf9bfb2aff39521f96 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/search_part_label.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/search_part_uuid.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/search_part_uuid.mod new file mode 100644 index 0000000000000000000000000000000000000000..5b3d2860c982e371b4b1a7b68ea1b89ce4cf0838 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/search_part_uuid.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/serial.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/serial.mod new file mode 100644 index 0000000000000000000000000000000000000000..b77d29adc5764ccc8244848656d368c1f18331a5 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/serial.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/setenv.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/setenv.mod new file mode 100644 index 0000000000000000000000000000000000000000..901590e5846dd80c86aa7a205af4bcd0746ba049 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/setenv.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/setjmp.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/setjmp.mod new file mode 100644 index 0000000000000000000000000000000000000000..2d35023baca35e8b75103a9a85ce77577b0b8338 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/setjmp.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/setjmp_test.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/setjmp_test.mod new file mode 100644 index 0000000000000000000000000000000000000000..cbeb823cb9073450e5fab900f03f490294fa0eaf Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/setjmp_test.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/setkey.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/setkey.mod new file mode 100644 index 0000000000000000000000000000000000000000..59a48ed1e5a5e1f2af452839a88b368de9649e70 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/setkey.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/setpci.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/setpci.mod new file mode 100644 index 0000000000000000000000000000000000000000..cdd3c5f669b0d71f4774daff9b504dd6b9a8aa12 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/setpci.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/setup_var.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/setup_var.mod new file mode 100644 index 0000000000000000000000000000000000000000..d533615fa1dc0d4c0a0870fc371e792f70275839 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/setup_var.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/sfs.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/sfs.mod new file mode 100644 index 0000000000000000000000000000000000000000..de60d280b0f504f42d4d02b0fba4bba6a60b182e Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/sfs.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/shell.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/shell.mod new file mode 100644 index 0000000000000000000000000000000000000000..e57a63ac233b2dbf7ed4158308a5747a0893b696 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/shell.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/shift_test.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/shift_test.mod new file mode 100644 index 0000000000000000000000000000000000000000..a3105e54994ac4f6c7a6bfeba6528cc62a759ecc Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/shift_test.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/shim_lock.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/shim_lock.mod new file mode 100644 index 0000000000000000000000000000000000000000..9498f4be54c2b3ec133e1f00252861aa3da48f9c Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/shim_lock.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/signature_test.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/signature_test.mod new file mode 100644 index 0000000000000000000000000000000000000000..4faf0d44f3f82315d0535d160ce6c31df317a09b Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/signature_test.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/sleep.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/sleep.mod new file mode 100644 index 0000000000000000000000000000000000000000..3035da5d72c7eb1521bf10c717fd4a71aabc89d2 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/sleep.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/sleep_test.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/sleep_test.mod new file mode 100644 index 0000000000000000000000000000000000000000..b0f2c8a14c5044ec3acbf4a76b83e7e750bb0ef1 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/sleep_test.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/smbios.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/smbios.mod new file mode 100644 index 0000000000000000000000000000000000000000..11cfc102c42c233d2cdcc53ba8faa8ff451fb2f0 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/smbios.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/sortlib.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/sortlib.mod new file mode 100644 index 0000000000000000000000000000000000000000..c6677828e6c3304584ade46d03929666848b354d Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/sortlib.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/spkmodem.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/spkmodem.mod new file mode 100644 index 0000000000000000000000000000000000000000..ec4c97082df39fb7126e46635703a678ad34704f Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/spkmodem.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/squash4.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/squash4.mod new file mode 100644 index 0000000000000000000000000000000000000000..11eb8b7a961b18a26220d128a1c152f410aa428c Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/squash4.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/stat.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/stat.mod new file mode 100644 index 0000000000000000000000000000000000000000..d687b872582c54de82eb060c09bb4589a395b505 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/stat.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/strtoull_test.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/strtoull_test.mod new file mode 100644 index 0000000000000000000000000000000000000000..0d33fe83ad03969ea92ab1005c55e7f2541019e4 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/strtoull_test.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/syslinuxcfg.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/syslinuxcfg.mod new file mode 100644 index 0000000000000000000000000000000000000000..80aac0f8d0f9e4490c4b0e8f783acb46f8d6561e Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/syslinuxcfg.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/tar.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/tar.mod new file mode 100644 index 0000000000000000000000000000000000000000..1c17c42cb672683e51c9189ac359247bcc5883c1 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/tar.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/terminal.lst b/bsp/x86/grub-2.04/boot/grub/i386-efi/terminal.lst new file mode 100644 index 0000000000000000000000000000000000000000..6309ff7de30935ca2f2d6ee8708f651bac310b11 --- /dev/null +++ b/bsp/x86/grub-2.04/boot/grub/i386-efi/terminal.lst @@ -0,0 +1,12 @@ +iat_keyboard: at_keyboard +imouse: efi_mouse +ips2mouse: ps2mouse +iserial: serial +iserial_*: serial +iusb_gamepad: usb_gamepad +oaudio: morse +ocbmemc: cbmemc +ogfxterm: gfxterm +oserial: serial +oserial_*: serial +ospkmodem: spkmodem diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/terminal.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/terminal.mod new file mode 100644 index 0000000000000000000000000000000000000000..67f7b98a6f1bd2f47b7d41fcc749070813675287 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/terminal.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/terminfo.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/terminfo.mod new file mode 100644 index 0000000000000000000000000000000000000000..40b0a7fbc272a5bdbbbd60520dd78735426a44d2 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/terminfo.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/test.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/test.mod new file mode 100644 index 0000000000000000000000000000000000000000..dab9de2f02de09d268987f218e32ac2d49ba64f1 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/test.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/test_blockarg.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/test_blockarg.mod new file mode 100644 index 0000000000000000000000000000000000000000..d22bac436531cf23e528cce4de74cccc9d6e36ee Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/test_blockarg.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/testload.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/testload.mod new file mode 100644 index 0000000000000000000000000000000000000000..81d893f46c0cad4cde3b7c16d10ad5671ad9cec9 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/testload.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/testspeed.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/testspeed.mod new file mode 100644 index 0000000000000000000000000000000000000000..eaaab73b05f6605939cd555c083ad8eed0687968 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/testspeed.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/tetris.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/tetris.mod new file mode 100644 index 0000000000000000000000000000000000000000..add59a71e16929929abd0f2ce68b470b78c7d5ea Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/tetris.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/tftp.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/tftp.mod new file mode 100644 index 0000000000000000000000000000000000000000..c380931df16c35b4a574f0fc843fee78a3b3e933 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/tftp.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/tga.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/tga.mod new file mode 100644 index 0000000000000000000000000000000000000000..ad42f2117af0cf19c20d19c68dbd05858d41b548 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/tga.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/time.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/time.mod new file mode 100644 index 0000000000000000000000000000000000000000..215413dfca92e626924ecdce99ce24b80f4ff9a2 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/time.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/tpm.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/tpm.mod new file mode 100644 index 0000000000000000000000000000000000000000..b72a445e34d0b5618553d0d1e247ad2fb89de269 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/tpm.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/tr.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/tr.mod new file mode 100644 index 0000000000000000000000000000000000000000..0df08ac92fa95e193d1ba001178a4ba93adc9370 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/tr.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/trig.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/trig.mod new file mode 100644 index 0000000000000000000000000000000000000000..b58e3458acfccc10f50645c73e145f5da0bcb5db Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/trig.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/true.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/true.mod new file mode 100644 index 0000000000000000000000000000000000000000..66c42b09af45d441460f43dc291e774a490158fd Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/true.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/udf.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/udf.mod new file mode 100644 index 0000000000000000000000000000000000000000..cdff4cea7a271ab75896bc34f3eccdf8af69372e Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/udf.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/ufs1.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/ufs1.mod new file mode 100644 index 0000000000000000000000000000000000000000..4f645de6c0cd9579c159f46194d44c47098e29a8 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/ufs1.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/ufs1_be.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/ufs1_be.mod new file mode 100644 index 0000000000000000000000000000000000000000..361ffc981164348ba283114fb64224605696bc3e Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/ufs1_be.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/ufs2.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/ufs2.mod new file mode 100644 index 0000000000000000000000000000000000000000..e22b6e4c29968a24b2ad7337e0475105e94d4fac Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/ufs2.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/uhci.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/uhci.mod new file mode 100644 index 0000000000000000000000000000000000000000..a0973549dbe1d4685d022226e579859dbb9ef3ab Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/uhci.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/usb.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/usb.mod new file mode 100644 index 0000000000000000000000000000000000000000..2b65df2af175babb256b174cbaa571affcd8ff25 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/usb.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/usb_gamepad.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/usb_gamepad.mod new file mode 100644 index 0000000000000000000000000000000000000000..617c705f4752fc746eb5b36f0f5db38a3bb2f654 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/usb_gamepad.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/usb_keyboard.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/usb_keyboard.mod new file mode 100644 index 0000000000000000000000000000000000000000..1342087024868aed7ad1d59bb99c584e9d41be26 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/usb_keyboard.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/usbms.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/usbms.mod new file mode 100644 index 0000000000000000000000000000000000000000..15c761c56fb23709cb630463ab46be389b6d1ac7 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/usbms.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/usbserial_common.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/usbserial_common.mod new file mode 100644 index 0000000000000000000000000000000000000000..e00af34ce0141862048eb0be1768aeb251d22431 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/usbserial_common.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/usbserial_ftdi.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/usbserial_ftdi.mod new file mode 100644 index 0000000000000000000000000000000000000000..83c2b9ffc3321c1914c3f920f1c3ca62d8afb10a Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/usbserial_ftdi.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/usbserial_pl2303.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/usbserial_pl2303.mod new file mode 100644 index 0000000000000000000000000000000000000000..40c3f649155a56205706f5c8df10b9e13f8438bd Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/usbserial_pl2303.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/usbserial_usbdebug.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/usbserial_usbdebug.mod new file mode 100644 index 0000000000000000000000000000000000000000..3463ad4224ca0c8fd91937d65ea046ccb2d43c5a Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/usbserial_usbdebug.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/usbtest.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/usbtest.mod new file mode 100644 index 0000000000000000000000000000000000000000..875e709e28bf3ee3772d83ee66b5f45e218971bf Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/usbtest.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/uuid.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/uuid.mod new file mode 100644 index 0000000000000000000000000000000000000000..398cbf0cc513408dae1a6679d44a9cb34ba10b11 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/uuid.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/verifiers.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/verifiers.mod new file mode 100644 index 0000000000000000000000000000000000000000..094100cbc1d300cd044152a487e2efaf1d6edc12 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/verifiers.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/version.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/version.mod new file mode 100644 index 0000000000000000000000000000000000000000..4ffe8e3cb6f36b7570e149495ffb01c7ecc12a41 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/version.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/vhd.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/vhd.mod new file mode 100644 index 0000000000000000000000000000000000000000..ffc97235652425ffaa7f1e4202e72606ce6d5a0c Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/vhd.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/video.lst b/bsp/x86/grub-2.04/boot/grub/i386-efi/video.lst new file mode 100644 index 0000000000000000000000000000000000000000..ae9ba23e441922f0dd48cf5280eeea444a0bf0f4 --- /dev/null +++ b/bsp/x86/grub-2.04/boot/grub/i386-efi/video.lst @@ -0,0 +1,4 @@ +efi_gop +efi_uga +video_bochs +video_cirrus diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/video.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/video.mod new file mode 100644 index 0000000000000000000000000000000000000000..cde5c648981270a136d94816c2f0884576274167 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/video.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/video_bochs.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/video_bochs.mod new file mode 100644 index 0000000000000000000000000000000000000000..bb2467e086ce5bf5c728be2c8e39bc712ba7c687 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/video_bochs.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/video_cirrus.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/video_cirrus.mod new file mode 100644 index 0000000000000000000000000000000000000000..de0be0dde225ee26f9b373e41d5eb7e93bec6def Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/video_cirrus.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/video_colors.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/video_colors.mod new file mode 100644 index 0000000000000000000000000000000000000000..0a1ce3803394de42b1be4f8b1db73f8f5f1a37aa Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/video_colors.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/video_fb.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/video_fb.mod new file mode 100644 index 0000000000000000000000000000000000000000..1f7fda193d6a1713d4f33c2978cedbc8e94536c0 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/video_fb.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/videoinfo.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/videoinfo.mod new file mode 100644 index 0000000000000000000000000000000000000000..244edeb2a345615dafc2311f3cda5f7c84bce4fe Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/videoinfo.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/videotest.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/videotest.mod new file mode 100644 index 0000000000000000000000000000000000000000..cd9966bb61b44605288ab07e8b8868ad4cd3bdfc Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/videotest.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/videotest_checksum.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/videotest_checksum.mod new file mode 100644 index 0000000000000000000000000000000000000000..9f6c768a0703c38f840af764a0cc77e634cd28c3 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/videotest_checksum.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/wimboot.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/wimboot.mod new file mode 100644 index 0000000000000000000000000000000000000000..a61c46a8840706260cecf35f89222d6212bf2673 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/wimboot.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/wrmsr.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/wrmsr.mod new file mode 100644 index 0000000000000000000000000000000000000000..f16753cbe527249a0cd076c260589d990a848c57 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/wrmsr.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/xfs.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/xfs.mod new file mode 100644 index 0000000000000000000000000000000000000000..3639ca7bb1a7c564d075fe6a831ea9bb841e91c8 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/xfs.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/xnu_uuid.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/xnu_uuid.mod new file mode 100644 index 0000000000000000000000000000000000000000..95288b99763577f72bebcb5c2582a50c21e4e3aa Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/xnu_uuid.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/xnu_uuid_test.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/xnu_uuid_test.mod new file mode 100644 index 0000000000000000000000000000000000000000..f01872b12dc2a68a8985af3f470eb42314fc1692 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/xnu_uuid_test.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/xzio.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/xzio.mod new file mode 100644 index 0000000000000000000000000000000000000000..a4eac917a6bcfdece452bd5dd4d39fd2e7b36e30 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/xzio.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/zfs.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/zfs.mod new file mode 100644 index 0000000000000000000000000000000000000000..ec5f1ad4727e75a2c33ae08edb49b7c3bf02ce3b Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/zfs.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/zfscrypt.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/zfscrypt.mod new file mode 100644 index 0000000000000000000000000000000000000000..a6653551b98b00d937ed97c6cd263729f5cafee5 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/zfscrypt.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/zfsinfo.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/zfsinfo.mod new file mode 100644 index 0000000000000000000000000000000000000000..192eb059f6a55410e21cd53516b7861aaaa1bbac Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/zfsinfo.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-efi/zstd.mod b/bsp/x86/grub-2.04/boot/grub/i386-efi/zstd.mod new file mode 100644 index 0000000000000000000000000000000000000000..a54f9a85b42b6ae788bae308762a2350925b5f31 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-efi/zstd.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/acpi.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/acpi.mod new file mode 100644 index 0000000000000000000000000000000000000000..a6a26a791f940648f35fd8b01162e1aeb6796dfd Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/acpi.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/adler32.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/adler32.mod new file mode 100644 index 0000000000000000000000000000000000000000..5d25f3c3bedee1922e3cd022c49631824d71ac6d Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/adler32.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/affs.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/affs.mod new file mode 100644 index 0000000000000000000000000000000000000000..074a82eaf7024f25c3ecf0bab48f1f76336f7536 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/affs.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/afs.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/afs.mod new file mode 100644 index 0000000000000000000000000000000000000000..4b5d656ead12ef85703b2a3d82c4fc7302418e0d Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/afs.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/ahci.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/ahci.mod new file mode 100644 index 0000000000000000000000000000000000000000..f0448345d1a0d32641d42bb7864f104ed3f9e968 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/ahci.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/all_video.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/all_video.mod new file mode 100644 index 0000000000000000000000000000000000000000..8462964baeb040a9e732628ee0993be67bf76a30 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/all_video.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/aout.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/aout.mod new file mode 100644 index 0000000000000000000000000000000000000000..784f173c17aa839614d4a756e2b1023dd61b9fd8 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/aout.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/archelp.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/archelp.mod new file mode 100644 index 0000000000000000000000000000000000000000..3e415fef107e7a20584b3ffcc3ffa0dbf20d55ad Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/archelp.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/at_keyboard.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/at_keyboard.mod new file mode 100644 index 0000000000000000000000000000000000000000..d6f9cd430cb3283184f56e14f4bd15ec7729e967 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/at_keyboard.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/ata.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/ata.mod new file mode 100644 index 0000000000000000000000000000000000000000..29383fb0c4d90c3f0de57bdb86c1f0c709476442 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/ata.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/backtrace.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/backtrace.mod new file mode 100644 index 0000000000000000000000000000000000000000..cccc6c110eec2352255284f9c7893bc6ba01857c Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/backtrace.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/bfs.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/bfs.mod new file mode 100644 index 0000000000000000000000000000000000000000..07c0d9264eddbe44b89b8f7f818928b23893b624 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/bfs.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/biosdisk.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/biosdisk.mod new file mode 100644 index 0000000000000000000000000000000000000000..e5e0523b53336cac098b2430c79941de9f8746b5 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/biosdisk.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/bitmap.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/bitmap.mod new file mode 100644 index 0000000000000000000000000000000000000000..d7b9b1bbe4bfe18a9d4d5313ee9c811a2a1f5d71 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/bitmap.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/bitmap_scale.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/bitmap_scale.mod new file mode 100644 index 0000000000000000000000000000000000000000..e66c6203b98bff40defbe5c2ab99f135571d2eea Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/bitmap_scale.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/blocklist.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/blocklist.mod new file mode 100644 index 0000000000000000000000000000000000000000..460cb9d2ba325382dad60c272318a6a75f883773 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/blocklist.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/boot.img b/bsp/x86/grub-2.04/boot/grub/i386-pc/boot.img new file mode 100644 index 0000000000000000000000000000000000000000..81a7a30ac6fafd097bf0e19166dc29a0c56ec224 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/boot.img differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/boot.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/boot.mod new file mode 100644 index 0000000000000000000000000000000000000000..0d666b071f6b9e9b5d57a811238a52a93247bdbe Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/boot.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/boot_hybrid.img b/bsp/x86/grub-2.04/boot/grub/i386-pc/boot_hybrid.img new file mode 100644 index 0000000000000000000000000000000000000000..d3c63409e744d78ce7ffca5ad84a4e38d004979b Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/boot_hybrid.img differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/boottime.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/boottime.mod new file mode 100644 index 0000000000000000000000000000000000000000..ee0712a138695338d7518a46c22ee32a39dbe7cb Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/boottime.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/bsd.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/bsd.mod new file mode 100644 index 0000000000000000000000000000000000000000..b6816f2d18ace452167d00fe54d7dc191cfae3a2 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/bsd.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/bswap_test.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/bswap_test.mod new file mode 100644 index 0000000000000000000000000000000000000000..ec2538dbdf11c63d28aa67b8e6279886afadf97a Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/bswap_test.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/btrfs.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/btrfs.mod new file mode 100644 index 0000000000000000000000000000000000000000..3e094e78e5499299ae35c808ad5600f15132390f Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/btrfs.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/bufio.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/bufio.mod new file mode 100644 index 0000000000000000000000000000000000000000..4bf41f7b706583070c54de5766911b9505c3744b Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/bufio.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/cacheinfo.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/cacheinfo.mod new file mode 100644 index 0000000000000000000000000000000000000000..9a3da6c2526ea50fb117c8677c596e38b7c4578a Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/cacheinfo.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/cat.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/cat.mod new file mode 100644 index 0000000000000000000000000000000000000000..4ab61f2f435b5b80f7850aec537186d9ba1f4464 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/cat.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/cbfs.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/cbfs.mod new file mode 100644 index 0000000000000000000000000000000000000000..258002504162221f9733035773c21cf2469f303f Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/cbfs.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/cbls.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/cbls.mod new file mode 100644 index 0000000000000000000000000000000000000000..d111bd16b71ef33b2896d0ef09fd66065306d860 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/cbls.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/cbmemc.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/cbmemc.mod new file mode 100644 index 0000000000000000000000000000000000000000..5447199733aaf022a70bdd976efdbe4ea1f745ff Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/cbmemc.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/cbtable.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/cbtable.mod new file mode 100644 index 0000000000000000000000000000000000000000..3bf7753ff522cb695b068ac75be94465e3b27740 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/cbtable.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/cbtime.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/cbtime.mod new file mode 100644 index 0000000000000000000000000000000000000000..9b73bf06d13d410553ae97ce505e7332cdc9abe1 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/cbtime.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/cdboot.img b/bsp/x86/grub-2.04/boot/grub/i386-pc/cdboot.img new file mode 100644 index 0000000000000000000000000000000000000000..5305be4148f34d5141b47b3b219894f72272e5f9 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/cdboot.img differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/chain.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/chain.mod new file mode 100644 index 0000000000000000000000000000000000000000..c56e125198135527ceaf464023dd74234ffc0441 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/chain.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/cmdline_cat_test.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/cmdline_cat_test.mod new file mode 100644 index 0000000000000000000000000000000000000000..1d180af969c12eb303214e472603035d8096aab2 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/cmdline_cat_test.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/cmosdump.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/cmosdump.mod new file mode 100644 index 0000000000000000000000000000000000000000..a6a1eb7a507d9f967cf5c8f6c5a112204087978d Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/cmosdump.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/cmostest.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/cmostest.mod new file mode 100644 index 0000000000000000000000000000000000000000..f374c5966be23c541ad943483889c8223430966a Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/cmostest.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/cmp.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/cmp.mod new file mode 100644 index 0000000000000000000000000000000000000000..25850d552a0cff2c11a80e6792eccfb25d15bb39 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/cmp.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/cmp_test.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/cmp_test.mod new file mode 100644 index 0000000000000000000000000000000000000000..0d587b78a96dfab54dce151d89968d975b283556 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/cmp_test.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/command.lst b/bsp/x86/grub-2.04/boot/grub/i386-pc/command.lst new file mode 100644 index 0000000000000000000000000000000000000000..ed67f646a5ba54627b63d1eaa2f8cebf555e164a --- /dev/null +++ b/bsp/x86/grub-2.04/boot/grub/i386-pc/command.lst @@ -0,0 +1,204 @@ +*acpi: acpi +*all_functional_test: functional_test +*background_image: gfxterm_background +*cat: cat +*cpuid: cpuid +*crc: hashsum +*cryptomount: cryptodisk +*drivemap: drivemap +*echo: echo +*extract_syslinux_entries_configfile: syslinuxcfg +*extract_syslinux_entries_source: syslinuxcfg +*file: file +*functional_test: functional_test +*gettext: gettext +*halt: halt +*hashsum: hashsum +*hdparm: hdparm +*hello: hello +*help: help +*hexdump: hexdump +*inb: iorw +*inl: iorw +*inw: iorw +*keystatus: keystatus +*kfreebsd: bsd +*knetbsd: bsd +*kopenbsd: bsd +*list_env: loadenv +*load_env: loadenv +*loopback: loopback +*ls: ls +*lsacpi: lsacpi +*lspci: lspci +*md5sum: hashsum +*menuentry: normal +*pcidump: pcidump +*plan9: plan9 +*probe: probe +*rdmsr: rdmsr +*read_byte: memrw +*read_dword: memrw +*read_word: memrw +*regexp: regexp +*save_env: loadenv +*search: search +*sendkey: sendkey +*serial: serial +*setpci: setpci +*sha1sum: hashsum +*sha256sum: hashsum +*sha512sum: hashsum +*sleep: sleep +*smbios: smbios +*submenu: normal +*syslinux_configfile: syslinuxcfg +*syslinux_source: syslinuxcfg +*terminfo: terminfo +*test_blockarg: test_blockarg +*testspeed: testspeed +*tr: tr +*trust: pgp +*verify_detached: pgp +*xnu_splash: xnu +*zfskey: zfscrypt +.: configfile +[: test +authenticate: normal +background_color: gfxterm_background +backtrace: backtrace +badram: mmap +blocklist: blocklist +boot: boot +boottime: boottime +break: normal +cacheinfo: cacheinfo +cat: minicmd +cbmemc: cbmemc +chainloader: chain +clear: normal +cmosclean: cmostest +cmosdump: cmosdump +cmosset: cmostest +cmostest: cmostest +cmp: cmp +configfile: configfile +continue: normal +coreboot_boottime: cbtime +cutmem: mmap +date: date +distrust: pgp +dump: minicmd +efiemu_loadcore: efiemu +efiemu_prepare: efiemu +efiemu_unload: efiemu +eval: eval +exit: minicmd +export: normal +extract_entries_configfile: configfile +extract_entries_source: configfile +extract_legacy_entries_configfile: legacycfg +extract_legacy_entries_source: legacycfg +false: true +freedos: freedos +gdbstub: gdb +gdbstub_break: gdb +gdbstub_stop: gdb +gptsync: gptsync +help: minicmd +hexdump_random: random +initrd16: linux16 +initrd: linux +keymap: keylayouts +kfreebsd_loadenv: bsd +kfreebsd_module: bsd +kfreebsd_module_elf: bsd +knetbsd_module: bsd +knetbsd_module_elf: bsd +kopenbsd_ramdisk: bsd +legacy_check_password: legacycfg +legacy_configfile: legacycfg +legacy_initrd: legacycfg +legacy_initrd_nounzip: legacycfg +legacy_kernel: legacycfg +legacy_password: legacycfg +legacy_source: legacycfg +linux16: linux16 +linux: linux +list_trusted: pgp +loadfont: font +lsapm: lsapm +lscoreboot: cbls +lsfonts: font +lsmmap: lsmmap +lsmod: minicmd +macppcbless: macbless +mactelbless: macbless +module2: multiboot2 +module: multiboot +multiboot2: multiboot2 +multiboot: multiboot +nativedisk: nativedisk +net_add_addr: net +net_add_dns: net +net_add_route: net +net_bootp: net +net_del_addr: net +net_del_dns: net +net_del_route: net +net_dhcp: net +net_get_dhcp_option: net +net_ipv6_autoconf: net +net_ls_addr: net +net_ls_cards: net +net_ls_dns: net +net_ls_routes: net +net_nslookup: net +normal: normal +normal_exit: normal +ntldr: ntldr +outb: iorw +outl: iorw +outw: iorw +parttool: parttool +password: password +password_pbkdf2: password_pbkdf2 +play: play +pxechainloader: pxechain +read: read +reboot: reboot +return: normal +rmmod: minicmd +search.file: search_fs_file +search.fs_label: search_label +search.fs_uuid: search_fs_uuid +setparams: normal +shift: normal +source: configfile +terminal_input: terminal +terminal_output: terminal +test: test +testload: testload +time: time +true: true +truecrypt: truecrypt +usb: usbtest +vbeinfo: videoinfo +vbetest: videotest +videoinfo: videoinfo +videotest: videotest +write_byte: memrw +write_dword: memrw +write_word: memrw +wrmsr: wrmsr +xnu_devprop_load: xnu +xnu_kernel64: xnu +xnu_kernel: xnu +xnu_kext: xnu +xnu_kextdir: xnu +xnu_mkext: xnu +xnu_ramdisk: xnu +xnu_resume: xnu +xnu_uuid: xnu_uuid +zfs-bootfs: zfsinfo +zfsinfo: zfsinfo diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/config.h b/bsp/x86/grub-2.04/boot/grub/i386-pc/config.h new file mode 100644 index 0000000000000000000000000000000000000000..69a551aba0ca1be54790fb3a99f211815cbe8d47 --- /dev/null +++ b/bsp/x86/grub-2.04/boot/grub/i386-pc/config.h @@ -0,0 +1,69 @@ +#undef _LARGEFILE_SOURCE +#undef _FILE_OFFSET_BITS +#define _LARGEFILE_SOURCE +#define _FILE_OFFSET_BITS 64 +#if defined(__PPC__) && !defined(__powerpc__) +#define __powerpc__ 1 +#endif + +#define GCRYPT_NO_DEPRECATED 1 +#define HAVE_MEMMOVE 1 + +/* Define to 1 to enable disk cache statistics. */ +#define DISK_CACHE_STATS 1 +#define BOOT_TIME_STATS 1 +/* Define to 1 to make GRUB quieter at boot time. */ +#define QUIET_BOOT 1 + +/* We don't need those. */ +#define MINILZO_CFG_SKIP_LZO_PTR 1 +#define MINILZO_CFG_SKIP_LZO_UTIL 1 +#define MINILZO_CFG_SKIP_LZO_STRING 1 +#define MINILZO_CFG_SKIP_LZO_INIT 1 +#define MINILZO_CFG_SKIP_LZO1X_1_COMPRESS 1 +#define MINILZO_CFG_SKIP_LZO1X_DECOMPRESS 1 + +#if defined (GRUB_BUILD) +#undef ENABLE_NLS +#define BUILD_SIZEOF_LONG 8 +#define BUILD_SIZEOF_VOID_P 8 +#if defined __APPLE__ +# if defined __BIG_ENDIAN__ +# define BUILD_WORDS_BIGENDIAN 1 +# else +# define BUILD_WORDS_BIGENDIAN 0 +# endif +#else +#define BUILD_WORDS_BIGENDIAN 0 +#endif +#elif defined (GRUB_UTIL) || !defined (GRUB_MACHINE) +#include +#else +#define HAVE_FONT_SOURCE 1 +/* Define if C symbols get an underscore after compilation. */ +#define HAVE_ASM_USCORE 0 +/* Define it to one of __bss_start, edata and _edata. */ +#define BSS_START_SYMBOL __bss_start +/* Define it to either end or _end. */ +#define END_SYMBOL end +/* Name of package. */ +#define PACKAGE "grub" +/* Version number of package. */ +#define VERSION "2.04" +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "GRUB 2.04" +/* Define to the version of this package. */ +#define PACKAGE_VERSION "2.04" +/* Define to the full name of this package. */ +#define PACKAGE_NAME "GRUB" +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "bug-grub@gnu.org" + +#define GRUB_TARGET_CPU "i386" +#define GRUB_PLATFORM "pc" + +#define RE_ENABLE_I18N 1 + +#define _GNU_SOURCE 1 + +#endif diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/configfile.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/configfile.mod new file mode 100644 index 0000000000000000000000000000000000000000..4ce2e88ec07cb78861d4a2a2ae19a40714d4c3c1 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/configfile.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/core.img b/bsp/x86/grub-2.04/boot/grub/i386-pc/core.img new file mode 100644 index 0000000000000000000000000000000000000000..423d8638d1c6bc6be3997486f411840aae30e95d Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/core.img differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/cpio.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/cpio.mod new file mode 100644 index 0000000000000000000000000000000000000000..fafe17e6f6d0776b0af320f21f10da43c3a45fb5 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/cpio.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/cpio_be.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/cpio_be.mod new file mode 100644 index 0000000000000000000000000000000000000000..6eb491844e690555b65ed6709f08fa53c0e997f0 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/cpio_be.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/cpuid.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/cpuid.mod new file mode 100644 index 0000000000000000000000000000000000000000..97a007ba0cd4464b04511c9fad1e799c54bdac0a Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/cpuid.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/crc64.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/crc64.mod new file mode 100644 index 0000000000000000000000000000000000000000..505353d579132a8e4c39161695b7d97228e4ec0a Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/crc64.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/crypto.lst b/bsp/x86/grub-2.04/boot/grub/i386-pc/crypto.lst new file mode 100644 index 0000000000000000000000000000000000000000..77d9efc01a4371a136c3330355aa68b0368e65c9 --- /dev/null +++ b/bsp/x86/grub-2.04/boot/grub/i386-pc/crypto.lst @@ -0,0 +1,45 @@ +RIJNDAEL: gcry_rijndael +RIJNDAEL192: gcry_rijndael +RIJNDAEL256: gcry_rijndael +AES128: gcry_rijndael +AES-128: gcry_rijndael +AES-192: gcry_rijndael +AES-256: gcry_rijndael +ADLER32: adler32 +CRC64: crc64 +ARCFOUR: gcry_arcfour +BLOWFISH: gcry_blowfish +CAMELLIA128: gcry_camellia +CAMELLIA192: gcry_camellia +CAMELLIA256: gcry_camellia +CAST5: gcry_cast5 +CRC32: gcry_crc +CRC32RFC1510: gcry_crc +CRC24RFC2440: gcry_crc +DES: gcry_des +3DES: gcry_des +DSA: gcry_dsa +IDEA: gcry_idea +MD4: gcry_md4 +MD5: gcry_md5 +RFC2268_40: gcry_rfc2268 +AES: gcry_rijndael +AES192: gcry_rijndael +AES256: gcry_rijndael +RIPEMD160: gcry_rmd160 +RSA: gcry_rsa +SEED: gcry_seed +SERPENT128: gcry_serpent +SERPENT192: gcry_serpent +SERPENT256: gcry_serpent +SHA1: gcry_sha1 +SHA224: gcry_sha256 +SHA256: gcry_sha256 +SHA512: gcry_sha512 +SHA384: gcry_sha512 +TIGER192: gcry_tiger +TIGER: gcry_tiger +TIGER2: gcry_tiger +TWOFISH: gcry_twofish +TWOFISH128: gcry_twofish +WHIRLPOOL: gcry_whirlpool diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/crypto.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/crypto.mod new file mode 100644 index 0000000000000000000000000000000000000000..6ba1cea16005916545585b0b46ec7c9660304d1f Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/crypto.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/cryptodisk.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/cryptodisk.mod new file mode 100644 index 0000000000000000000000000000000000000000..0afb511d701d868368131ffd438a5f018ba01e92 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/cryptodisk.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/cs5536.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/cs5536.mod new file mode 100644 index 0000000000000000000000000000000000000000..f0e4a94f71dc2af858e1dea7d8bf607be55de9c6 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/cs5536.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/ctz_test.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/ctz_test.mod new file mode 100644 index 0000000000000000000000000000000000000000..bf1b52881feaf328092da6a12643fd77f5f13ddf Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/ctz_test.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/date.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/date.mod new file mode 100644 index 0000000000000000000000000000000000000000..11c7e31cb6134b745cd218d34b28428f76af4d74 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/date.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/datehook.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/datehook.mod new file mode 100644 index 0000000000000000000000000000000000000000..41d646eff5e5bc4816d2d2502fcddd6874a9cf62 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/datehook.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/datetime.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/datetime.mod new file mode 100644 index 0000000000000000000000000000000000000000..2f00363a0cf6f6d9bf3e7532ebb03d837e5117ee Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/datetime.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/disk.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/disk.mod new file mode 100644 index 0000000000000000000000000000000000000000..44a084b1392d7949b0c736b287db8758811664f8 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/disk.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/diskboot.img b/bsp/x86/grub-2.04/boot/grub/i386-pc/diskboot.img new file mode 100644 index 0000000000000000000000000000000000000000..fac4a2548ee0ce85164542ca8dab4640ea23d09a Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/diskboot.img differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/diskfilter.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/diskfilter.mod new file mode 100644 index 0000000000000000000000000000000000000000..ae2b6b5f2c17e9dd0722e3c7d80e8f3861ed232b Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/diskfilter.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/div.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/div.mod new file mode 100644 index 0000000000000000000000000000000000000000..f7c8e4e46387db1f204a0f2b6c35048531190073 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/div.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/div_test.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/div_test.mod new file mode 100644 index 0000000000000000000000000000000000000000..f093e0995955c177e526dccaec0f1fb9a5362213 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/div_test.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/dm_nv.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/dm_nv.mod new file mode 100644 index 0000000000000000000000000000000000000000..baaaf0095b35b71178e66808b47a2592203f5efd Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/dm_nv.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/drivemap.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/drivemap.mod new file mode 100644 index 0000000000000000000000000000000000000000..c8a12c5be55b6fac6d23b30797d9dbe833072727 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/drivemap.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/echo.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/echo.mod new file mode 100644 index 0000000000000000000000000000000000000000..de69d8b594ea44d04db8cc62109507a4254b4ba7 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/echo.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/efiemu.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/efiemu.mod new file mode 100644 index 0000000000000000000000000000000000000000..d54ab6debde9a372fa3d609ed1067b1a301efb98 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/efiemu.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/ehci.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/ehci.mod new file mode 100644 index 0000000000000000000000000000000000000000..53f34abcaa322f8a2680d0bcf94898055600f071 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/ehci.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/elf.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/elf.mod new file mode 100644 index 0000000000000000000000000000000000000000..912261ace9578dc814292ebc9ddcf3dd60af6394 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/elf.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/eltorito.img b/bsp/x86/grub-2.04/boot/grub/i386-pc/eltorito.img new file mode 100644 index 0000000000000000000000000000000000000000..fc3e49363d60d18ed3e1aab469436be2d232a2ac Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/eltorito.img differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/eval.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/eval.mod new file mode 100644 index 0000000000000000000000000000000000000000..d62d396b409ccc3c59fab2d91f4be0d48aa812b0 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/eval.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/exfat.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/exfat.mod new file mode 100644 index 0000000000000000000000000000000000000000..f0b0ba72303a2aaf0bb04eaa1065bb80af2e1312 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/exfat.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/exfctest.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/exfctest.mod new file mode 100644 index 0000000000000000000000000000000000000000..11be2ce8125d9aee1338db89f10bd4c74a99962a Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/exfctest.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/ext2.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/ext2.mod new file mode 100644 index 0000000000000000000000000000000000000000..6770846ac0651d2211e4841c09a082f9d2c55d4d Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/ext2.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/extcmd.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/extcmd.mod new file mode 100644 index 0000000000000000000000000000000000000000..af5c1eb64f8e153ebbae7c54e3d0119b732153d2 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/extcmd.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/f2fs.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/f2fs.mod new file mode 100644 index 0000000000000000000000000000000000000000..d2231fa126233a84ed463ac87f2fbad320a1f113 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/f2fs.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/fat.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/fat.mod new file mode 100644 index 0000000000000000000000000000000000000000..92146916ce44e86405ef397e606b6b11aa46ea70 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/fat.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/fdt.lst b/bsp/x86/grub-2.04/boot/grub/i386-pc/fdt.lst new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/file.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/file.mod new file mode 100644 index 0000000000000000000000000000000000000000..300dbe16d412f1acf682a0e83c317985c98d4937 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/file.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/font.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/font.mod new file mode 100644 index 0000000000000000000000000000000000000000..eee0ca6e8e1c667c49dc08f08acb7cf0455d4da2 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/font.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/freedos.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/freedos.mod new file mode 100644 index 0000000000000000000000000000000000000000..d203c0f831f83712ca6d3b1d0101d1a0890e1a11 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/freedos.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/fs.lst b/bsp/x86/grub-2.04/boot/grub/i386-pc/fs.lst new file mode 100644 index 0000000000000000000000000000000000000000..0acd240b130a371f88b5a5d5415d9eaea6dc3557 --- /dev/null +++ b/bsp/x86/grub-2.04/boot/grub/i386-pc/fs.lst @@ -0,0 +1,37 @@ +affs +afs +bfs +btrfs +cbfs +cpio +cpio_be +exfat +ext2 +f2fs +fat +hfs +hfsplus +iso9660 +jfs +minix +minix2 +minix2_be +minix3 +minix3_be +minix_be +newc +nilfs2 +ntfs +odc +procfs +reiserfs +romfs +sfs +squash4 +tar +udf +ufs1 +ufs1_be +ufs2 +xfs +zfs diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/fshelp.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/fshelp.mod new file mode 100644 index 0000000000000000000000000000000000000000..1f7c2b2172c65378e294537e321b79dfd0ea7df0 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/fshelp.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/functional_test.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/functional_test.mod new file mode 100644 index 0000000000000000000000000000000000000000..d5989af9058d5403be5db0b2dd129570886f8699 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/functional_test.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_arcfour.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_arcfour.mod new file mode 100644 index 0000000000000000000000000000000000000000..1af39f4457f9b5a4ab6e831dfeb5d52b2c124168 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_arcfour.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_blowfish.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_blowfish.mod new file mode 100644 index 0000000000000000000000000000000000000000..96481db8c167b12ea2187cd5a9c0120caa0feda0 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_blowfish.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_camellia.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_camellia.mod new file mode 100644 index 0000000000000000000000000000000000000000..1381170ed7ce619ac885c49082a7bc7af48309bb Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_camellia.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_cast5.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_cast5.mod new file mode 100644 index 0000000000000000000000000000000000000000..4e8363cafcfeda0079cd95acc4eaa376936b0f32 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_cast5.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_crc.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_crc.mod new file mode 100644 index 0000000000000000000000000000000000000000..31cf6d24c6744cf89e414ec430dcaa08ab6c675f Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_crc.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_des.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_des.mod new file mode 100644 index 0000000000000000000000000000000000000000..fae4c3220369b37bbcfaffbe521ad629d9aef81d Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_des.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_dsa.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_dsa.mod new file mode 100644 index 0000000000000000000000000000000000000000..45287690da7daade49f25acb2a837a23216b5d7c Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_dsa.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_idea.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_idea.mod new file mode 100644 index 0000000000000000000000000000000000000000..d70f2e77b0ebf3440c14919f66a9231f32521652 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_idea.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_md4.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_md4.mod new file mode 100644 index 0000000000000000000000000000000000000000..d474bd63cb1e79aaec0c14c817734dd4bb88f1ab Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_md4.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_md5.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_md5.mod new file mode 100644 index 0000000000000000000000000000000000000000..2ec27a0aea3da6298773213b1fad92875bb347f3 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_md5.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_rfc2268.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_rfc2268.mod new file mode 100644 index 0000000000000000000000000000000000000000..b5398c2421ce12c5ad4aa3c0d42b0c8266beec16 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_rfc2268.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_rijndael.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_rijndael.mod new file mode 100644 index 0000000000000000000000000000000000000000..db057f16306db75d865d98d1eb8f57ce818f68ef Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_rijndael.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_rmd160.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_rmd160.mod new file mode 100644 index 0000000000000000000000000000000000000000..e068e61db500a8996619fb49ce3bffa9eaa50ac0 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_rmd160.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_rsa.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_rsa.mod new file mode 100644 index 0000000000000000000000000000000000000000..f1ce05a3db65c0ce8c1343d20426cec2a40919f9 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_rsa.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_seed.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_seed.mod new file mode 100644 index 0000000000000000000000000000000000000000..1454b8527520c032f62f251dc410b75fedff0177 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_seed.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_serpent.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_serpent.mod new file mode 100644 index 0000000000000000000000000000000000000000..7e293ea8a6300113b7cf02e632cfdc1c2ee202e0 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_serpent.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_sha1.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_sha1.mod new file mode 100644 index 0000000000000000000000000000000000000000..2bbc60021a3e214939711d5fd84046f4657c4b57 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_sha1.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_sha256.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_sha256.mod new file mode 100644 index 0000000000000000000000000000000000000000..21398a1f71f7c08524fc1bdb38be470d05a3a0d9 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_sha256.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_sha512.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_sha512.mod new file mode 100644 index 0000000000000000000000000000000000000000..7651d5297c0392c89387f2614b2aa0fa9516990d Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_sha512.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_tiger.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_tiger.mod new file mode 100644 index 0000000000000000000000000000000000000000..48324c9bbc1435ab58f8956ef227f334e7f5db8f Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_tiger.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_twofish.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_twofish.mod new file mode 100644 index 0000000000000000000000000000000000000000..cb0df2496fee9bbc57da7937fac44300ce712f78 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_twofish.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_whirlpool.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_whirlpool.mod new file mode 100644 index 0000000000000000000000000000000000000000..46979576d285a5178fa7577dcddbac52cb2e5d9e Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/gcry_whirlpool.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/gdb.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/gdb.mod new file mode 100644 index 0000000000000000000000000000000000000000..c546e38776538ecaed776eb31d8ab1fcf5ca5114 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/gdb.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/geli.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/geli.mod new file mode 100644 index 0000000000000000000000000000000000000000..4289f32c26832d3044a221bec05b30c1f5d29611 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/geli.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/gettext.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/gettext.mod new file mode 100644 index 0000000000000000000000000000000000000000..83fb264541e6801365a61432f14ef489e260e9fa Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/gettext.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/gfxmenu.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/gfxmenu.mod new file mode 100644 index 0000000000000000000000000000000000000000..e398b6d1d4920f11e152aa51300bb39225fa0729 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/gfxmenu.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/gfxterm.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/gfxterm.mod new file mode 100644 index 0000000000000000000000000000000000000000..1054a06dcfed93029206206237e4a4c9029f04d0 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/gfxterm.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/gfxterm_background.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/gfxterm_background.mod new file mode 100644 index 0000000000000000000000000000000000000000..18b69e13913b769172729513ceb506b38b7ee6b8 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/gfxterm_background.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/gfxterm_menu.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/gfxterm_menu.mod new file mode 100644 index 0000000000000000000000000000000000000000..07f42fa25f13e3edc424ebc64c99de16390938b4 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/gfxterm_menu.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/gptsync.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/gptsync.mod new file mode 100644 index 0000000000000000000000000000000000000000..805e79bdd4642193da76c20e678534f605ff8da5 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/gptsync.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/gzio.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/gzio.mod new file mode 100644 index 0000000000000000000000000000000000000000..dde997e135d11627153bf7020ed11a3227fcd347 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/gzio.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/halt.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/halt.mod new file mode 100644 index 0000000000000000000000000000000000000000..636e9f76722d7df453e8ae6ffc4f1618965a2187 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/halt.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/hashsum.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/hashsum.mod new file mode 100644 index 0000000000000000000000000000000000000000..bef159f8c6004eab1b186e32dd6401c17d0b3239 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/hashsum.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/hdparm.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/hdparm.mod new file mode 100644 index 0000000000000000000000000000000000000000..a749cb63937cb33c19dcf2f510c8e9c4068941db Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/hdparm.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/hello.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/hello.mod new file mode 100644 index 0000000000000000000000000000000000000000..a61643c0a7b3d5c75de98d5192308e6f6fd7c86c Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/hello.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/help.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/help.mod new file mode 100644 index 0000000000000000000000000000000000000000..42d687a66a2430020b2da0e290bd7fbf9844430f Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/help.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/hexdump.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/hexdump.mod new file mode 100644 index 0000000000000000000000000000000000000000..bdd03e1244ea88f2b12cc2b293375ababf0fc4ae Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/hexdump.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/hfs.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/hfs.mod new file mode 100644 index 0000000000000000000000000000000000000000..77c66d6ef774d48dfe57f7cea1687c776b2e84a6 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/hfs.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/hfsplus.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/hfsplus.mod new file mode 100644 index 0000000000000000000000000000000000000000..a6a8d30f3ff38d02b88e149ade1613b9a5f770ea Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/hfsplus.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/hfspluscomp.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/hfspluscomp.mod new file mode 100644 index 0000000000000000000000000000000000000000..587453e6d75fff9dda90b50696ec7ccbbe673133 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/hfspluscomp.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/http.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/http.mod new file mode 100644 index 0000000000000000000000000000000000000000..09ea051c24a9fc1ddc0322232bbd6a2cf774ea1a Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/http.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/iorw.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/iorw.mod new file mode 100644 index 0000000000000000000000000000000000000000..f75462cc8ee1b67f2dd891c6953e9fb62e0d7b2e Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/iorw.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/iso9660.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/iso9660.mod new file mode 100644 index 0000000000000000000000000000000000000000..f06282d57a9045729ec8e3c86fa47325e070b1e5 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/iso9660.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/jfs.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/jfs.mod new file mode 100644 index 0000000000000000000000000000000000000000..6d0455eb92edacfc0882626e9b5255273a3acf4c Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/jfs.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/jpeg.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/jpeg.mod new file mode 100644 index 0000000000000000000000000000000000000000..b8296f75705354b8876fbd3c9f795278d5aa2b27 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/jpeg.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/kernel.img b/bsp/x86/grub-2.04/boot/grub/i386-pc/kernel.img new file mode 100644 index 0000000000000000000000000000000000000000..6e7895d787ff76f4a849c47a6d9f68a5a874f2fa Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/kernel.img differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/keylayouts.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/keylayouts.mod new file mode 100644 index 0000000000000000000000000000000000000000..5061d00ce80aff1eb5d56eaa236e8e2a27e877e8 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/keylayouts.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/keystatus.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/keystatus.mod new file mode 100644 index 0000000000000000000000000000000000000000..ae8ef77a91b4e8f9c13dbd0bed12ab9f5ea5d6d6 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/keystatus.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/ldm.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/ldm.mod new file mode 100644 index 0000000000000000000000000000000000000000..5b1b6346773705bda283247cef6b8a13cfd33928 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/ldm.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/legacy_password_test.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/legacy_password_test.mod new file mode 100644 index 0000000000000000000000000000000000000000..fa742073b8d66945bde569fcad3a8786402af5ce Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/legacy_password_test.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/legacycfg.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/legacycfg.mod new file mode 100644 index 0000000000000000000000000000000000000000..1d90782246b3edd56104bccba9b54942c13d74bb Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/legacycfg.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/linux.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/linux.mod new file mode 100644 index 0000000000000000000000000000000000000000..f48d87cf14f9dccb4ab150620597ad87770ab1c0 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/linux.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/linux16.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/linux16.mod new file mode 100644 index 0000000000000000000000000000000000000000..748edb2053593c7f6c94b44a88fcfdc0571e19b4 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/linux16.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/lnxboot.img b/bsp/x86/grub-2.04/boot/grub/i386-pc/lnxboot.img new file mode 100644 index 0000000000000000000000000000000000000000..a60fcf2cb09e7e4b462d2d557a9b7bcc480107f8 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/lnxboot.img differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/loadenv.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/loadenv.mod new file mode 100644 index 0000000000000000000000000000000000000000..44710a96ac7faafde8eafb1d207f3ba611ba7118 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/loadenv.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/loopback.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/loopback.mod new file mode 100644 index 0000000000000000000000000000000000000000..249f0da6589064ba5fda5a39af63d460cb6a0ef1 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/loopback.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/ls.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/ls.mod new file mode 100644 index 0000000000000000000000000000000000000000..7860b115d194dc1f08974812ce2d233b8a6171b2 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/ls.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/lsacpi.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/lsacpi.mod new file mode 100644 index 0000000000000000000000000000000000000000..26606151bff385259ae2d3dcc613e27999ddefa2 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/lsacpi.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/lsapm.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/lsapm.mod new file mode 100644 index 0000000000000000000000000000000000000000..e612cb0de7757e26c3bf9af408e7622f4b9e8e4d Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/lsapm.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/lsmmap.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/lsmmap.mod new file mode 100644 index 0000000000000000000000000000000000000000..ce9af968a47182e46c78d15a60fac16f4e44a699 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/lsmmap.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/lspci.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/lspci.mod new file mode 100644 index 0000000000000000000000000000000000000000..ed59f95da845cd7b1ecd53bffb76b051eccba950 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/lspci.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/luks.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/luks.mod new file mode 100644 index 0000000000000000000000000000000000000000..27eb33f3fea04dcbd6a463fc4d2e22b2805da581 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/luks.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/lvm.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/lvm.mod new file mode 100644 index 0000000000000000000000000000000000000000..68fedb3e14042f2015ef1976fa1091da93da8a6c Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/lvm.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/lzma_decompress.img b/bsp/x86/grub-2.04/boot/grub/i386-pc/lzma_decompress.img new file mode 100644 index 0000000000000000000000000000000000000000..93f0e3571308748b950199ac8927f6fe6fdfc733 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/lzma_decompress.img differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/lzopio.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/lzopio.mod new file mode 100644 index 0000000000000000000000000000000000000000..ba9dfee6a633a79f8feb9671e933ef3ff2cdf631 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/lzopio.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/macbless.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/macbless.mod new file mode 100644 index 0000000000000000000000000000000000000000..85a0a01bbce8b44562eb22cb5644123c5986e4e7 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/macbless.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/macho.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/macho.mod new file mode 100644 index 0000000000000000000000000000000000000000..ea495e0533c6a8d6567595f5f703f8c67612f735 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/macho.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/mda_text.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/mda_text.mod new file mode 100644 index 0000000000000000000000000000000000000000..6a091e0e38fd82eaff93b4075ed75be60deca002 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/mda_text.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/mdraid09.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/mdraid09.mod new file mode 100644 index 0000000000000000000000000000000000000000..00c04c2af16b3e8026aea71d8a385c0cfa025ec8 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/mdraid09.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/mdraid09_be.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/mdraid09_be.mod new file mode 100644 index 0000000000000000000000000000000000000000..31787461521a9027b79d624aef0c63749b2dcc53 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/mdraid09_be.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/mdraid1x.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/mdraid1x.mod new file mode 100644 index 0000000000000000000000000000000000000000..719cb82c4fb27013187d28d9d0c247fedf98ba05 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/mdraid1x.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/memdisk.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/memdisk.mod new file mode 100644 index 0000000000000000000000000000000000000000..faf9406ca59facf6b230580f778164e70cc65d29 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/memdisk.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/memrw.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/memrw.mod new file mode 100644 index 0000000000000000000000000000000000000000..029759510aeb071c627205aaa8f1a0059cc1b483 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/memrw.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/minicmd.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/minicmd.mod new file mode 100644 index 0000000000000000000000000000000000000000..497b9dd7a66eb80aa79b3440c35ed84a77ad4e74 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/minicmd.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/minix.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/minix.mod new file mode 100644 index 0000000000000000000000000000000000000000..1e2a7458b18238bdad31e578d3c8fa1218093135 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/minix.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/minix2.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/minix2.mod new file mode 100644 index 0000000000000000000000000000000000000000..8373653ba45483c10e2f7f6cb158e0e914742857 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/minix2.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/minix2_be.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/minix2_be.mod new file mode 100644 index 0000000000000000000000000000000000000000..7fe0e9c4360dd161122bb261fa4296847d03aec8 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/minix2_be.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/minix3.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/minix3.mod new file mode 100644 index 0000000000000000000000000000000000000000..459a98a50208d10999bfb00c2d9913d3e20e8e40 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/minix3.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/minix3_be.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/minix3_be.mod new file mode 100644 index 0000000000000000000000000000000000000000..f6c7e1a3083cc9562f5792b7bd06e03955ca084c Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/minix3_be.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/minix_be.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/minix_be.mod new file mode 100644 index 0000000000000000000000000000000000000000..02e503f916836555a2091b1c2eaec642e60023bf Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/minix_be.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/mmap.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/mmap.mod new file mode 100644 index 0000000000000000000000000000000000000000..0c4fd99e95dd68c73c09913eb4bf54ec966298a0 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/mmap.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/moddep.lst b/bsp/x86/grub-2.04/boot/grub/i386-pc/moddep.lst new file mode 100644 index 0000000000000000000000000000000000000000..5b294db9edd6d13f94de579a78a260abfc749b48 --- /dev/null +++ b/bsp/x86/grub-2.04/boot/grub/i386-pc/moddep.lst @@ -0,0 +1,273 @@ +videotest: font video gfxmenu +odc: archelp +loopback: extcmd +macho: +gcry_des: crypto +memrw: extcmd +terminfo: extcmd +f2fs: fshelp +part_gpt: +romfs: fshelp +read: +aout: +gcry_arcfour: crypto +vga_text: +tftp: net priority_queue +newc: archelp +minix2_be: +elf: +videotest_checksum: font functional_test video_fb +password_pbkdf2: crypto gcry_sha512 pbkdf2 normal +gcry_seed: crypto +pcidump: extcmd pci +bsd: elf serial crypto gcry_md5 verifiers extcmd vbe video boot aout cpuid relocator mmap +sfs: fshelp +reiserfs: fshelp +part_sunpc: +zstd: +gfxmenu: video_colors trig bitmap_scale gfxterm font normal video bitmap +backtrace: +jfs: +help: extcmd normal +configfile: normal +cbls: cbtable +gfxterm_menu: font functional_test procfs normal video_fb +gcry_idea: crypto +tr: extcmd +shift_test: functional_test +boottime: +ohci: cs5536 usb boot pci +afs: fshelp +spkmodem: terminfo +usb_keyboard: usb keylayouts +xzio: crypto +syslinuxcfg: extcmd normal +search_fs_file: +wrmsr: +vga: video video_fb +usbms: scsi usb +test_blockarg: extcmd normal +true: +affs: fshelp +iso9660: fshelp +exfat: fshelp +smbios: extcmd acpi +setjmp_test: functional_test setjmp +gfxterm: font video +disk: +xfs: fshelp +testspeed: extcmd normal +cpio_be: archelp +functional_test: btrfs extcmd video video_fb +pxechain: pxe video boot relocator +bswap_test: functional_test +sleep: extcmd normal +memdisk: +gcry_rijndael: crypto +mdraid09_be: diskfilter +gettext: +gcry_sha1: crypto +hfspluscomp: gzio hfsplus +cmp: +random: hexdump acpi +offsetio: +file: macho elf extcmd offsetio +usbserial_usbdebug: serial usb usbserial_common +video_colors: +morse: +hashsum: crypto extcmd normal +usb: pci +halt: extcmd acpi +gdb: serial backtrace +gfxterm_background: video_colors bitmap_scale gfxterm extcmd video bitmap +search_fs_uuid: +gcry_dsa: pgp mpi +keystatus: extcmd +linux: verifiers normal vbe video boot relocator mmap +geli: cryptodisk crypto gcry_sha512 pbkdf2 gcry_sha256 +cmdline_cat_test: font functional_test procfs normal video_fb +rdmsr: extcmd +part_sun: +cbtable: +plan9: verifiers extcmd video boot relocator +sendkey: extcmd boot +pbkdf2_test: functional_test pbkdf2 gcry_sha1 +video_bochs: video pci video_fb +verifiers: +bufio: +usbserial_ftdi: serial usb usbserial_common +legacy_password_test: functional_test legacycfg +cpuid: extcmd +hdparm: extcmd hexdump +bfs: fshelp +gcry_blowfish: crypto +test: +nilfs2: fshelp +gcry_rsa: pgp mpi +cryptodisk: crypto extcmd procfs +nativedisk: +minicmd: +signature_test: functional_test procfs +ata: scsi +udf: fshelp +gzio: gcry_crc +xnu_uuid: gcry_md5 +uhci: usb pci +pata: ata pci +mul_test: functional_test +adler32: crypto +terminal: +div: +ehci: cs5536 usb boot pci +crypto: +part_bsd: part_msdos +cs5536: pci +biosdisk: +lsapm: +gcry_sha512: crypto +password: crypto normal +efiemu: gcry_crc crypto smbios cpuid acpi +fshelp: +sleep_test: functional_test datetime +iorw: extcmd +xnu: macho bitmap_scale random verifiers extcmd video bitmap boot efiemu relocator mmap +mmap: boot +exfctest: functional_test +zfsinfo: zfs +ldm: part_gpt diskfilter part_msdos +cmostest: +eval: normal +part_dvh: +ext2: fshelp +blocklist: +net: priority_queue bufio datetime boot +drivemap: extcmd boot mmap +part_acorn: +videoinfo: video +cacheinfo: +btrfs: zstd lzopio raid6rec gzio +lsmmap: +strtoull_test: functional_test +bitmap: +vbe: video video_fb +ntfs: fshelp +multiboot: net linux vbe video boot relocator mmap lsapm +gcry_crc: crypto +png: bufio bitmap +jpeg: bufio bitmap +macbless: disk +div_test: functional_test div +regexp: extcmd normal +parttool: normal +usbserial_pl2303: serial usb usbserial_common +cpio: archelp +gcry_rmd160: crypto +fat: fshelp +ufs1_be: +truecrypt: video boot relocator mmap gzio +archelp: +ntldr: chain video boot relocator +http: net +zfs: gzio +raid6rec: diskfilter +minix2: +mda_text: +lsacpi: extcmd acpi +datehook: datetime normal +loadenv: disk extcmd +bitmap_scale: bitmap +probe: extcmd +minix3: +tar: archelp +hfs: fshelp +procfs: archelp +boot: +keylayouts: +progress: normal +kernel: +usbtest: usb +relocator: mmap +acpi: extcmd mmap +tga: bufio bitmap +reboot: relocator +serial: extcmd terminfo +zfscrypt: crypto pbkdf2 zfs extcmd gcry_sha1 gcry_rijndael +dm_nv: diskfilter +cmp_test: functional_test +luks: cryptodisk crypto pbkdf2 +font: bufio video +raid5rec: diskfilter +crc64: crypto +datetime: +ctz_test: functional_test +video: +pci: +cbmemc: normal cbtable terminfo +cmosdump: +hfsplus: fshelp +gcry_cast5: crypto +extcmd: +squash4: fshelp lzopio xzio gzio +part_plan: +minix_be: +gcry_whirlpool: crypto +pxe: net boot +gcry_tiger: crypto +search: search_fs_uuid search_fs_file extcmd search_label +lspci: extcmd pci +cbtime: cbtable +video_fb: +minix3_be: +trig: +msdospart: disk parttool +priority_queue: +gcry_twofish: crypto +part_dfly: +xnu_uuid_test: functional_test +diskfilter: +testload: +part_apple: +hexdump: extcmd +date: datetime normal +pbkdf2: crypto +gcry_sha256: crypto +ls: extcmd normal +usbserial_common: serial usb +ntfscomp: ntfs +lzopio: crypto +video_cirrus: video pci video_fb +hello: extcmd +scsi: +linux16: linux video boot relocator mmap +cat: extcmd +ahci: ata boot pci +pgp: crypto verifiers extcmd mpi gcry_sha1 +normal: terminal crypto verifiers bufio extcmd boot gettext +ufs1: +mdraid09: diskfilter +lvm: diskfilter +cbfs: archelp +chain: video boot relocator +ufs2: +time: +setpci: extcmd pci +gptsync: disk +freedos: chain video boot relocator +search_label: +setjmp: +multiboot2: net linux vbe video boot relocator mmap lsapm acpi +gcry_rfc2268: crypto +mdraid1x: diskfilter +mpi: crypto +legacycfg: linux password crypto gcry_md5 normal +play: +part_amiga: +minix: +echo: extcmd +gcry_serpent: crypto +gcry_md4: crypto +gcry_md5: crypto +part_msdos: +gcry_camellia: crypto +at_keyboard: keylayouts boot +all_video: vbe vga video_bochs video_cirrus diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/modinfo.sh b/bsp/x86/grub-2.04/boot/grub/i386-pc/modinfo.sh new file mode 100644 index 0000000000000000000000000000000000000000..a61146be32f417bfa381bc5656ff5840321c369d --- /dev/null +++ b/bsp/x86/grub-2.04/boot/grub/i386-pc/modinfo.sh @@ -0,0 +1,40 @@ +#!/bin/sh + +# User-controllable options +grub_modinfo_target_cpu=i386 +grub_modinfo_platform=pc +grub_disk_cache_stats=1 +grub_boot_time_stats=1 +grub_have_font_source=1 + +# Autodetected config +grub_have_asm_uscore=0 +grub_bss_start_symbol="__bss_start" +grub_end_symbol="end" + +# Build environment +grub_target_cc='gcc' +grub_target_cc_version='gcc (GCC) 9.2.0' +grub_target_cflags=' -Os -Wall -W -Wshadow -Wpointer-arith -Wundef -Wchar-subscripts -Wcomment -Wdeprecated-declarations -Wdisabled-optimization -Wdiv-by-zero -Wfloat-equal -Wformat-extra-args -Wformat-security -Wformat-y2k -Wimplicit -Wimplicit-function-declaration -Wimplicit-int -Wmain -Wmissing-braces -Wmissing-format-attribute -Wmultichar -Wparentheses -Wreturn-type -Wsequence-point -Wshadow -Wsign-compare -Wswitch -Wtrigraphs -Wunknown-pragmas -Wunused -Wunused-function -Wunused-label -Wunused-parameter -Wunused-value -Wunused-variable -Wwrite-strings -Wnested-externs -Wstrict-prototypes -g -Wredundant-decls -Wmissing-prototypes -Wmissing-declarations -Wextra -Wattributes -Wendif-labels -Winit-self -Wint-to-pointer-cast -Winvalid-pch -Wmissing-field-initializers -Wnonnull -Woverflow -Wvla -Wpointer-to-int-cast -Wstrict-aliasing -Wvariadic-macros -Wvolatile-register-var -Wpointer-sign -Wmissing-include-dirs -Wmissing-prototypes -Wmissing-declarations -Wformat=2 -march=i386 -m32 -mrtd -mregparm=3 -falign-jumps=1 -falign-loops=1 -falign-functions=1 -freg-struct-return -mno-mmx -mno-sse -mno-sse2 -mno-sse3 -mno-3dnow -msoft-float -fno-dwarf2-cfi-asm -mno-stack-arg-probe -fno-asynchronous-unwind-tables -fno-unwind-tables -fno-ident -fno-PIE -fno-pie -fno-stack-protector -Wtrampolines' +grub_target_cppflags=' -Wall -W -DGRUB_MACHINE_PCBIOS=1 -DGRUB_MACHINE=I386_PC -m32 -nostdinc -isystem /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include -I$(top_srcdir)/include -I$(top_builddir)/include' +grub_target_ccasflags=' -g -m32 -msoft-float' +grub_target_ldflags=' -m32 -Wl,-melf_i386 -no-pie -Wl,--build-id=none' +grub_cflags='' +grub_cppflags=' -D_FILE_OFFSET_BITS=64' +grub_ccasflags='' +grub_ldflags='' +grub_target_strip='strip' +grub_target_nm='nm' +grub_target_ranlib='ranlib' +grub_target_objconf='' +grub_target_obj2elf='' +grub_target_img_base_ldopt='-Wl,-Ttext' +grub_target_img_ldflags='@TARGET_IMG_BASE_LDFLAGS@' + +# Version +grub_version="2.04~manjaro" +grub_package="grub" +grub_package_string="GRUB 2.04~manjaro" +grub_package_version="2.04~manjaro" +grub_package_name="GRUB" +grub_package_bugreport="bug-grub@gnu.org" diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/morse.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/morse.mod new file mode 100644 index 0000000000000000000000000000000000000000..87b3ddfc7b85698fa5337bf91d562ecde03ebf34 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/morse.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/mpi.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/mpi.mod new file mode 100644 index 0000000000000000000000000000000000000000..e28f4f14be4656da17d532a410d1aefb0da94030 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/mpi.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/msdospart.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/msdospart.mod new file mode 100644 index 0000000000000000000000000000000000000000..8c6edbf739a40943cd655ada1df9d3d522c64bfe Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/msdospart.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/mul_test.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/mul_test.mod new file mode 100644 index 0000000000000000000000000000000000000000..a2d589ec2dbfe61806d033979fb3d29a99e316c9 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/mul_test.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/multiboot.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/multiboot.mod new file mode 100644 index 0000000000000000000000000000000000000000..0e9ec9ff7e75a4cafc20d72946b608f729654ea9 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/multiboot.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/multiboot2.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/multiboot2.mod new file mode 100644 index 0000000000000000000000000000000000000000..b39b455c90f07db9baf3f5aee19296a47be94076 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/multiboot2.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/nativedisk.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/nativedisk.mod new file mode 100644 index 0000000000000000000000000000000000000000..134fe2507a0f16bbefb10496e51a267feb58ab9d Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/nativedisk.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/net.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/net.mod new file mode 100644 index 0000000000000000000000000000000000000000..3df0203bd448cc951644a6af76e87640e5c285b6 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/net.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/newc.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/newc.mod new file mode 100644 index 0000000000000000000000000000000000000000..24a500e4980843542c361db2cb85a39dd719065c Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/newc.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/nilfs2.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/nilfs2.mod new file mode 100644 index 0000000000000000000000000000000000000000..ef1a9e16990a539c3b117f95e7801e215cdedf7f Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/nilfs2.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/normal.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/normal.mod new file mode 100644 index 0000000000000000000000000000000000000000..d97f2731e28f1be6d2f068f4d3f6401789cf9a90 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/normal.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/ntfs.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/ntfs.mod new file mode 100644 index 0000000000000000000000000000000000000000..767ee78fae677eaab420d9d45873f722b97f5ba9 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/ntfs.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/ntfscomp.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/ntfscomp.mod new file mode 100644 index 0000000000000000000000000000000000000000..73367c266311b4b70c64191b7fee91df04722005 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/ntfscomp.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/ntldr.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/ntldr.mod new file mode 100644 index 0000000000000000000000000000000000000000..e26e832c16f29fa38bcc9072871ffc74a7424d0a Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/ntldr.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/odc.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/odc.mod new file mode 100644 index 0000000000000000000000000000000000000000..f7a2524500353274bc7e15fa361e29f80c64cceb Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/odc.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/offsetio.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/offsetio.mod new file mode 100644 index 0000000000000000000000000000000000000000..512b183719b482ba90f341b6da1bcfa9fb74a31f Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/offsetio.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/ohci.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/ohci.mod new file mode 100644 index 0000000000000000000000000000000000000000..a2dd1984c1512d769fcfc6ebf7b4fc588e4aee5f Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/ohci.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/part_acorn.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/part_acorn.mod new file mode 100644 index 0000000000000000000000000000000000000000..e708e182507c872491c0c16d6e95c1683129c323 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/part_acorn.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/part_amiga.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/part_amiga.mod new file mode 100644 index 0000000000000000000000000000000000000000..6d7c84c1a3a7fa2ac223b0f399ee4b710be84c88 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/part_amiga.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/part_apple.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/part_apple.mod new file mode 100644 index 0000000000000000000000000000000000000000..35de63a78595da8a9d5cd6d014db4d5dec4d77b9 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/part_apple.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/part_bsd.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/part_bsd.mod new file mode 100644 index 0000000000000000000000000000000000000000..9ca5d5b77f4357c4efd53a763fa13d3d2fed97cf Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/part_bsd.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/part_dfly.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/part_dfly.mod new file mode 100644 index 0000000000000000000000000000000000000000..6fed7d6693c21cb12124b3a1e1ffb14d78b322bb Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/part_dfly.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/part_dvh.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/part_dvh.mod new file mode 100644 index 0000000000000000000000000000000000000000..8232ca5e4970c5e87ab5bf23ef6cbc4d53e9be8f Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/part_dvh.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/part_gpt.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/part_gpt.mod new file mode 100644 index 0000000000000000000000000000000000000000..36d29795fc32d3ee7ced1739f2c15200592cad1e Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/part_gpt.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/part_msdos.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/part_msdos.mod new file mode 100644 index 0000000000000000000000000000000000000000..8964801df6a2d318cb2468843f566181af7b4fd0 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/part_msdos.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/part_plan.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/part_plan.mod new file mode 100644 index 0000000000000000000000000000000000000000..5f0a83970caeb17725a3a4a72514e30af9b04c37 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/part_plan.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/part_sun.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/part_sun.mod new file mode 100644 index 0000000000000000000000000000000000000000..ff3210d48f738f56ef67b00c0fd66982446fd7fb Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/part_sun.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/part_sunpc.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/part_sunpc.mod new file mode 100644 index 0000000000000000000000000000000000000000..58069adcc30e75d1a65a557ea34429d275820489 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/part_sunpc.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/partmap.lst b/bsp/x86/grub-2.04/boot/grub/i386-pc/partmap.lst new file mode 100644 index 0000000000000000000000000000000000000000..761233aa26765d4bb746b00ff5a1715158c5a07e --- /dev/null +++ b/bsp/x86/grub-2.04/boot/grub/i386-pc/partmap.lst @@ -0,0 +1,11 @@ +part_acorn +part_amiga +part_apple +part_bsd +part_dfly +part_dvh +part_gpt +part_msdos +part_plan +part_sun +part_sunpc diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/parttool.lst b/bsp/x86/grub-2.04/boot/grub/i386-pc/parttool.lst new file mode 100644 index 0000000000000000000000000000000000000000..68b4b5c453c586af96c276e4f9d7620a3bc39e0f --- /dev/null +++ b/bsp/x86/grub-2.04/boot/grub/i386-pc/parttool.lst @@ -0,0 +1 @@ +msdos: msdospart diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/parttool.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/parttool.mod new file mode 100644 index 0000000000000000000000000000000000000000..6d90839dd27b2a379893caef9c2386e68b9ace83 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/parttool.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/password.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/password.mod new file mode 100644 index 0000000000000000000000000000000000000000..f188cd6ac0897eea528ab2dd1022eda4f08da847 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/password.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/password_pbkdf2.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/password_pbkdf2.mod new file mode 100644 index 0000000000000000000000000000000000000000..6dcd49205cf8f1de6bc92a0dccb3c4f081b30bad Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/password_pbkdf2.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/pata.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/pata.mod new file mode 100644 index 0000000000000000000000000000000000000000..133f6e08e0602b51c5370c2dedcbf0038e06f2fe Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/pata.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/pbkdf2.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/pbkdf2.mod new file mode 100644 index 0000000000000000000000000000000000000000..a1d9b7aba2ef835a03b03319544079eeccc213e0 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/pbkdf2.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/pbkdf2_test.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/pbkdf2_test.mod new file mode 100644 index 0000000000000000000000000000000000000000..9f8b39e3f64b5356cc0e872d781d063d52213191 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/pbkdf2_test.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/pci.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/pci.mod new file mode 100644 index 0000000000000000000000000000000000000000..96e1682b45401e11e890765ef1d8842026adb0f2 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/pci.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/pcidump.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/pcidump.mod new file mode 100644 index 0000000000000000000000000000000000000000..2d9d9480695964d9f419b4b6e5e3de6136b8017e Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/pcidump.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/pgp.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/pgp.mod new file mode 100644 index 0000000000000000000000000000000000000000..3c7e359bc155cd98140ad98263b25dab1e0fae02 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/pgp.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/plan9.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/plan9.mod new file mode 100644 index 0000000000000000000000000000000000000000..f92c6f93b23692c1eba5470290acebd4b8bd3c90 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/plan9.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/play.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/play.mod new file mode 100644 index 0000000000000000000000000000000000000000..cdb6dcc54cf2fe978f9553a8c1dcfe0a2fc4a6cc Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/play.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/png.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/png.mod new file mode 100644 index 0000000000000000000000000000000000000000..f5a8039b5adf4e6381f34c6926134cb84c42157d Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/png.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/priority_queue.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/priority_queue.mod new file mode 100644 index 0000000000000000000000000000000000000000..151a6fbc742362328aef349a69ddd3a6b4e58712 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/priority_queue.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/probe.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/probe.mod new file mode 100644 index 0000000000000000000000000000000000000000..8c8b2dd19215423ba1a3cca0e1f8148702cb9526 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/probe.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/procfs.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/procfs.mod new file mode 100644 index 0000000000000000000000000000000000000000..0ef71259710256af9c31ae1494ad53eff7c907c3 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/procfs.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/progress.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/progress.mod new file mode 100644 index 0000000000000000000000000000000000000000..857b9c44116a545b2f26fbf9ae658e3777eea4e1 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/progress.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/pxe.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/pxe.mod new file mode 100644 index 0000000000000000000000000000000000000000..52f4a9e1dde02eb2f1258aa97d59a6c380c5a77e Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/pxe.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/pxeboot.img b/bsp/x86/grub-2.04/boot/grub/i386-pc/pxeboot.img new file mode 100644 index 0000000000000000000000000000000000000000..42b3f356b2bef689ba3b6450fd7adc88c3e3af34 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/pxeboot.img differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/pxechain.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/pxechain.mod new file mode 100644 index 0000000000000000000000000000000000000000..8d474658e805b0dd6ce79942d12b5214d05e871f Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/pxechain.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/raid5rec.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/raid5rec.mod new file mode 100644 index 0000000000000000000000000000000000000000..35b22e307c6fefe932954adf7825ff9145503119 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/raid5rec.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/raid6rec.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/raid6rec.mod new file mode 100644 index 0000000000000000000000000000000000000000..30bd7ca657cee94c860b1bfcbdf6d57133888c8d Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/raid6rec.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/random.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/random.mod new file mode 100644 index 0000000000000000000000000000000000000000..b3be02a3f16c73e0d941a80b296fff8481df06ce Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/random.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/rdmsr.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/rdmsr.mod new file mode 100644 index 0000000000000000000000000000000000000000..0280470bde40fb7e7e2ab2d903ab7fd49060cf3f Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/rdmsr.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/read.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/read.mod new file mode 100644 index 0000000000000000000000000000000000000000..55bb5b853073a64715142301961067e78fd2a316 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/read.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/reboot.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/reboot.mod new file mode 100644 index 0000000000000000000000000000000000000000..6a5b8785db451f561a1502a3a2c3f8f91bd5a913 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/reboot.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/regexp.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/regexp.mod new file mode 100644 index 0000000000000000000000000000000000000000..86cf31248be6e9bef49536c5c820e4ffc9a2d3a1 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/regexp.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/reiserfs.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/reiserfs.mod new file mode 100644 index 0000000000000000000000000000000000000000..a0ff9877a424248344d3aa0aba3e66a2a50c4b3e Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/reiserfs.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/relocator.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/relocator.mod new file mode 100644 index 0000000000000000000000000000000000000000..8ebd854fefcfebbafaed298f194a884419158df5 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/relocator.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/romfs.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/romfs.mod new file mode 100644 index 0000000000000000000000000000000000000000..a8481e8a43059111047f0e8db67aca68065dd222 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/romfs.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/scsi.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/scsi.mod new file mode 100644 index 0000000000000000000000000000000000000000..eb041ebe48f82640768c9157c8e0e1d7354f8540 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/scsi.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/search.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/search.mod new file mode 100644 index 0000000000000000000000000000000000000000..e6edf76024bef40896f6833ca5b24f3f51d4573d Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/search.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/search_fs_file.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/search_fs_file.mod new file mode 100644 index 0000000000000000000000000000000000000000..d985264687ef90dcc9ff95295419fedfb58b82e5 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/search_fs_file.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/search_fs_uuid.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/search_fs_uuid.mod new file mode 100644 index 0000000000000000000000000000000000000000..2c56a41dd9d3f78b0fb98c422196abf06f2ba9aa Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/search_fs_uuid.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/search_label.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/search_label.mod new file mode 100644 index 0000000000000000000000000000000000000000..605fa9a799cb191cfa9fd8a4ad3c108982bca0af Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/search_label.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/sendkey.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/sendkey.mod new file mode 100644 index 0000000000000000000000000000000000000000..28b40390692007852b71a1ca096742f23f388697 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/sendkey.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/serial.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/serial.mod new file mode 100644 index 0000000000000000000000000000000000000000..09aecf46d8471c06cd4b383d1816c5331fd2bd3a Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/serial.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/setjmp.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/setjmp.mod new file mode 100644 index 0000000000000000000000000000000000000000..2d35023baca35e8b75103a9a85ce77577b0b8338 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/setjmp.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/setjmp_test.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/setjmp_test.mod new file mode 100644 index 0000000000000000000000000000000000000000..3776a08b28cc36d11e27743e6c0d9ea0786aac80 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/setjmp_test.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/setpci.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/setpci.mod new file mode 100644 index 0000000000000000000000000000000000000000..ba9f41acf3b0b3ef4704b14abc9e7a723f77e3e6 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/setpci.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/sfs.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/sfs.mod new file mode 100644 index 0000000000000000000000000000000000000000..e4b78dcc7b5a169dbad886dddfcad8288f953f0a Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/sfs.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/shift_test.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/shift_test.mod new file mode 100644 index 0000000000000000000000000000000000000000..7b557add23b50ab8551711e7cfbdc0942c45ba21 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/shift_test.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/signature_test.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/signature_test.mod new file mode 100644 index 0000000000000000000000000000000000000000..585aecce4a2144fafea051ef242dd5f901811ac7 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/signature_test.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/sleep.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/sleep.mod new file mode 100644 index 0000000000000000000000000000000000000000..ce4b49d0f1ea7d08f8b9587856945571d52afac5 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/sleep.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/sleep_test.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/sleep_test.mod new file mode 100644 index 0000000000000000000000000000000000000000..452d92a70662dd8a43602c18a678ddb208cdc556 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/sleep_test.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/smbios.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/smbios.mod new file mode 100644 index 0000000000000000000000000000000000000000..00481c381483f30eeb4a0422cb9fe5cfacc4c860 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/smbios.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/spkmodem.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/spkmodem.mod new file mode 100644 index 0000000000000000000000000000000000000000..46a945ff86193bcf8eb236791f03c9cf7703b5dd Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/spkmodem.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/squash4.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/squash4.mod new file mode 100644 index 0000000000000000000000000000000000000000..f04e9087cc5efd59aa20f0152283ab11d193d7ab Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/squash4.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/strtoull_test.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/strtoull_test.mod new file mode 100644 index 0000000000000000000000000000000000000000..79c5d447c1b1768ffdba9c04e12683e8147d9023 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/strtoull_test.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/syslinuxcfg.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/syslinuxcfg.mod new file mode 100644 index 0000000000000000000000000000000000000000..fd98f7f64369abf7fb3f4f71e866584d3e9cb2ee Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/syslinuxcfg.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/tar.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/tar.mod new file mode 100644 index 0000000000000000000000000000000000000000..7b5977598bbebdd25422758959744d7b5a103061 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/tar.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/terminal.lst b/bsp/x86/grub-2.04/boot/grub/i386-pc/terminal.lst new file mode 100644 index 0000000000000000000000000000000000000000..2cb224c4d138da131ea79120bc32a50f275c35fa --- /dev/null +++ b/bsp/x86/grub-2.04/boot/grub/i386-pc/terminal.lst @@ -0,0 +1,11 @@ +iat_keyboard: at_keyboard +iserial: serial +iserial_*: serial +oaudio: morse +ocbmemc: cbmemc +ogfxterm: gfxterm +omda_text: mda_text +oserial: serial +oserial_*: serial +ospkmodem: spkmodem +ovga_text: vga_text diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/terminal.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/terminal.mod new file mode 100644 index 0000000000000000000000000000000000000000..a91ca02b0df87aabc5d534bb48f3c6ce77864396 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/terminal.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/terminfo.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/terminfo.mod new file mode 100644 index 0000000000000000000000000000000000000000..599f0782a516737d26dee10be9f2669827cea376 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/terminfo.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/test.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/test.mod new file mode 100644 index 0000000000000000000000000000000000000000..ac567f27de223ed695898227bd9b057a0b1d5efd Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/test.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/test_blockarg.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/test_blockarg.mod new file mode 100644 index 0000000000000000000000000000000000000000..b560c6ae006f9063e9aa3e212823e93ca5a7ff26 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/test_blockarg.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/testload.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/testload.mod new file mode 100644 index 0000000000000000000000000000000000000000..3ba05eafc4f1939b8449ceaf875c5ca3d9ee28dd Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/testload.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/testspeed.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/testspeed.mod new file mode 100644 index 0000000000000000000000000000000000000000..246bb3dfe3beba5428cc38637d86eab8109ec071 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/testspeed.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/tftp.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/tftp.mod new file mode 100644 index 0000000000000000000000000000000000000000..87a1e926f20d6b9fc15c00cfd446d5574349632f Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/tftp.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/tga.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/tga.mod new file mode 100644 index 0000000000000000000000000000000000000000..2c6bcf196ef81eba180888da8a2ea1e5a678338b Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/tga.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/time.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/time.mod new file mode 100644 index 0000000000000000000000000000000000000000..f815b0d67f4aa515ace5aa5ba57e550cfd49335e Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/time.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/tr.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/tr.mod new file mode 100644 index 0000000000000000000000000000000000000000..f47da93bf78148d28638975218602f1851d4288d Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/tr.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/trig.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/trig.mod new file mode 100644 index 0000000000000000000000000000000000000000..b58e3458acfccc10f50645c73e145f5da0bcb5db Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/trig.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/true.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/true.mod new file mode 100644 index 0000000000000000000000000000000000000000..41ab2af6d767e67d6751e02fc9562be99876ac31 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/true.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/truecrypt.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/truecrypt.mod new file mode 100644 index 0000000000000000000000000000000000000000..58ae7b5a07ec2dae45aa3d5d8703d2291b3397ed Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/truecrypt.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/udf.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/udf.mod new file mode 100644 index 0000000000000000000000000000000000000000..61bddb0bf6938fa9c8ce607aa080efb892417976 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/udf.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/ufs1.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/ufs1.mod new file mode 100644 index 0000000000000000000000000000000000000000..fc7bd418d4888bceb1c293168241c0e676d1b3e7 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/ufs1.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/ufs1_be.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/ufs1_be.mod new file mode 100644 index 0000000000000000000000000000000000000000..6bd09e5d01a17c4eb5067ebbaa067ecc282cc54e Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/ufs1_be.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/ufs2.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/ufs2.mod new file mode 100644 index 0000000000000000000000000000000000000000..3caf46eb387f9deb3872d85ae43d2eddfe4cf632 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/ufs2.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/uhci.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/uhci.mod new file mode 100644 index 0000000000000000000000000000000000000000..150ad5f487b1f8e09e5ce253a7f13fe43f4b05ba Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/uhci.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/usb.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/usb.mod new file mode 100644 index 0000000000000000000000000000000000000000..e508dd0569e9fd4539b70b8fe7b84f447da4b5e6 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/usb.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/usb_keyboard.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/usb_keyboard.mod new file mode 100644 index 0000000000000000000000000000000000000000..afa7e1f3fc0c3537f9ff18e5eed743a6f496c819 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/usb_keyboard.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/usbms.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/usbms.mod new file mode 100644 index 0000000000000000000000000000000000000000..4c21f48e577af0735a3fbfe834faf2a715b5c702 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/usbms.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/usbserial_common.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/usbserial_common.mod new file mode 100644 index 0000000000000000000000000000000000000000..3fabb45276aa4adbc17bb04d901a874328a2fe7f Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/usbserial_common.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/usbserial_ftdi.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/usbserial_ftdi.mod new file mode 100644 index 0000000000000000000000000000000000000000..d6afa9eba1bdf401a588af76d0002e044edfb624 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/usbserial_ftdi.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/usbserial_pl2303.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/usbserial_pl2303.mod new file mode 100644 index 0000000000000000000000000000000000000000..f8e90f7eff66c24b758d426f9a4c81443c584708 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/usbserial_pl2303.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/usbserial_usbdebug.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/usbserial_usbdebug.mod new file mode 100644 index 0000000000000000000000000000000000000000..40b5d666bac52bf50360420b21211ece5ef77978 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/usbserial_usbdebug.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/usbtest.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/usbtest.mod new file mode 100644 index 0000000000000000000000000000000000000000..7145192d218e857b897b1d250dd9c11e0a1241a6 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/usbtest.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/vbe.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/vbe.mod new file mode 100644 index 0000000000000000000000000000000000000000..ea19e40d7109668eac2b2816e567b9e9334a6359 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/vbe.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/verifiers.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/verifiers.mod new file mode 100644 index 0000000000000000000000000000000000000000..f672013411e6bda91f3f3fcf5f289af2a88359e2 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/verifiers.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/vga.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/vga.mod new file mode 100644 index 0000000000000000000000000000000000000000..79f85e4b0c71f79af034fe5f6a2e73dbc7360744 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/vga.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/vga_text.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/vga_text.mod new file mode 100644 index 0000000000000000000000000000000000000000..49ebbaf5caba524f7c59209191c49b652aac4f8e Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/vga_text.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/video.lst b/bsp/x86/grub-2.04/boot/grub/i386-pc/video.lst new file mode 100644 index 0000000000000000000000000000000000000000..6ca853e651771c2197dbb1b65d349277a529c795 --- /dev/null +++ b/bsp/x86/grub-2.04/boot/grub/i386-pc/video.lst @@ -0,0 +1,4 @@ +vbe +vga +video_bochs +video_cirrus diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/video.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/video.mod new file mode 100644 index 0000000000000000000000000000000000000000..6b8ca433895502145f2b4c04fca4c3e0788ce3bb Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/video.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/video_bochs.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/video_bochs.mod new file mode 100644 index 0000000000000000000000000000000000000000..33b2fd18b53a0e4244dcf90d57a4a5aecaf8c5d1 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/video_bochs.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/video_cirrus.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/video_cirrus.mod new file mode 100644 index 0000000000000000000000000000000000000000..cd912e090bd9cecea6790f2d0b1241a9d91a54aa Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/video_cirrus.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/video_colors.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/video_colors.mod new file mode 100644 index 0000000000000000000000000000000000000000..ae862b4d5bdd77afeaceee6463ac567361a956e7 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/video_colors.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/video_fb.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/video_fb.mod new file mode 100644 index 0000000000000000000000000000000000000000..9c3125962f5391ba0eb7083a66e0b95950ab1de3 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/video_fb.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/videoinfo.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/videoinfo.mod new file mode 100644 index 0000000000000000000000000000000000000000..ae267a6e667db408b5fda7b4280c90427fab239b Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/videoinfo.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/videotest.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/videotest.mod new file mode 100644 index 0000000000000000000000000000000000000000..cd6006a4b3ce406762bde55e6748c2fcdfa45e30 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/videotest.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/videotest_checksum.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/videotest_checksum.mod new file mode 100644 index 0000000000000000000000000000000000000000..1024d8f87678d7e0edbbb24e8c87ea77b33d6774 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/videotest_checksum.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/wrmsr.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/wrmsr.mod new file mode 100644 index 0000000000000000000000000000000000000000..809d5a198f081b40fee7534f5c5f3fae19de8c84 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/wrmsr.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/xfs.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/xfs.mod new file mode 100644 index 0000000000000000000000000000000000000000..ae631462cbf5ac76d11b9ca4a50517bf29323c29 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/xfs.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/xnu.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/xnu.mod new file mode 100644 index 0000000000000000000000000000000000000000..2a13811eefa92610d2128bfbabbad5e683061cc8 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/xnu.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/xnu_uuid.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/xnu_uuid.mod new file mode 100644 index 0000000000000000000000000000000000000000..1f5baa59b33b207427af61b29bbc91754399bf92 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/xnu_uuid.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/xnu_uuid_test.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/xnu_uuid_test.mod new file mode 100644 index 0000000000000000000000000000000000000000..e78db205d4de847bdecd2e47c0179e6e7b073f57 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/xnu_uuid_test.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/xzio.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/xzio.mod new file mode 100644 index 0000000000000000000000000000000000000000..8bbe58395744a0e5d245c7dee58b8aa34ba9b22e Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/xzio.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/zfs.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/zfs.mod new file mode 100644 index 0000000000000000000000000000000000000000..c42fe9b4d12ed894bd9a8a32ccf2987500ce38d1 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/zfs.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/zfscrypt.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/zfscrypt.mod new file mode 100644 index 0000000000000000000000000000000000000000..44dfd4d655aa407dc919d64feccdf298b9e824cc Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/zfscrypt.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/zfsinfo.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/zfsinfo.mod new file mode 100644 index 0000000000000000000000000000000000000000..bd0e77cf71bb4f61deec75585bd82e324e898881 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/zfsinfo.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/i386-pc/zstd.mod b/bsp/x86/grub-2.04/boot/grub/i386-pc/zstd.mod new file mode 100644 index 0000000000000000000000000000000000000000..29b81558fc86e78804694a7fbd671964f3f1764f Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/i386-pc/zstd.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/kernels.cfg b/bsp/x86/grub-2.04/boot/grub/kernels.cfg new file mode 100644 index 0000000000000000000000000000000000000000..c750068fe0156f8c1bb8116939013b48489da36b --- /dev/null +++ b/bsp/x86/grub-2.04/boot/grub/kernels.cfg @@ -0,0 +1,2 @@ +multiboot2 /boot/rtthread.elf +boot diff --git a/bsp/x86/grub-2.04/boot/grub/variable.cfg b/bsp/x86/grub-2.04/boot/grub/variable.cfg new file mode 100644 index 0000000000000000000000000000000000000000..3cbad0e91c791efb7df14d3e64c72a0b03504926 --- /dev/null +++ b/bsp/x86/grub-2.04/boot/grub/variable.cfg @@ -0,0 +1,2 @@ +grub_theme=/boot/grub/themes/RTT-Smart/theme.txt +timeout=10 diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/acpi.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/acpi.mod new file mode 100644 index 0000000000000000000000000000000000000000..b4d9b5ad881bdc864d4ce4b1f043fc4a0cad5895 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/acpi.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/adler32.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/adler32.mod new file mode 100644 index 0000000000000000000000000000000000000000..e99c0bea2dfb6ebb480629fea5e5e3ab267cf16e Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/adler32.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/affs.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/affs.mod new file mode 100644 index 0000000000000000000000000000000000000000..0b6e4c5e310b2a76371c1c45c97de044f9090fe1 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/affs.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/afs.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/afs.mod new file mode 100644 index 0000000000000000000000000000000000000000..76fdda5bfeb985aeaa11bf2ffd4195bd91821089 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/afs.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/ahci.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/ahci.mod new file mode 100644 index 0000000000000000000000000000000000000000..b6699e560063a8bab4fa3b31b0db30e342c4fab7 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/ahci.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/all_video.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/all_video.mod new file mode 100644 index 0000000000000000000000000000000000000000..100483fc5408ff76b3cdc29abc6f6b2299a5ff5b Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/all_video.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/aout.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/aout.mod new file mode 100644 index 0000000000000000000000000000000000000000..16b8aad921be850d7266c2a2640b52f291e27da3 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/aout.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/appleldr.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/appleldr.mod new file mode 100644 index 0000000000000000000000000000000000000000..dcd40d2b87fd87ce9f85b8f2714a2cd5463a2388 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/appleldr.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/archelp.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/archelp.mod new file mode 100644 index 0000000000000000000000000000000000000000..5435ba737f73970a918be79da1412a57fe19929e Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/archelp.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/at_keyboard.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/at_keyboard.mod new file mode 100644 index 0000000000000000000000000000000000000000..fe249c57f9233c3a0b9aa824b2dc10420d4751cc Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/at_keyboard.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/ata.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/ata.mod new file mode 100644 index 0000000000000000000000000000000000000000..067441d6cc29c938fdc065f7ca6fe44b2ed6a97d Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/ata.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/backtrace.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/backtrace.mod new file mode 100644 index 0000000000000000000000000000000000000000..2b2d4ba56d152fac023f7cf94cb364e50f8ad5dd Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/backtrace.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/bfs.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/bfs.mod new file mode 100644 index 0000000000000000000000000000000000000000..b26fff7feec5218c7f22079f5cc6d57fb2816b0e Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/bfs.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/bitmap.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/bitmap.mod new file mode 100644 index 0000000000000000000000000000000000000000..7fbf45010f0bca45b864a9ef22dc1aee6fcd7fd9 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/bitmap.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/bitmap_scale.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/bitmap_scale.mod new file mode 100644 index 0000000000000000000000000000000000000000..91ee9c57dbeb39163080a845291792f51d8e8e1e Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/bitmap_scale.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/blocklist.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/blocklist.mod new file mode 100644 index 0000000000000000000000000000000000000000..8b5526fe8d9165f7881e9a469bcf826d726dcac8 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/blocklist.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/boot.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/boot.mod new file mode 100644 index 0000000000000000000000000000000000000000..6e1f293a68708da138bddd9e167e018e47ace0eb Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/boot.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/boottime.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/boottime.mod new file mode 100644 index 0000000000000000000000000000000000000000..7882cc71a7c774ea69d4b6d28d17b19b0c5493e6 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/boottime.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/bsd.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/bsd.mod new file mode 100644 index 0000000000000000000000000000000000000000..b3cddbeec980daf066a5f52030606a3900eafa8f Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/bsd.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/bswap_test.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/bswap_test.mod new file mode 100644 index 0000000000000000000000000000000000000000..fd5a91731ba3e0692052c282877fd0ca313b3539 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/bswap_test.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/btrfs.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/btrfs.mod new file mode 100644 index 0000000000000000000000000000000000000000..51584183aaf9bdc4ee2b83dec60e9b3be0cece8a Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/btrfs.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/bufio.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/bufio.mod new file mode 100644 index 0000000000000000000000000000000000000000..8b1553814e2e30e6cf83fa8ace2df7fb71611de5 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/bufio.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/cacheinfo.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/cacheinfo.mod new file mode 100644 index 0000000000000000000000000000000000000000..7c3615a1a4f75bd50345ad7d9a1a6a15fd411efd Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/cacheinfo.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/cat.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/cat.mod new file mode 100644 index 0000000000000000000000000000000000000000..8f525ebc8ea492c7a8f291bdf0298126947a4a4a Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/cat.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/cbfs.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/cbfs.mod new file mode 100644 index 0000000000000000000000000000000000000000..d919f859ddf5c01ec1b605c3e79038421c48e48c Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/cbfs.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/cbls.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/cbls.mod new file mode 100644 index 0000000000000000000000000000000000000000..b30879fef85b47179e945250e3b27241d5978e5c Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/cbls.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/cbmemc.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/cbmemc.mod new file mode 100644 index 0000000000000000000000000000000000000000..af38377e4f1c5c59bdd12a63043c17dbd32c1cc1 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/cbmemc.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/cbtable.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/cbtable.mod new file mode 100644 index 0000000000000000000000000000000000000000..3dfe1f78da2d3b2a1fcdd5f28ceff73455eb9943 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/cbtable.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/cbtime.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/cbtime.mod new file mode 100644 index 0000000000000000000000000000000000000000..d92db61b7df261a933a914f6f7a0591859fbcd1e Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/cbtime.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/chain.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/chain.mod new file mode 100644 index 0000000000000000000000000000000000000000..1b9e7e73f83ee29642040c6b86a419310ca1fd66 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/chain.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/cmdline_cat_test.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/cmdline_cat_test.mod new file mode 100644 index 0000000000000000000000000000000000000000..704217fea4f69212109c579bdac240fe5229314e Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/cmdline_cat_test.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/cmp.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/cmp.mod new file mode 100644 index 0000000000000000000000000000000000000000..66ca6932b77dda4eca2671076e5e5daf45ded34b Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/cmp.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/cmp_test.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/cmp_test.mod new file mode 100644 index 0000000000000000000000000000000000000000..a2651f3bc4df92a522dd9de654e6dda5cb4af8d1 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/cmp_test.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/command.lst b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/command.lst new file mode 100644 index 0000000000000000000000000000000000000000..cc6893948a570494504194c6b945f2f336c13bde --- /dev/null +++ b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/command.lst @@ -0,0 +1,193 @@ +*acpi: acpi +*all_functional_test: functional_test +*background_image: gfxterm_background +*cat: cat +*cpuid: cpuid +*crc: hashsum +*cryptomount: cryptodisk +*echo: echo +*extract_syslinux_entries_configfile: syslinuxcfg +*extract_syslinux_entries_source: syslinuxcfg +*file: file +*functional_test: functional_test +*gettext: gettext +*hashsum: hashsum +*hdparm: hdparm +*hello: hello +*help: help +*hexdump: hexdump +*inb: iorw +*inl: iorw +*inw: iorw +*keystatus: keystatus +*kfreebsd: bsd +*knetbsd: bsd +*kopenbsd: bsd +*list_env: loadenv +*load_env: loadenv +*loopback: loopback +*ls: ls +*lsacpi: lsacpi +*lspci: lspci +*md5sum: hashsum +*menuentry: normal +*pcidump: pcidump +*probe: probe +*rdmsr: rdmsr +*read_byte: memrw +*read_dword: memrw +*read_word: memrw +*regexp: regexp +*save_env: loadenv +*search: search +*serial: serial +*setpci: setpci +*sha1sum: hashsum +*sha256sum: hashsum +*sha512sum: hashsum +*sleep: sleep +*smbios: smbios +*submenu: normal +*syslinux_configfile: syslinuxcfg +*syslinux_source: syslinuxcfg +*terminfo: terminfo +*test_blockarg: test_blockarg +*testspeed: testspeed +*tr: tr +*trust: pgp +*verify_detached: pgp +*xnu_splash: xnu +*zfskey: zfscrypt +.: configfile +[: test +appleloader: appleldr +authenticate: normal +background_color: gfxterm_background +backtrace: backtrace +badram: mmap +blocklist: blocklist +boot: boot +boottime: boottime +break: normal +cacheinfo: cacheinfo +cat: minicmd +cbmemc: cbmemc +chainloader: chain +clear: normal +cmp: cmp +configfile: configfile +continue: normal +coreboot_boottime: cbtime +cutmem: mmap +date: date +distrust: pgp +dump: minicmd +eval: eval +exit: minicmd +export: normal +extract_entries_configfile: configfile +extract_entries_source: configfile +extract_legacy_entries_configfile: legacycfg +extract_legacy_entries_source: legacycfg +fakebios: loadbios +false: true +fix_video: fixvideo +fwsetup: efifwsetup +gptsync: gptsync +halt: halt +help: minicmd +hexdump_random: random +initrd16: linux16 +initrd: linux +keymap: keylayouts +kfreebsd_loadenv: bsd +kfreebsd_module: bsd +kfreebsd_module_elf: bsd +knetbsd_module: bsd +knetbsd_module_elf: bsd +kopenbsd_ramdisk: bsd +legacy_check_password: legacycfg +legacy_configfile: legacycfg +legacy_initrd: legacycfg +legacy_initrd_nounzip: legacycfg +legacy_kernel: legacycfg +legacy_password: legacycfg +legacy_source: legacycfg +linux16: linux16 +linux: linux +list_trusted: pgp +loadbios: loadbios +loadfont: font +lscoreboot: cbls +lsefi: lsefi +lsefimmap: lsefimmap +lsefisystab: lsefisystab +lsfonts: font +lsmmap: lsmmap +lsmod: minicmd +lssal: lssal +macppcbless: macbless +mactelbless: macbless +module2: multiboot2 +module: multiboot +multiboot2: multiboot2 +multiboot: multiboot +nativedisk: nativedisk +net_add_addr: net +net_add_dns: net +net_add_route: net +net_bootp: net +net_del_addr: net +net_del_dns: net +net_del_route: net +net_dhcp: net +net_get_dhcp_option: net +net_ipv6_autoconf: net +net_ls_addr: net +net_ls_cards: net +net_ls_dns: net +net_ls_routes: net +net_nslookup: net +normal: normal +normal_exit: normal +outb: iorw +outl: iorw +outw: iorw +parttool: parttool +password: password +password_pbkdf2: password_pbkdf2 +play: play +read: read +reboot: reboot +return: normal +rmmod: minicmd +search.file: search_fs_file +search.fs_label: search_label +search.fs_uuid: search_fs_uuid +setparams: normal +shift: normal +source: configfile +terminal_input: terminal +terminal_output: terminal +test: test +testload: testload +time: time +true: true +usb: usbtest +videoinfo: videoinfo +videotest: videotest +write_byte: memrw +write_dword: memrw +write_word: memrw +wrmsr: wrmsr +xnu_devprop_load: xnu +xnu_kernel64: xnu +xnu_kernel: xnu +xnu_kext: xnu +xnu_kextdir: xnu +xnu_mkext: xnu +xnu_ramdisk: xnu +xnu_resume: xnu +xnu_uuid: xnu_uuid +zfs-bootfs: zfsinfo +zfsinfo: zfsinfo diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/configfile.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/configfile.mod new file mode 100644 index 0000000000000000000000000000000000000000..64c20462f09dbbd4f13b53de6d493e0714f1056a Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/configfile.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/cpio.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/cpio.mod new file mode 100644 index 0000000000000000000000000000000000000000..e15a050a1824c45004096167018f47d66f9c5a69 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/cpio.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/cpio_be.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/cpio_be.mod new file mode 100644 index 0000000000000000000000000000000000000000..0fdebfcede3a92f14f4112a0e48e59a4726d5f9f Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/cpio_be.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/cpuid.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/cpuid.mod new file mode 100644 index 0000000000000000000000000000000000000000..bd2f3b9eb9de17596844c2db4e32d91bad9c3fc8 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/cpuid.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/crc.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/crc.mod new file mode 100644 index 0000000000000000000000000000000000000000..ab550636fbdc5579d830f08c8f1cc0dd36c285a4 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/crc.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/crc64.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/crc64.mod new file mode 100644 index 0000000000000000000000000000000000000000..09fc5d70fd8d87c6413ec516e68f3f0f3f64d981 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/crc64.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/crypto.lst b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/crypto.lst new file mode 100644 index 0000000000000000000000000000000000000000..77d9efc01a4371a136c3330355aa68b0368e65c9 --- /dev/null +++ b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/crypto.lst @@ -0,0 +1,45 @@ +RIJNDAEL: gcry_rijndael +RIJNDAEL192: gcry_rijndael +RIJNDAEL256: gcry_rijndael +AES128: gcry_rijndael +AES-128: gcry_rijndael +AES-192: gcry_rijndael +AES-256: gcry_rijndael +ADLER32: adler32 +CRC64: crc64 +ARCFOUR: gcry_arcfour +BLOWFISH: gcry_blowfish +CAMELLIA128: gcry_camellia +CAMELLIA192: gcry_camellia +CAMELLIA256: gcry_camellia +CAST5: gcry_cast5 +CRC32: gcry_crc +CRC32RFC1510: gcry_crc +CRC24RFC2440: gcry_crc +DES: gcry_des +3DES: gcry_des +DSA: gcry_dsa +IDEA: gcry_idea +MD4: gcry_md4 +MD5: gcry_md5 +RFC2268_40: gcry_rfc2268 +AES: gcry_rijndael +AES192: gcry_rijndael +AES256: gcry_rijndael +RIPEMD160: gcry_rmd160 +RSA: gcry_rsa +SEED: gcry_seed +SERPENT128: gcry_serpent +SERPENT192: gcry_serpent +SERPENT256: gcry_serpent +SHA1: gcry_sha1 +SHA224: gcry_sha256 +SHA256: gcry_sha256 +SHA512: gcry_sha512 +SHA384: gcry_sha512 +TIGER192: gcry_tiger +TIGER: gcry_tiger +TIGER2: gcry_tiger +TWOFISH: gcry_twofish +TWOFISH128: gcry_twofish +WHIRLPOOL: gcry_whirlpool diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/crypto.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/crypto.mod new file mode 100644 index 0000000000000000000000000000000000000000..5ec543725954bd6841325c58f03c3edccb8180e4 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/crypto.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/cryptodisk.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/cryptodisk.mod new file mode 100644 index 0000000000000000000000000000000000000000..231a6505038b3bfea41b0448cd0f6b71597a4665 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/cryptodisk.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/cs5536.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/cs5536.mod new file mode 100644 index 0000000000000000000000000000000000000000..c76f86306a1a42946c033d70f42b68406992a0c5 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/cs5536.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/ctz_test.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/ctz_test.mod new file mode 100644 index 0000000000000000000000000000000000000000..e52975ddb067c95d8830d71c5e43ac87f2da77a4 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/ctz_test.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/date.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/date.mod new file mode 100644 index 0000000000000000000000000000000000000000..f26b13eeeee7a8d4e8df1b9d08d8a89d0680c6e5 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/date.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/datehook.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/datehook.mod new file mode 100644 index 0000000000000000000000000000000000000000..55ffca12111097f88c274552a2353aceae4082d7 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/datehook.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/datetime.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/datetime.mod new file mode 100644 index 0000000000000000000000000000000000000000..a3f4e501780e063815afd6d2ac27bb05b83a7a47 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/datetime.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/disk.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/disk.mod new file mode 100644 index 0000000000000000000000000000000000000000..e483d2fb7d6890cdc077865f8e143c646eff6a67 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/disk.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/diskfilter.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/diskfilter.mod new file mode 100644 index 0000000000000000000000000000000000000000..50402fed10149cdbcc5121d80f2a689880afcdb4 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/diskfilter.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/div.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/div.mod new file mode 100644 index 0000000000000000000000000000000000000000..c71e6a0181781bbb446bc238af9118371da87a9d Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/div.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/div_test.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/div_test.mod new file mode 100644 index 0000000000000000000000000000000000000000..194678dc7114f65ef5bcefa6977fafbf99699a60 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/div_test.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/dm_nv.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/dm_nv.mod new file mode 100644 index 0000000000000000000000000000000000000000..916a0013e6cd1cb2cc4bbc5916a16918f3155b98 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/dm_nv.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/echo.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/echo.mod new file mode 100644 index 0000000000000000000000000000000000000000..d69850188fb12c7919dee588524fe76ba60db3a3 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/echo.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/efi_gop.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/efi_gop.mod new file mode 100644 index 0000000000000000000000000000000000000000..80f5aa999e645bdb713536474d33cab8eff14a71 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/efi_gop.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/efi_uga.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/efi_uga.mod new file mode 100644 index 0000000000000000000000000000000000000000..360b63323f5d448d906770f4400c8c5eb9a14cc1 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/efi_uga.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/efifwsetup.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/efifwsetup.mod new file mode 100644 index 0000000000000000000000000000000000000000..147f51655f3cc7cbd15c8433b6202d3ff3b5b019 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/efifwsetup.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/efinet.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/efinet.mod new file mode 100644 index 0000000000000000000000000000000000000000..175bf3c1bf8ef9aa8c9def311fd2546cbfb3f295 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/efinet.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/ehci.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/ehci.mod new file mode 100644 index 0000000000000000000000000000000000000000..cc1d62ead9121d49929fc2073932c6c894cb359a Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/ehci.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/elf.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/elf.mod new file mode 100644 index 0000000000000000000000000000000000000000..0315f47bea7c9818321be4244832fc6eb85b67be Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/elf.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/eval.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/eval.mod new file mode 100644 index 0000000000000000000000000000000000000000..0eacedacc751c2c2c570e59376eec6caf2baf0fb Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/eval.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/exfat.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/exfat.mod new file mode 100644 index 0000000000000000000000000000000000000000..fa4135aec76d7c85773982158898206f9a126bce Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/exfat.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/exfctest.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/exfctest.mod new file mode 100644 index 0000000000000000000000000000000000000000..91d52f412c7e88460cb7b64b959e54e410142114 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/exfctest.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/ext2.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/ext2.mod new file mode 100644 index 0000000000000000000000000000000000000000..9402d62311fb64f7db2d793fce03e34e5c708225 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/ext2.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/extcmd.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/extcmd.mod new file mode 100644 index 0000000000000000000000000000000000000000..75607e17c9e079a79f736a3c33b86ce5c749f4a1 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/extcmd.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/f2fs.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/f2fs.mod new file mode 100644 index 0000000000000000000000000000000000000000..64be44a12218b9dc5f427154a6f4a5ff13f5e63a Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/f2fs.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/fat.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/fat.mod new file mode 100644 index 0000000000000000000000000000000000000000..6128fe55fdfd01a720845b3fb47dabf9debafa85 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/fat.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/fdt.lst b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/fdt.lst new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/file.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/file.mod new file mode 100644 index 0000000000000000000000000000000000000000..1a7169fb9624ccc611ad152656f919d339979b40 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/file.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/fixvideo.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/fixvideo.mod new file mode 100644 index 0000000000000000000000000000000000000000..a1d113bb66fe7e0cfc0e6f12aa05956ee207fa9b Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/fixvideo.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/font.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/font.mod new file mode 100644 index 0000000000000000000000000000000000000000..e0768ec285c990c2ea0c5a0198b4d12558a22550 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/font.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/fs.lst b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/fs.lst new file mode 100644 index 0000000000000000000000000000000000000000..0acd240b130a371f88b5a5d5415d9eaea6dc3557 --- /dev/null +++ b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/fs.lst @@ -0,0 +1,37 @@ +affs +afs +bfs +btrfs +cbfs +cpio +cpio_be +exfat +ext2 +f2fs +fat +hfs +hfsplus +iso9660 +jfs +minix +minix2 +minix2_be +minix3 +minix3_be +minix_be +newc +nilfs2 +ntfs +odc +procfs +reiserfs +romfs +sfs +squash4 +tar +udf +ufs1 +ufs1_be +ufs2 +xfs +zfs diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/fshelp.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/fshelp.mod new file mode 100644 index 0000000000000000000000000000000000000000..72b0e6a37319b267b743bd716cf6b1a41859133b Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/fshelp.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/functional_test.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/functional_test.mod new file mode 100644 index 0000000000000000000000000000000000000000..10e4e90c6e06146fb59746038a39221387da920b Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/functional_test.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_arcfour.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_arcfour.mod new file mode 100644 index 0000000000000000000000000000000000000000..6fbd6f944d15f0dcdc3cd654177756766befe8f5 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_arcfour.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_blowfish.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_blowfish.mod new file mode 100644 index 0000000000000000000000000000000000000000..7f5fcbc4a370fb1ace6ce3953676231a843e46de Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_blowfish.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_camellia.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_camellia.mod new file mode 100644 index 0000000000000000000000000000000000000000..49ef5cfe1456e882eb90fd24f20ef93d1d8ac9b8 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_camellia.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_cast5.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_cast5.mod new file mode 100644 index 0000000000000000000000000000000000000000..32a15eba41f3ce712f379be6acf9bf4e318fee1f Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_cast5.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_crc.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_crc.mod new file mode 100644 index 0000000000000000000000000000000000000000..9297546a775e4a2ff4df014c8df9d2071c7cdca3 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_crc.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_des.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_des.mod new file mode 100644 index 0000000000000000000000000000000000000000..bd48e2b240bf2d8f4d2db8162636caff1c3cbadb Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_des.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_dsa.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_dsa.mod new file mode 100644 index 0000000000000000000000000000000000000000..32fbcff3f1632703e422b732a3101c10bc849d71 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_dsa.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_idea.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_idea.mod new file mode 100644 index 0000000000000000000000000000000000000000..c0ae7ae4c303fbcdf50a3991c6ff488e493622a8 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_idea.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_md4.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_md4.mod new file mode 100644 index 0000000000000000000000000000000000000000..bb5606b56e35afe1354e71d77c84e13235324c76 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_md4.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_md5.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_md5.mod new file mode 100644 index 0000000000000000000000000000000000000000..0d7736a09bf2c8022b85c00c943b3c42581f0421 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_md5.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_rfc2268.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_rfc2268.mod new file mode 100644 index 0000000000000000000000000000000000000000..45d9dcf20881db71170ee29ebab8482c5e8ddaf4 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_rfc2268.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_rijndael.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_rijndael.mod new file mode 100644 index 0000000000000000000000000000000000000000..359ead3ddb1649d105bda893b47b7b15a3f28453 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_rijndael.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_rmd160.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_rmd160.mod new file mode 100644 index 0000000000000000000000000000000000000000..1aae59cba5cf320936cf1e55c415247d008d4af3 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_rmd160.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_rsa.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_rsa.mod new file mode 100644 index 0000000000000000000000000000000000000000..4c304ba6b05edf5d565ac0d8d07a0e3f452523f0 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_rsa.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_seed.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_seed.mod new file mode 100644 index 0000000000000000000000000000000000000000..43ff6094f5f8140bb38f69ebe6a94ae2097dcc68 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_seed.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_serpent.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_serpent.mod new file mode 100644 index 0000000000000000000000000000000000000000..44c48a920af561fb8e67a39e26e1e56f0dcfdcd8 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_serpent.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_sha1.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_sha1.mod new file mode 100644 index 0000000000000000000000000000000000000000..3cdd551f9ac67020f0984f45aea88e84f8116963 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_sha1.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_sha256.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_sha256.mod new file mode 100644 index 0000000000000000000000000000000000000000..03e5ce497452dd2af5a171fd918df8b938f30352 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_sha256.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_sha512.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_sha512.mod new file mode 100644 index 0000000000000000000000000000000000000000..a054bf42b8056dee82876fd15140eb35fa6c479e Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_sha512.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_tiger.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_tiger.mod new file mode 100644 index 0000000000000000000000000000000000000000..ce619d10956cc0a6e60778ae9b0787340097bb33 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_tiger.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_twofish.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_twofish.mod new file mode 100644 index 0000000000000000000000000000000000000000..226adb7468c423989330855edd3c6aeaa5924fd4 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_twofish.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_whirlpool.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_whirlpool.mod new file mode 100644 index 0000000000000000000000000000000000000000..768fd23e4f4f09d5e5c6e3bbabe582ef4a1c2850 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gcry_whirlpool.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/geli.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/geli.mod new file mode 100644 index 0000000000000000000000000000000000000000..8ccb88555e04b547165f644fd53715ca43c0ffe6 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/geli.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gettext.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gettext.mod new file mode 100644 index 0000000000000000000000000000000000000000..28e0c515428ac394a57f745257846e0d25ac1069 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gettext.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gfxmenu.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gfxmenu.mod new file mode 100644 index 0000000000000000000000000000000000000000..5d07fdace73f87a441808dc498070a02c68b6223 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gfxmenu.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gfxterm.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gfxterm.mod new file mode 100644 index 0000000000000000000000000000000000000000..3ebd0938b5df8e9d79448810c363cedd4019ac04 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gfxterm.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gfxterm_background.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gfxterm_background.mod new file mode 100644 index 0000000000000000000000000000000000000000..bd0095f00fd9357853da5ae79b897ada35a70a20 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gfxterm_background.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gfxterm_menu.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gfxterm_menu.mod new file mode 100644 index 0000000000000000000000000000000000000000..cc0c5c46560765f2fcde4e4adca48ebe49f1bdd8 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gfxterm_menu.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gptsync.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gptsync.mod new file mode 100644 index 0000000000000000000000000000000000000000..694f8fd4890b9908d6db2a73460e6f071674691a Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gptsync.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gzio.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gzio.mod new file mode 100644 index 0000000000000000000000000000000000000000..1ef929107de4cac138e48a7b4e9a85fa4995e5ec Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/gzio.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/halt.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/halt.mod new file mode 100644 index 0000000000000000000000000000000000000000..0255ee958d6f59a2423127513c84e5a48e858840 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/halt.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/hashsum.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/hashsum.mod new file mode 100644 index 0000000000000000000000000000000000000000..3e4ef95b370e9afb849874fe36845b0ae5fa294a Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/hashsum.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/hdparm.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/hdparm.mod new file mode 100644 index 0000000000000000000000000000000000000000..5b41c7695dc1aa8f75081f5961d9691b80e29af2 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/hdparm.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/hello.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/hello.mod new file mode 100644 index 0000000000000000000000000000000000000000..95796e81545b3255627013a326147f08e07e9bf7 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/hello.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/help.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/help.mod new file mode 100644 index 0000000000000000000000000000000000000000..dc625896829deb7727cc538d1e2cc69c8e50f3db Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/help.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/hexdump.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/hexdump.mod new file mode 100644 index 0000000000000000000000000000000000000000..945d2418dcc4c8954f1de1a771cabfc4f5d9a8ab Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/hexdump.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/hfs.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/hfs.mod new file mode 100644 index 0000000000000000000000000000000000000000..26bfe2faab5a7b5fd145b7fc1a6094d648582315 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/hfs.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/hfsplus.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/hfsplus.mod new file mode 100644 index 0000000000000000000000000000000000000000..9c5996af7671d4d9b5166c5c1c6797766067d97d Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/hfsplus.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/hfspluscomp.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/hfspluscomp.mod new file mode 100644 index 0000000000000000000000000000000000000000..1490724eeb4a2e55beedc389dfab705f2abbb4fc Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/hfspluscomp.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/http.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/http.mod new file mode 100644 index 0000000000000000000000000000000000000000..8aef4961373322a8661e39d6e9cf6d9072addf4d Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/http.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/iorw.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/iorw.mod new file mode 100644 index 0000000000000000000000000000000000000000..2fa7873f9e18102d38aa0ea620ebd6b511f6e3b2 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/iorw.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/iso9660.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/iso9660.mod new file mode 100644 index 0000000000000000000000000000000000000000..5c9a71820b7a8be697a6ef0b8e05ed46d4260174 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/iso9660.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/jfs.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/jfs.mod new file mode 100644 index 0000000000000000000000000000000000000000..7bf173855264c175de409743f09729997d5e2ec5 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/jfs.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/jpeg.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/jpeg.mod new file mode 100644 index 0000000000000000000000000000000000000000..49135fd8d2d5e97db0fb38da8fb9342a5fe1c4d5 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/jpeg.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/kernel.img b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/kernel.img new file mode 100644 index 0000000000000000000000000000000000000000..22a43d084bf7982a747c27b0b6bd5c60e161a77b Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/kernel.img differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/keylayouts.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/keylayouts.mod new file mode 100644 index 0000000000000000000000000000000000000000..9ae0dc0bf05de0fef5e20d56d3914b7c4feea093 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/keylayouts.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/keystatus.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/keystatus.mod new file mode 100644 index 0000000000000000000000000000000000000000..fd7f64ef7f9538449e3ef49e43e5a64ed4e935ab Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/keystatus.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/ldm.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/ldm.mod new file mode 100644 index 0000000000000000000000000000000000000000..6293306722f8fcc5f8ac10dc58bff64ac446e45c Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/ldm.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/legacy_password_test.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/legacy_password_test.mod new file mode 100644 index 0000000000000000000000000000000000000000..1e07508167325fe1442d54962045aba341e7078c Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/legacy_password_test.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/legacycfg.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/legacycfg.mod new file mode 100644 index 0000000000000000000000000000000000000000..77959da68d8680f8ff2c611288e70718ae9f5a78 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/legacycfg.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/linux.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/linux.mod new file mode 100644 index 0000000000000000000000000000000000000000..691d7d91abb6b2c134be16b0e4c2c187fcc2afe1 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/linux.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/linux16.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/linux16.mod new file mode 100644 index 0000000000000000000000000000000000000000..91528e87b434acd98d71364d84ccc8e063840502 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/linux16.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/loadbios.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/loadbios.mod new file mode 100644 index 0000000000000000000000000000000000000000..0924236c8938539a10872264de7a67a0bea73464 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/loadbios.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/loadenv.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/loadenv.mod new file mode 100644 index 0000000000000000000000000000000000000000..c0b46d213aeedbe5467c108fbb804dec4b1c018b Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/loadenv.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/loopback.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/loopback.mod new file mode 100644 index 0000000000000000000000000000000000000000..035a69c4b1da4c1230d510ab971a95cf6f6dd1c0 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/loopback.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/ls.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/ls.mod new file mode 100644 index 0000000000000000000000000000000000000000..570226a297e53108a1c58fe756834b06f935e6ce Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/ls.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/lsacpi.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/lsacpi.mod new file mode 100644 index 0000000000000000000000000000000000000000..c37fb04ae618ea3089db5fd0ef66fd242b0567c8 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/lsacpi.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/lsefi.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/lsefi.mod new file mode 100644 index 0000000000000000000000000000000000000000..6ed0dbd1792464bc34914d1cbffea92c027180bd Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/lsefi.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/lsefimmap.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/lsefimmap.mod new file mode 100644 index 0000000000000000000000000000000000000000..e6a23710b5cde5ea88677c526efe90b0a8764341 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/lsefimmap.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/lsefisystab.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/lsefisystab.mod new file mode 100644 index 0000000000000000000000000000000000000000..e9b04afa9fae04afdc62b9237fbcde7bcf93a3e8 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/lsefisystab.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/lsmmap.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/lsmmap.mod new file mode 100644 index 0000000000000000000000000000000000000000..c79c9137a4529bca95e6a73e69acaabf3c3111a8 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/lsmmap.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/lspci.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/lspci.mod new file mode 100644 index 0000000000000000000000000000000000000000..e779dc56965d48a77e14d1061f67069e50c751b7 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/lspci.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/lssal.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/lssal.mod new file mode 100644 index 0000000000000000000000000000000000000000..09c85ca74472ad3f4c2b6b388a07b3c49e376503 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/lssal.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/luks.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/luks.mod new file mode 100644 index 0000000000000000000000000000000000000000..2da4d078424bb2d0bee3f1792154071fd38b1ed1 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/luks.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/lvm.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/lvm.mod new file mode 100644 index 0000000000000000000000000000000000000000..cd65f03a46e9b547ae78e72f25b723874ea7b676 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/lvm.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/lzopio.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/lzopio.mod new file mode 100644 index 0000000000000000000000000000000000000000..5787e065a2450cccb0895d4d89646e71a7418f79 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/lzopio.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/macbless.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/macbless.mod new file mode 100644 index 0000000000000000000000000000000000000000..828623db2a9948650ac1c0d9e05f9199a08535f8 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/macbless.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/macho.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/macho.mod new file mode 100644 index 0000000000000000000000000000000000000000..6a936aa8027132c4963868acfce8d8b31fd5dce9 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/macho.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/mdraid09.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/mdraid09.mod new file mode 100644 index 0000000000000000000000000000000000000000..77cfad20089060f1b5fd623dfe44a68f55ce6b85 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/mdraid09.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/mdraid09_be.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/mdraid09_be.mod new file mode 100644 index 0000000000000000000000000000000000000000..698a1fac183c6c32cd7067f8d0b286a377e4d88b Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/mdraid09_be.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/mdraid1x.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/mdraid1x.mod new file mode 100644 index 0000000000000000000000000000000000000000..2fd8f743228e7421c1e23b110e0cd40bd10c5a9c Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/mdraid1x.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/memdisk.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/memdisk.mod new file mode 100644 index 0000000000000000000000000000000000000000..45e7dbb98e022f40b7537b6339b799d79528f0e8 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/memdisk.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/memrw.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/memrw.mod new file mode 100644 index 0000000000000000000000000000000000000000..3c73e9333dfd188f5cf5521b360e4848952ff582 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/memrw.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/minicmd.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/minicmd.mod new file mode 100644 index 0000000000000000000000000000000000000000..dfc10909f6adc3683aede0757a7c0b932081c235 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/minicmd.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/minix.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/minix.mod new file mode 100644 index 0000000000000000000000000000000000000000..160ecce4bb57e11d6ea151ebe332626679db741e Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/minix.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/minix2.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/minix2.mod new file mode 100644 index 0000000000000000000000000000000000000000..9745244bd11c315691d39b1879ed9b9319058567 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/minix2.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/minix2_be.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/minix2_be.mod new file mode 100644 index 0000000000000000000000000000000000000000..ae3567b6af3ab4488a455d0a816c470c7065a176 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/minix2_be.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/minix3.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/minix3.mod new file mode 100644 index 0000000000000000000000000000000000000000..e0d42f6ab7f803cbb453cb08499577f66ceef57c Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/minix3.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/minix3_be.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/minix3_be.mod new file mode 100644 index 0000000000000000000000000000000000000000..be65540d30dcf5fe9cbc28044da24538cddd6fa4 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/minix3_be.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/minix_be.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/minix_be.mod new file mode 100644 index 0000000000000000000000000000000000000000..3f387f5a46b7813beea4db355753a3843689d898 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/minix_be.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/mmap.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/mmap.mod new file mode 100644 index 0000000000000000000000000000000000000000..4aece91707e8612557b354638ee6b1b7f2fe5464 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/mmap.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/moddep.lst b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/moddep.lst new file mode 100644 index 0000000000000000000000000000000000000000..b71dd063991a5e9b50f9ce91d05899ba31afa99d --- /dev/null +++ b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/moddep.lst @@ -0,0 +1,267 @@ +videotest: font video gfxmenu +odc: archelp +loopback: extcmd +macho: +gcry_des: crypto +memrw: extcmd +terminfo: extcmd +f2fs: fshelp +part_gpt: +romfs: fshelp +read: +lsefimmap: +aout: +gcry_arcfour: crypto +tftp: net priority_queue +newc: archelp +minix2_be: +elf: +videotest_checksum: font functional_test video_fb +password_pbkdf2: crypto gcry_sha512 pbkdf2 normal +gcry_seed: crypto +pcidump: extcmd +bsd: elf serial crypto gcry_md5 verifiers extcmd video boot aout cpuid relocator mmap +sfs: fshelp +reiserfs: fshelp +part_sunpc: +zstd: +gfxmenu: video_colors trig bitmap_scale gfxterm font normal video bitmap +backtrace: +jfs: +help: extcmd normal +configfile: normal +cbls: cbtable +gfxterm_menu: font functional_test procfs normal video_fb +gcry_idea: crypto +tr: extcmd +shift_test: functional_test +boottime: +ohci: cs5536 usb boot +afs: fshelp +spkmodem: terminfo +usb_keyboard: usb keylayouts +xzio: crypto +syslinuxcfg: extcmd normal +search_fs_file: +wrmsr: +usbms: scsi usb +test_blockarg: extcmd normal +true: +affs: fshelp +iso9660: fshelp +exfat: fshelp +smbios: extcmd +setjmp_test: functional_test setjmp +gfxterm: font video +efinet: net +disk: +appleldr: boot +xfs: fshelp +testspeed: extcmd normal +cpio_be: archelp +functional_test: btrfs extcmd video video_fb +bswap_test: functional_test +sleep: extcmd normal +memdisk: +gcry_rijndael: crypto +mdraid09_be: diskfilter +gettext: +gcry_sha1: crypto +hfspluscomp: gzio hfsplus +cmp: +random: hexdump +offsetio: +file: macho elf extcmd offsetio +usbserial_usbdebug: serial usb usbserial_common +video_colors: +morse: +hashsum: crypto extcmd normal +usb: +halt: acpi +gfxterm_background: video_colors bitmap_scale gfxterm extcmd video bitmap +search_fs_uuid: +gcry_dsa: pgp mpi +keystatus: extcmd +linux: verifiers video boot relocator mmap +geli: cryptodisk crypto gcry_sha512 pbkdf2 gcry_sha256 +cmdline_cat_test: font functional_test procfs normal video_fb +rdmsr: extcmd +part_sun: +cbtable: +pbkdf2_test: functional_test pbkdf2 gcry_sha1 +video_bochs: video video_fb +verifiers: +bufio: +usbserial_ftdi: serial usb usbserial_common +legacy_password_test: functional_test legacycfg +cpuid: extcmd +hdparm: extcmd hexdump +bfs: fshelp +gcry_blowfish: crypto +test: +nilfs2: fshelp +gcry_rsa: pgp mpi +cryptodisk: crypto extcmd procfs +nativedisk: +minicmd: +signature_test: functional_test procfs +ata: scsi +udf: fshelp +gzio: gcry_crc +xnu_uuid: gcry_md5 +uhci: usb +pata: ata +mul_test: functional_test +adler32: crypto +terminal: +shim_lock: verifiers +div: +ehci: cs5536 usb boot +crypto: +part_bsd: part_msdos +cs5536: +gcry_sha512: crypto +password: crypto normal +fshelp: +sleep_test: functional_test datetime +iorw: extcmd +xnu: macho bitmap_scale random verifiers extcmd video bitmap boot relocator mmap +mmap: +exfctest: functional_test +zfsinfo: zfs +ldm: part_gpt diskfilter part_msdos +eval: normal +part_dvh: +lssal: +ext2: fshelp +blocklist: +net: priority_queue bufio datetime boot +part_acorn: +videoinfo: video +cacheinfo: +btrfs: zstd lzopio raid6rec gzio +lsmmap: mmap +strtoull_test: functional_test +bitmap: +ntfs: fshelp +multiboot: net linux video boot relocator mmap +tpm: verifiers +gcry_crc: crypto +png: bufio bitmap +jpeg: bufio bitmap +macbless: disk +div_test: functional_test div +regexp: extcmd normal +parttool: normal +usbserial_pl2303: serial usb usbserial_common +cpio: archelp +gcry_rmd160: crypto +fat: fshelp +ufs1_be: +archelp: +http: net +zfs: gzio +raid6rec: diskfilter +lsefisystab: +minix2: +lsacpi: extcmd acpi +datehook: datetime normal +loadenv: disk extcmd +bitmap_scale: bitmap +probe: extcmd +minix3: +tar: archelp +loadbios: +hfs: fshelp +procfs: archelp +boot: +keylayouts: +progress: normal +kernel: +usbtest: usb +relocator: mmap +acpi: extcmd mmap +tga: bufio bitmap +reboot: +serial: extcmd terminfo +zfscrypt: crypto pbkdf2 zfs extcmd gcry_sha1 gcry_rijndael +efi_uga: video video_fb +dm_nv: diskfilter +cmp_test: functional_test +luks: cryptodisk crypto pbkdf2 +font: bufio video +raid5rec: diskfilter +crc64: crypto +datetime: +efifwsetup: +ctz_test: functional_test +video: +cbmemc: normal cbtable terminfo +hfsplus: fshelp +gcry_cast5: crypto +extcmd: +squash4: fshelp lzopio xzio gzio +part_plan: +minix_be: +gcry_whirlpool: crypto +gcry_tiger: crypto +fixvideo: +search: search_fs_uuid search_fs_file extcmd search_label +lspci: extcmd +cbtime: cbtable +video_fb: +minix3_be: +trig: +msdospart: disk parttool +priority_queue: +gcry_twofish: crypto +part_dfly: +xnu_uuid_test: functional_test +diskfilter: +testload: +part_apple: +hexdump: extcmd +date: datetime normal +pbkdf2: crypto +gcry_sha256: crypto +ls: extcmd normal +usbserial_common: serial usb +ntfscomp: ntfs +lzopio: crypto +video_cirrus: video video_fb +hello: extcmd +scsi: +linux16: linux video boot relocator mmap +cat: extcmd +ahci: ata boot +pgp: crypto verifiers extcmd mpi gcry_sha1 +normal: terminal crypto verifiers bufio extcmd boot gettext +ufs1: +mdraid09: diskfilter +lvm: diskfilter +chain: net efinet boot +cbfs: archelp +ufs2: +time: +setpci: extcmd +gptsync: disk +search_label: +setjmp: +multiboot2: net linux video boot relocator mmap acpi +gcry_rfc2268: crypto +mdraid1x: diskfilter +mpi: crypto +legacycfg: password crypto gcry_md5 normal +play: +part_amiga: +efi_gop: video video_fb +minix: +echo: extcmd +lsefi: +gcry_serpent: crypto +gcry_md4: crypto +gcry_md5: crypto +part_msdos: +gcry_camellia: crypto +at_keyboard: keylayouts boot +all_video: efi_gop efi_uga video_bochs video_cirrus diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/morse.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/morse.mod new file mode 100644 index 0000000000000000000000000000000000000000..cb04657e339b440abf183c221396b37c4cba86bf Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/morse.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/mpi.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/mpi.mod new file mode 100644 index 0000000000000000000000000000000000000000..9d51c40f1ef9fe8d8b717dcae054e613c545450b Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/mpi.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/msdospart.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/msdospart.mod new file mode 100644 index 0000000000000000000000000000000000000000..d552beb321130be02df759c962711e6788d32f3a Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/msdospart.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/mul_test.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/mul_test.mod new file mode 100644 index 0000000000000000000000000000000000000000..04ff0fc0c622a865b93ed1b83baa24df23810de8 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/mul_test.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/multiboot.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/multiboot.mod new file mode 100644 index 0000000000000000000000000000000000000000..a97db700edfd3d1c482fcfb248c9acd22dabb63c Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/multiboot.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/multiboot2.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/multiboot2.mod new file mode 100644 index 0000000000000000000000000000000000000000..99eaed856155ac1005a227e636ac999c02790d73 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/multiboot2.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/nativedisk.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/nativedisk.mod new file mode 100644 index 0000000000000000000000000000000000000000..19a4d95455e8deceb5052074f0f1cb095f9ecbfc Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/nativedisk.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/net.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/net.mod new file mode 100644 index 0000000000000000000000000000000000000000..f28f7af466f24eb1912ba3de711635c001497bcf Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/net.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/newc.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/newc.mod new file mode 100644 index 0000000000000000000000000000000000000000..040e82d5e861565b8751bdfcdaa0809ad6540474 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/newc.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/nilfs2.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/nilfs2.mod new file mode 100644 index 0000000000000000000000000000000000000000..c1df163341e732420639b575bafbd405de68b293 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/nilfs2.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/normal.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/normal.mod new file mode 100644 index 0000000000000000000000000000000000000000..c182212bc2e40fbd19f6f47ca127aeaf1aa51a2d Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/normal.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/ntfs.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/ntfs.mod new file mode 100644 index 0000000000000000000000000000000000000000..7dfca2ebdd930546b0bf34f131d29db46dc40a39 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/ntfs.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/ntfscomp.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/ntfscomp.mod new file mode 100644 index 0000000000000000000000000000000000000000..d6c65141b6159e0ace2672a1024a01b5c4a5a374 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/ntfscomp.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/odc.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/odc.mod new file mode 100644 index 0000000000000000000000000000000000000000..9408b26c763e306918b735ced39b5fc8bb3fa4ef Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/odc.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/offsetio.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/offsetio.mod new file mode 100644 index 0000000000000000000000000000000000000000..53fe3bc6cdabcaf5aede7b4173a3bc06c3cec3c7 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/offsetio.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/ohci.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/ohci.mod new file mode 100644 index 0000000000000000000000000000000000000000..f2365b629f267837bcca48d21187cb7a71dddd6c Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/ohci.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/part_acorn.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/part_acorn.mod new file mode 100644 index 0000000000000000000000000000000000000000..f6b42f46e9e8152bd9d2a0519099841005dd83a8 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/part_acorn.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/part_amiga.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/part_amiga.mod new file mode 100644 index 0000000000000000000000000000000000000000..ddf166d3688aed821fd35fa24d124a5fd09d1ad2 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/part_amiga.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/part_apple.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/part_apple.mod new file mode 100644 index 0000000000000000000000000000000000000000..9acd7e8d742371b937507d111225b6c027489a15 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/part_apple.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/part_bsd.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/part_bsd.mod new file mode 100644 index 0000000000000000000000000000000000000000..556618970e8cc6dc0287dd00eab5497decdb7673 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/part_bsd.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/part_dfly.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/part_dfly.mod new file mode 100644 index 0000000000000000000000000000000000000000..7f0643cb78c3169dd5f4c48e304823a582e4997f Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/part_dfly.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/part_dvh.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/part_dvh.mod new file mode 100644 index 0000000000000000000000000000000000000000..67f08f4cf5b814f9d7ec478b41fa43ba6207fc5f Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/part_dvh.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/part_gpt.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/part_gpt.mod new file mode 100644 index 0000000000000000000000000000000000000000..3696120e6d34e659a8e558e39d5e5d89dec30ab5 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/part_gpt.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/part_msdos.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/part_msdos.mod new file mode 100644 index 0000000000000000000000000000000000000000..2a5daa047562fa8eef2371a9997c3e4074dccae0 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/part_msdos.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/part_plan.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/part_plan.mod new file mode 100644 index 0000000000000000000000000000000000000000..4c01c7f0cfcae2602989f7ca5d1d84901d0b731d Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/part_plan.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/part_sun.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/part_sun.mod new file mode 100644 index 0000000000000000000000000000000000000000..e84f635fade459af5fa24cd3e295cac718016a36 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/part_sun.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/part_sunpc.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/part_sunpc.mod new file mode 100644 index 0000000000000000000000000000000000000000..509e110208f732851db47b8f2aeccb380deacd64 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/part_sunpc.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/partmap.lst b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/partmap.lst new file mode 100644 index 0000000000000000000000000000000000000000..761233aa26765d4bb746b00ff5a1715158c5a07e --- /dev/null +++ b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/partmap.lst @@ -0,0 +1,11 @@ +part_acorn +part_amiga +part_apple +part_bsd +part_dfly +part_dvh +part_gpt +part_msdos +part_plan +part_sun +part_sunpc diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/parttool.lst b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/parttool.lst new file mode 100644 index 0000000000000000000000000000000000000000..68b4b5c453c586af96c276e4f9d7620a3bc39e0f --- /dev/null +++ b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/parttool.lst @@ -0,0 +1 @@ +msdos: msdospart diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/parttool.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/parttool.mod new file mode 100644 index 0000000000000000000000000000000000000000..3b0992bd344fda6b700d07047321cb5b079460d5 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/parttool.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/password.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/password.mod new file mode 100644 index 0000000000000000000000000000000000000000..e152defa9f758eea1067f720e0567cb9f5f91f7b Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/password.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/password_pbkdf2.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/password_pbkdf2.mod new file mode 100644 index 0000000000000000000000000000000000000000..6ef1e31373484d51a7ca1ffb4395ffb85736dd85 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/password_pbkdf2.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/pata.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/pata.mod new file mode 100644 index 0000000000000000000000000000000000000000..73e7ef5f1864538af220d341d221efd0971cdc58 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/pata.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/pbkdf2.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/pbkdf2.mod new file mode 100644 index 0000000000000000000000000000000000000000..6a831de1c0b78ccfa60c7f3ca18e0c117d905fe0 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/pbkdf2.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/pbkdf2_test.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/pbkdf2_test.mod new file mode 100644 index 0000000000000000000000000000000000000000..b7c5d9f0412f7d80ace9836e732395852587a1e7 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/pbkdf2_test.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/pcidump.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/pcidump.mod new file mode 100644 index 0000000000000000000000000000000000000000..82937aafd5eb1118ed0805b31e1b4cf9e2416e8d Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/pcidump.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/pgp.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/pgp.mod new file mode 100644 index 0000000000000000000000000000000000000000..0540c38a50bad7b713d79d0f39da223bf54f1c9b Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/pgp.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/play.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/play.mod new file mode 100644 index 0000000000000000000000000000000000000000..397eb3a56904de125bfd58272845edf37926e4dc Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/play.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/png.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/png.mod new file mode 100644 index 0000000000000000000000000000000000000000..5e2c44d947b18cd9565327bd381a300a75399e2e Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/png.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/priority_queue.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/priority_queue.mod new file mode 100644 index 0000000000000000000000000000000000000000..76f8da5446704db0af23a7f98d86c54fe0efffca Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/priority_queue.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/probe.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/probe.mod new file mode 100644 index 0000000000000000000000000000000000000000..d50ab037068f4902c1af2980eb938d9c524bced4 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/probe.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/procfs.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/procfs.mod new file mode 100644 index 0000000000000000000000000000000000000000..b2fe57f31ad197d36fe90a3e505e0e2930b8c423 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/procfs.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/progress.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/progress.mod new file mode 100644 index 0000000000000000000000000000000000000000..654896fbb886901b2a0c50db81aa7e28608eaf1d Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/progress.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/raid5rec.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/raid5rec.mod new file mode 100644 index 0000000000000000000000000000000000000000..d31b09949e0c29c81eb4de40af9c2817e4355c72 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/raid5rec.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/raid6rec.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/raid6rec.mod new file mode 100644 index 0000000000000000000000000000000000000000..770143d3e46a37f95d53dc6fa104de27bff34c1c Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/raid6rec.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/random.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/random.mod new file mode 100644 index 0000000000000000000000000000000000000000..5c387487f9b0697f0b40dd3d230f65aee438a82e Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/random.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/rdmsr.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/rdmsr.mod new file mode 100644 index 0000000000000000000000000000000000000000..46e2579927af54b10e3ffc82641b7eb3bcd3273e Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/rdmsr.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/read.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/read.mod new file mode 100644 index 0000000000000000000000000000000000000000..526115a3001584eb805fe86026fccf15f3fb2652 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/read.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/reboot.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/reboot.mod new file mode 100644 index 0000000000000000000000000000000000000000..36802edb35fbe06936830548b90fb22eb2bb57f5 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/reboot.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/regexp.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/regexp.mod new file mode 100644 index 0000000000000000000000000000000000000000..5906972ea8fcd467b07fdad184cefc90d6b9c713 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/regexp.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/reiserfs.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/reiserfs.mod new file mode 100644 index 0000000000000000000000000000000000000000..50fe99bc3d0cd89ade82b824f72f4d10b32dd66a Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/reiserfs.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/relocator.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/relocator.mod new file mode 100644 index 0000000000000000000000000000000000000000..c9f207262090b7adf0c56d4174ec877d3b5aeace Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/relocator.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/romfs.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/romfs.mod new file mode 100644 index 0000000000000000000000000000000000000000..2c1736ecb7000e232fd03da4e59f56ada384a075 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/romfs.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/scsi.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/scsi.mod new file mode 100644 index 0000000000000000000000000000000000000000..e954bf2ad0f4ec523a46ee51c46e794fcf52e06b Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/scsi.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/search.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/search.mod new file mode 100644 index 0000000000000000000000000000000000000000..adced9854ff87654067a92a6403472c6a8ef9a8e Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/search.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/search_fs_file.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/search_fs_file.mod new file mode 100644 index 0000000000000000000000000000000000000000..4a13685227dfb349149485e59161170bab7b8f9d Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/search_fs_file.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/search_fs_uuid.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/search_fs_uuid.mod new file mode 100644 index 0000000000000000000000000000000000000000..660866a3cb9745fed775de2a22af1360f63acff4 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/search_fs_uuid.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/search_label.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/search_label.mod new file mode 100644 index 0000000000000000000000000000000000000000..6ab0d531a8971a5113a408dfc70e80bb64af83c8 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/search_label.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/serial.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/serial.mod new file mode 100644 index 0000000000000000000000000000000000000000..3302727060871a6993da6749b34cf34515a53b30 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/serial.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/setjmp.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/setjmp.mod new file mode 100644 index 0000000000000000000000000000000000000000..a0b4e57157610b87516e525967e3bf76249a9b79 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/setjmp.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/setjmp_test.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/setjmp_test.mod new file mode 100644 index 0000000000000000000000000000000000000000..e55e6ea0ac58cec2c259d5e23882e568c1ed0c37 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/setjmp_test.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/setpci.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/setpci.mod new file mode 100644 index 0000000000000000000000000000000000000000..07b981fafbf42341a949a2a59ab4ee6499333972 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/setpci.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/sfs.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/sfs.mod new file mode 100644 index 0000000000000000000000000000000000000000..5fccd9cc60be525a208531ba7acc6e9c07692bcf Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/sfs.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/shift_test.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/shift_test.mod new file mode 100644 index 0000000000000000000000000000000000000000..afc8e504aa9d5494816b4706174141f7cf49e551 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/shift_test.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/shim_lock.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/shim_lock.mod new file mode 100644 index 0000000000000000000000000000000000000000..88ecee4e71801005761a3a6dea85a1558bb856bb Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/shim_lock.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/signature_test.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/signature_test.mod new file mode 100644 index 0000000000000000000000000000000000000000..86bbdf14fbbd232ce064ffcd316b34069c182e32 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/signature_test.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/sleep.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/sleep.mod new file mode 100644 index 0000000000000000000000000000000000000000..a70c8048332aadf2dd778e4aeaac02f45b30ee12 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/sleep.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/sleep_test.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/sleep_test.mod new file mode 100644 index 0000000000000000000000000000000000000000..6806993eaadddb3472dc344cba504a8fb21fb988 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/sleep_test.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/smbios.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/smbios.mod new file mode 100644 index 0000000000000000000000000000000000000000..dc90c9d260f078ceee35c50cf323162a9b94d387 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/smbios.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/spkmodem.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/spkmodem.mod new file mode 100644 index 0000000000000000000000000000000000000000..df0a4403eb3c0b20a391a0f941d62d40a6d85b8d Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/spkmodem.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/squash4.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/squash4.mod new file mode 100644 index 0000000000000000000000000000000000000000..81e684f7847fc6e36613fe63d86807a422f414f3 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/squash4.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/strtoull_test.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/strtoull_test.mod new file mode 100644 index 0000000000000000000000000000000000000000..5f8796a3b803198606c2637189d58ea0c2f1cd32 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/strtoull_test.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/syslinuxcfg.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/syslinuxcfg.mod new file mode 100644 index 0000000000000000000000000000000000000000..f5df72180ad82c3101dc5694bc2e4b8adbb8aaf9 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/syslinuxcfg.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/tar.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/tar.mod new file mode 100644 index 0000000000000000000000000000000000000000..119b88ea08c37ca16aaa67fe375da489126c685a Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/tar.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/terminal.lst b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/terminal.lst new file mode 100644 index 0000000000000000000000000000000000000000..3c9a5a34a6f31f2c42b87668d2e47f3a2954118e --- /dev/null +++ b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/terminal.lst @@ -0,0 +1,9 @@ +iat_keyboard: at_keyboard +iserial: serial +iserial_*: serial +oaudio: morse +ocbmemc: cbmemc +ogfxterm: gfxterm +oserial: serial +oserial_*: serial +ospkmodem: spkmodem diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/terminal.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/terminal.mod new file mode 100644 index 0000000000000000000000000000000000000000..963639ef1019463110ba24dfb2a2ba9af6438971 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/terminal.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/terminfo.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/terminfo.mod new file mode 100644 index 0000000000000000000000000000000000000000..c5ff616b755843a8d7cc1991fea1f1942e64ccdd Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/terminfo.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/test.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/test.mod new file mode 100644 index 0000000000000000000000000000000000000000..3a49c5655fad9da20c459a24791d785de0da73e8 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/test.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/test_blockarg.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/test_blockarg.mod new file mode 100644 index 0000000000000000000000000000000000000000..467696f35593d453ce4eb75b695b4191dbe9435d Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/test_blockarg.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/testload.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/testload.mod new file mode 100644 index 0000000000000000000000000000000000000000..a47321bd80181ddb570ac64d0459ed81f23524b3 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/testload.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/testspeed.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/testspeed.mod new file mode 100644 index 0000000000000000000000000000000000000000..a91f5c6460222243dbadfa02ebb48296cf75a20d Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/testspeed.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/tftp.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/tftp.mod new file mode 100644 index 0000000000000000000000000000000000000000..cc62fc8e61f0b368838bd2cb104bbe983648c5bd Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/tftp.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/tga.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/tga.mod new file mode 100644 index 0000000000000000000000000000000000000000..f8926ec3d496964e3e811bde5affe27d47e72e24 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/tga.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/time.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/time.mod new file mode 100644 index 0000000000000000000000000000000000000000..e3ceaef7ab9a43e60e58ee31c3dbd8b61a855532 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/time.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/tpm.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/tpm.mod new file mode 100644 index 0000000000000000000000000000000000000000..ffba6fe15296c864ac3adfadd371da538b5159d0 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/tpm.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/tr.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/tr.mod new file mode 100644 index 0000000000000000000000000000000000000000..8fff53c0f061c4cd8496897b1c644e5c75e57186 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/tr.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/trig.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/trig.mod new file mode 100644 index 0000000000000000000000000000000000000000..3b8a51c9c4266d531823ec68aa82e7dd3296d9c7 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/trig.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/true.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/true.mod new file mode 100644 index 0000000000000000000000000000000000000000..7b9c4bc3dce0c45801f0eafd840fcd3c86123165 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/true.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/udf.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/udf.mod new file mode 100644 index 0000000000000000000000000000000000000000..1eb0b75c2ea0fe15bc010f66f4e4cb0c812ae0f8 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/udf.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/ufs1.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/ufs1.mod new file mode 100644 index 0000000000000000000000000000000000000000..6e32f77192a46cc4063d375c229ef40dd608a704 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/ufs1.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/ufs1_be.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/ufs1_be.mod new file mode 100644 index 0000000000000000000000000000000000000000..648d2606a857c0de8bceef46f0cf2bbb3d85b350 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/ufs1_be.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/ufs2.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/ufs2.mod new file mode 100644 index 0000000000000000000000000000000000000000..841de0a6c9606682abd8bfb992d39990d3e28234 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/ufs2.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/uhci.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/uhci.mod new file mode 100644 index 0000000000000000000000000000000000000000..533a7a03804ff42688c4f62d2c9059da1ad3ee39 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/uhci.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/usb.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/usb.mod new file mode 100644 index 0000000000000000000000000000000000000000..80a94694e704a8620ae2c77517306ec0758e0c18 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/usb.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/usb_keyboard.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/usb_keyboard.mod new file mode 100644 index 0000000000000000000000000000000000000000..5619534610b53cb000b667e5948eebe6bbf459f2 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/usb_keyboard.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/usbms.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/usbms.mod new file mode 100644 index 0000000000000000000000000000000000000000..aa7c379bd7e18673627d93b2435e25fd3bdf664b Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/usbms.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/usbserial_common.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/usbserial_common.mod new file mode 100644 index 0000000000000000000000000000000000000000..ffcb9239c62140694f47eebc4e6ef0870cdd695a Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/usbserial_common.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/usbserial_ftdi.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/usbserial_ftdi.mod new file mode 100644 index 0000000000000000000000000000000000000000..7a9d33558a2e2b558bac51e0d8ed34d9c93d48e5 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/usbserial_ftdi.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/usbserial_pl2303.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/usbserial_pl2303.mod new file mode 100644 index 0000000000000000000000000000000000000000..7b12b01dc534ee3b6c6e4658a1d843d30a919748 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/usbserial_pl2303.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/usbserial_usbdebug.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/usbserial_usbdebug.mod new file mode 100644 index 0000000000000000000000000000000000000000..b5ae2220de84728bc6da871fb990b8f91d9f2456 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/usbserial_usbdebug.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/usbtest.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/usbtest.mod new file mode 100644 index 0000000000000000000000000000000000000000..60fdf2ab74348b2d5113db83100521d440d1dc11 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/usbtest.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/verifiers.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/verifiers.mod new file mode 100644 index 0000000000000000000000000000000000000000..263ae9b14c46387a08244a0ab2de0bfdd95123ee Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/verifiers.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/video.lst b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/video.lst new file mode 100644 index 0000000000000000000000000000000000000000..ae9ba23e441922f0dd48cf5280eeea444a0bf0f4 --- /dev/null +++ b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/video.lst @@ -0,0 +1,4 @@ +efi_gop +efi_uga +video_bochs +video_cirrus diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/video.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/video.mod new file mode 100644 index 0000000000000000000000000000000000000000..d1c06a34924d00234b77c39d9dcee67e6370a481 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/video.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/video_bochs.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/video_bochs.mod new file mode 100644 index 0000000000000000000000000000000000000000..be51d0df5039b644416555fa86b341cc2879ef02 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/video_bochs.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/video_cirrus.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/video_cirrus.mod new file mode 100644 index 0000000000000000000000000000000000000000..08047217888b5af10a11f862f3f2feab172e4386 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/video_cirrus.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/video_colors.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/video_colors.mod new file mode 100644 index 0000000000000000000000000000000000000000..8106bc15d0949c5846d5fed80a76737602fdf3cf Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/video_colors.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/video_fb.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/video_fb.mod new file mode 100644 index 0000000000000000000000000000000000000000..3977a13d927cfd2764ae77c7527fedf9c18f8834 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/video_fb.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/videoinfo.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/videoinfo.mod new file mode 100644 index 0000000000000000000000000000000000000000..ea9bb5136c8516ce3d39303a2a98169638bc4956 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/videoinfo.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/videotest.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/videotest.mod new file mode 100644 index 0000000000000000000000000000000000000000..bc4200aebbfaaa49125a4c4f5822f0a25bc97b81 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/videotest.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/videotest_checksum.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/videotest_checksum.mod new file mode 100644 index 0000000000000000000000000000000000000000..f4013293d39f434114ac7afd88cf1c66e0426142 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/videotest_checksum.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/wrmsr.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/wrmsr.mod new file mode 100644 index 0000000000000000000000000000000000000000..472020aa5d7cbf5277b538d820c94085c76332c1 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/wrmsr.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/xfs.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/xfs.mod new file mode 100644 index 0000000000000000000000000000000000000000..5640381c7faee8b826f6e03506cbf571f89823ef Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/xfs.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/xnu.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/xnu.mod new file mode 100644 index 0000000000000000000000000000000000000000..ef880f819db08e65e34c63d736512da07df0569e Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/xnu.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/xnu_uuid.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/xnu_uuid.mod new file mode 100644 index 0000000000000000000000000000000000000000..34719da8879435433d4e39fc0d6e38d5a5369280 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/xnu_uuid.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/xnu_uuid_test.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/xnu_uuid_test.mod new file mode 100644 index 0000000000000000000000000000000000000000..599c9bed919a261c8491a66420313144ea13d70d Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/xnu_uuid_test.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/xzio.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/xzio.mod new file mode 100644 index 0000000000000000000000000000000000000000..117f1e49edc5f4dd00079a1070a3098609a28305 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/xzio.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/zfs.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/zfs.mod new file mode 100644 index 0000000000000000000000000000000000000000..9e0bd58f59809138b2856c83fe4b0db4acd0c470 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/zfs.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/zfscrypt.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/zfscrypt.mod new file mode 100644 index 0000000000000000000000000000000000000000..cf5912fcbe46833109849e4bd00a310c1db21054 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/zfscrypt.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/zfsinfo.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/zfsinfo.mod new file mode 100644 index 0000000000000000000000000000000000000000..7b66c974e5ad32e539f725f55dd210582bf07467 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/zfsinfo.mod differ diff --git a/bsp/x86/grub-2.04/boot/grub/x86_64-efi/zstd.mod b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/zstd.mod new file mode 100644 index 0000000000000000000000000000000000000000..d0f58dae5293b54267d046cc4ea93b01dc8618cf Binary files /dev/null and b/bsp/x86/grub-2.04/boot/grub/x86_64-efi/zstd.mod differ diff --git a/bsp/x86/grub-2.04/boot/stage2_eltorito b/bsp/x86/grub-2.04/boot/stage2_eltorito new file mode 100644 index 0000000000000000000000000000000000000000..9f63498fe6e2fcf793c0cc60fdce6353450c2c06 Binary files /dev/null and b/bsp/x86/grub-2.04/boot/stage2_eltorito differ diff --git a/bsp/x86/grub-2.04/compile.cfg b/bsp/x86/grub-2.04/compile.cfg new file mode 100644 index 0000000000000000000000000000000000000000..0087e6cd767d13015bfcedc63c6a6c3bd0ae5d35 --- /dev/null +++ b/bsp/x86/grub-2.04/compile.cfg @@ -0,0 +1,3 @@ +search.file /boot/grub/grub.cfg root +set prefix=($root)/boot/grub +configfile ($root)/boot/grub/grub.cfg \ No newline at end of file diff --git a/bsp/x86/link.lds b/bsp/x86/link.lds new file mode 100644 index 0000000000000000000000000000000000000000..b58d26401586f91fd2259f07334c383f3720c571 --- /dev/null +++ b/bsp/x86/link.lds @@ -0,0 +1,106 @@ +OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386") +OUTPUT_ARCH(i386) +ENTRY(_start) +SECTIONS +{ + . = 0x00100000; + + . = ALIGN(4); + __text_start = .; + .text : + { + _stext = .; + *(.init) + *(.text) + + /* section information for utest */ + . = ALIGN(4); + __rt_utest_tc_tab_start = .; + KEEP(*(UtestTcTab)) + __rt_utest_tc_tab_end = .; + + /* section information for finsh shell */ + . = ALIGN(4); + __fsymtab_start = .; + KEEP(*(FSymTab)) + __fsymtab_end = .; + . = ALIGN(4); + __vsymtab_start = .; + KEEP(*(VSymTab)) + __vsymtab_end = .; + . = ALIGN(4); + + /* section information for modules */ + . = ALIGN(4); + __rtmsymtab_start = .; + KEEP(*(RTMSymTab)) + __rtmsymtab_end = .; + + /* section information for initialization */ + . = ALIGN(4); + __rt_init_start = .; + KEEP(*(SORT(.rti_fn*))) + __rt_init_end = .; + _etext = .; /* define a global symbols at end of code */ + } =0 + __text_end = .; + + . = ALIGN(4); + __rodata_start = .; + .rodata : { *(.rodata) *(.rodata.*) } + __rodata_end = .; + + . = ALIGN(4); + .ctors : + { + PROVIDE(__ctors_start__ = .); + KEEP(*(SORT(.ctors.*))) + KEEP(*(.ctors)) + PROVIDE(__ctors_end__ = .); + } + + .dtors : + { + PROVIDE(__dtors_start__ = .); + KEEP(*(SORT(.dtors.*))) + KEEP(*(.dtors)) + PROVIDE(__dtors_end__ = .); + } + + . = ALIGN(4); + __data_start = .; + .data : + { + *(.data) + *(.data.*) + } + __data_end = .; + + . = ALIGN(4); + __bss_start = .; + .bss : + { + *(.bss) + *(.bss.*) + *(COMMON) + . = ALIGN(4); + } + . = ALIGN(4); + __bss_end = .; + + /* stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_info 0 : { *(.debug_info) } + .debug_line 0 : { *(.debug_line) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_aranges 0 : { *(.debug_aranges) } + + _end = .; +} diff --git a/bsp/x86/rtconfig.h b/bsp/x86/rtconfig.h index c4cdac1fdca971e331a25795c97a11164d0c2c6a..9714609c5be320e5ea90e7547bf2fbb4b6398fb1 100644 --- a/bsp/x86/rtconfig.h +++ b/bsp/x86/rtconfig.h @@ -1,180 +1,184 @@ -/* RT-Thread config file */ -#ifndef __RTTHREAD_CFG_H__ -#define __RTTHREAD_CFG_H__ +#ifndef RT_CONFIG_H__ +#define RT_CONFIG_H__ -/* RT_NAME_MAX*/ -#define RT_NAME_MAX 8 +/* Automatically generated file; DO NOT EDIT. */ +/* RT-Thread Project Configuration */ -/* RT_ALIGN_SIZE*/ -#define RT_ALIGN_SIZE 8 +/* RT-Thread Kernel */ -/* PRIORITY_MAX */ -#define RT_THREAD_PRIORITY_MAX 32 - -/* Tick per Second */ -#define RT_TICK_PER_SECOND 1000 - -/* SECTION: RT_DEBUG */ -/* Thread Debug */ -#define RT_DEBUG -#define RT_DEBUG_COLOR -#define RT_DEBUG_MODULE 0 - -#define RT_USING_OVERFLOW_CHECK - -/* Using Hook */ +#define RT_NAME_MAX 20 +#define RT_USING_SMART +#define RT_ALIGN_SIZE 4 +#define RT_THREAD_PRIORITY_32 +#define RT_THREAD_PRIORITY_MAX 32 +#define RT_TICK_PER_SECOND 100 #define RT_USING_HOOK +#define RT_USING_IDLE_HOOK +#define RT_IDLE_HOOK_LIST_SIZE 4 +#define IDLE_THREAD_STACK_SIZE 16384 +#define RT_USING_TIMER_SOFT +#define RT_TIMER_THREAD_PRIO 4 +#define RT_TIMER_THREAD_STACK_SIZE 16384 +#define RT_DEBUG -/* Using Software Timer */ -/* #define RT_USING_TIMER_SOFT */ -#define RT_TIMER_THREAD_PRIO 4 -#define RT_TIMER_THREAD_STACK_SIZE 512 -#define RT_TIMER_TICK_PER_SECOND 10 +/* Inter-Thread communication */ -/* SECTION: IPC */ -/* Using Semaphore*/ #define RT_USING_SEMAPHORE - -/* Using Mutex */ #define RT_USING_MUTEX - -/* Using Event */ #define RT_USING_EVENT - -/* Using MailBox */ #define RT_USING_MAILBOX - -/* Using Message Queue */ #define RT_USING_MESSAGEQUEUE +#define RT_USING_SIGNALS -/* SECTION: Memory Management */ -/* Using Memory Pool Management*/ -#define RT_USING_MEMPOOL +/* Memory Management */ -/* Using Dynamic Heap Management */ +#define RT_USING_MEMPOOL +#define RT_USING_SMALL_MEM #define RT_USING_HEAP -/* Using Small MM */ -#define RT_USING_SMALL_MEM +/* Kernel Device Object */ -/* SECTION: Device System */ -/* Using Device System */ #define RT_USING_DEVICE - -/* SECTION: Console options */ #define RT_USING_CONSOLE -/* the buffer size of console*/ -#define RT_CONSOLEBUF_SIZE 128 +#define RT_CONSOLEBUF_SIZE 256 +#define RT_CONSOLE_DEVICE_NAME "uart0" +#define RT_VER_NUM 0x50000 +#define RT_USING_CACHE +#define RT_USING_USERSPACE +#define KERNEL_VADDR_START 0x00000000 +#define PV_OFFSET 0 +#define ARCH_X86 + +/* RT-Thread Components */ + +#define RT_USING_COMPONENTS_INIT +#define RT_USING_USER_MAIN +#define RT_MAIN_THREAD_STACK_SIZE 2048 +#define RT_MAIN_THREAD_PRIORITY 10 -#define IDLE_THREAD_STACK_SIZE 1024 /* idle stack 1K */ +/* C++ features */ + + +/* Command shell */ -/* SECTION: finsh, a C-Express shell */ #define RT_USING_FINSH -#define FINSH_USING_MSH -#define FINSH_USING_MSH_ONLY -/* Using symbol table */ +#define RT_USING_MSH +#define FINSH_THREAD_NAME "tshell" +#define FINSH_USING_HISTORY +#define FINSH_HISTORY_LINES 5 #define FINSH_USING_SYMTAB #define FINSH_USING_DESCRIPTION +#define FINSH_THREAD_PRIORITY 20 +#define FINSH_THREAD_STACK_SIZE 4096 +#define FINSH_CMD_SIZE 80 +#define FINSH_ARG_MAX 10 + +/* Device virtual file system */ + +#define RT_USING_DFS +#define DFS_USING_WORKDIR +#define DFS_FILESYSTEMS_MAX 2 +#define DFS_FILESYSTEM_TYPES_MAX 2 +#define DFS_FD_MAX 16 +#define RT_USING_DFS_DEVFS +#define RT_USING_DFS_ROMFS -// #define RT_USING_LIBC -// #define RT_USING_PTHREADS +/* Device Drivers */ -/* SECTION: device filesystem */ - #define RT_USING_DFS +#define RT_USING_DEVICE_IPC +#define RT_PIPE_BUFSZ 512 +#define RT_USING_SERIAL +#define RT_SERIAL_RB_BUFSZ 64 -#define RT_USING_DFS_ELMFAT -#define RT_DFS_ELM_WORD_ACCESS -/* Reentrancy (thread safe) of the FatFs module. */ -#define RT_DFS_ELM_REENTRANT -/* Number of volumes (logical drives) to be used. */ -#define RT_DFS_ELM_DRIVES 2 -/* #define RT_DFS_ELM_USE_LFN 1 */ -#define RT_DFS_ELM_MAX_LFN 255 -/* Maximum sector size to be handled. */ -#define RT_DFS_ELM_MAX_SECTOR_SIZE 512 +/* Using USB */ -/* the max number of mounted filesystem */ -#define DFS_FILESYSTEMS_MAX 2 -/* the max number of opened files */ -#define DFS_FD_MAX 4 -#define RT_USING_DFS_DEVFS +/* POSIX layer and C standard library */ + +#define RT_USING_LIBC +#define RT_USING_MUSL +#define RT_USING_POSIX +#define RT_USING_POSIX_CLOCKTIME + +/* Network */ + +/* Socket abstraction layer */ + + +/* Network interface device */ + + +/* light weight TCP/IP stack */ + + +/* AT commands */ + + +/* VBUS(Virtual Software BUS) */ + + +/* Utilities */ + +#define RT_USING_LWP +#define RT_LWP_MAX_NR 30 +#define LWP_TASK_STACK_SIZE 16384 +#define RT_CH_MSG_MAX_NR 1024 +#define RT_LWP_SHM_MAX_NR 64 +#define LWP_CONSOLE_INPUT_BUFFER_SIZE 1024 +#define LWP_TID_MAX_NR 64 + +/* RT-Thread online packages */ + +/* IoT - internet of things */ + + +/* Wi-Fi */ + +/* Marvell WiFi */ + + +/* Wiced WiFi */ + + +/* IoT Cloud */ + + +/* security packages */ + + +/* language packages */ + + +/* multimedia packages */ + + +/* tools packages */ + + +/* system packages */ + +/* acceleration: Assembly language or algorithmic acceleration packages */ + + +/* Micrium: Micrium software products porting for RT-Thread */ + + +/* peripheral libraries and drivers */ + + +/* AI packages */ + + +/* miscellaneous packages */ + + +/* samples: kernel and components samples */ + + +/* entertainment: terminal games and other interesting software packages */ + +#define BOARD_x86 +#define BSP_USING_UART +#define RT_USING_UART0 -/* SECTION: lwip, a lighwight TCP/IP protocol stack */ -//#define RT_USING_LWIP -/* Enable ICMP protocol*/ -#define RT_LWIP_ICMP -/* Enable UDP protocol*/ -#define RT_LWIP_UDP -/* Enable TCP protocol*/ -#define RT_LWIP_TCP -/* Enable DNS */ -#define RT_LWIP_DNS - -/* the number of simulatenously active TCP connections*/ -#define RT_LWIP_TCP_PCB_NUM 5 - -/* Using DHCP */ -/* #define RT_LWIP_DHCP */ - -/* ip address of target*/ -#define RT_LWIP_IPADDR0 192 -#define RT_LWIP_IPADDR1 168 -#define RT_LWIP_IPADDR2 1 -#define RT_LWIP_IPADDR3 30 - -/* gateway address of target*/ -#define RT_LWIP_GWADDR0 192 -#define RT_LWIP_GWADDR1 168 -#define RT_LWIP_GWADDR2 1 -#define RT_LWIP_GWADDR3 1 - -/* mask address of target*/ -#define RT_LWIP_MSKADDR0 255 -#define RT_LWIP_MSKADDR1 255 -#define RT_LWIP_MSKADDR2 255 -#define RT_LWIP_MSKADDR3 0 - -/* tcp thread options */ -#define RT_LWIP_TCPTHREAD_PRIORITY 12 -#define RT_LWIP_TCPTHREAD_MBOX_SIZE 10 -#define RT_LWIP_TCPTHREAD_STACKSIZE 1024 - -/* ethernet if thread options */ -#define RT_LWIP_ETHTHREAD_PRIORITY 15 -#define RT_LWIP_ETHTHREAD_MBOX_SIZE 10 -#define RT_LWIP_ETHTHREAD_STACKSIZE 512 - -/* TCP sender buffer space */ -#define RT_LWIP_TCP_SND_BUF 8192 -/* TCP receive window. */ -#define RT_LWIP_TCP_WND 8192 - -/* SECTION: RT-Thread/GUI */ -/* #define RT_USING_RTGUI */ - -/* name length of RTGUI object */ -#define RTGUI_NAME_MAX 12 -/* support 16 weight font */ -#define RTGUI_USING_FONT16 -/* support Chinese font */ -#define RTGUI_USING_FONTHZ -/* use DFS as file interface */ -#define RTGUI_USING_DFS_FILERW -/* use font file as Chinese font */ -#define RTGUI_USING_HZ_FILE -/* use Chinese bitmap font */ -#define RTGUI_USING_HZ_BMP -/* use small size in RTGUI */ -#define RTGUI_USING_SMALL_SIZE -/* use mouse cursor */ -/* #define RTGUI_USING_MOUSE_CURSOR */ -/* default font size in RTGUI */ -#define RTGUI_DEFAULT_FONT_SIZE 16 - -/* image support */ -/* #define RTGUI_IMAGE_XPM */ -/* #define RTGUI_IMAGE_BMP */ - -// #define RT_USING_MODULE #endif diff --git a/bsp/x86/rtconfig.py b/bsp/x86/rtconfig.py index b833f4de49f8625cb4e1d5918d05704e52ac49f8..49fbcffc90a9a5ea113a2f2f5e73d7b3cfb09339 100644 --- a/bsp/x86/rtconfig.py +++ b/bsp/x86/rtconfig.py @@ -1,10 +1,12 @@ import os # toolchains options -ARCH='ia32' -CPU='' +ARCH='x86' +CPU='i386' CROSS_TOOL='gcc' +RTT_ROOT = os.getenv('RTT_ROOT') or os.path.join(os.getcwd(), '..', '..') + if os.getenv('RTT_CC'): CROSS_TOOL = os.getenv('RTT_CC') @@ -13,7 +15,7 @@ if os.getenv('RTT_CC'): if CROSS_TOOL == 'gcc': PLATFORM = 'gcc' - EXEC_PATH = 'E:/Program Files/CodeSourcery/Sourcery_CodeBench_Lite_for_IA32_ELF/bin' + EXEC_PATH = '/home/jasonhu/Desktop/rtthread-smart/tools/gnu_gcc/i386-linux-musleabi_for_x86_64-pc-linux-gnu/bin' elif CROSS_TOOL == 'keil': print('================ERROR============================') print('Not support keil yet!') @@ -32,11 +34,11 @@ BUILD = 'debug' if PLATFORM == 'gcc': # toolchains - PREFIX = '' - CC = PREFIX + 'gcc -m32 -fno-builtin -fno-stack-protector -nostdinc' - AS = PREFIX + 'gcc -m32' + PREFIX = 'i386-unknown-linux-musl-' + CC = PREFIX + 'gcc -fno-builtin -fno-stack-protector -nostdinc -nostdlib' + AS = PREFIX + 'gcc -nostdinc -nostdlib' AR = PREFIX + 'ar' - LINK = PREFIX + 'ld -melf_i386' + LINK = PREFIX + 'ld' TARGET_EXT = 'elf' SIZE = PREFIX + 'size' OBJDUMP = PREFIX + 'objdump' @@ -45,7 +47,7 @@ if PLATFORM == 'gcc': DEVICE = '' CFLAGS = DEVICE + ' -Wall' AFLAGS = ' -c' + DEVICE + ' -x assembler-with-cpp' - LFLAGS = DEVICE + ' -Map rtthread-ia32.map -T x86_ram.lds -nostdlib' + LFLAGS = DEVICE + ' -Map rtthread-i386.map -nostdlib -n -T link.lds' CPATH = '' LPATH = '' @@ -55,5 +57,5 @@ if PLATFORM == 'gcc': AFLAGS += ' -gdwarf-2' else: CFLAGS += ' -O2' - - POST_ACTION = OBJCPY + ' -O binary $TARGET rtthread.bin\n' + SIZE + ' $TARGET \n' +DUMP_ACTION = OBJDUMP + ' -D -S $TARGET > rtthread.asm\n' +POST_ACTION = OBJCPY + ' -O binary $TARGET rtthread.bin\n' + SIZE + ' $TARGET \n' \ No newline at end of file diff --git a/bsp/x86/stdinc b/bsp/x86/stdinc new file mode 100755 index 0000000000000000000000000000000000000000..7ed9c02f9478a9e54d7dcb8f15f8c27be50200e5 Binary files /dev/null and b/bsp/x86/stdinc differ diff --git a/components/finsh/shell.c b/components/finsh/shell.c index dbf285ae86f17d7f18b01499beaf1378d1963a8c..edb115bb0147fa1d43ab1b08d74b6acb04bb07de 100644 --- a/components/finsh/shell.c +++ b/components/finsh/shell.c @@ -413,6 +413,12 @@ static void shell_push_history(struct finsh_shell *shell) } #endif +#ifdef RT_USING_GDBSERVER +pid_t exec(char*, int, int, char**); +#else +pid_t exec(char*, int, char**); +#endif + void finsh_thread_entry(void *parameter) { int ch; @@ -450,7 +456,7 @@ void finsh_thread_entry(void *parameter) #endif rt_kprintf(FINSH_PROMPT); - + while (1) { ch = finsh_getchar(); diff --git a/components/libc/compilers/musl/SConscript b/components/libc/compilers/musl/SConscript index 6d5e8fc021b7d52d1ac52029d1cdf1951c6e394b..f3de78a7184eacfb362cb39fdfa5dd1a28811d64 100644 --- a/components/libc/compilers/musl/SConscript +++ b/components/libc/compilers/musl/SConscript @@ -9,7 +9,7 @@ group = [] if rtconfig.PLATFORM == 'gcc' and GetDepend('RT_USING_MUSL'): CPPDEFINES = ['__STDC_ISO_10646__=201206L', '_STDC_PREDEF_H'] LIBS = ['c', 'gcc'] - + if os.path.exists(os.path.join(cwd, 'libc', 'lib', 'libc.a')): CFLAGS = ' -nostdinc' CPPPATH = [cwd, cwd + '/libc/include'] diff --git a/components/lwp/Kconfig b/components/lwp/Kconfig index da5ca2a1906ad0a6b73c559cdc7d33ca6d758d13..469948ad5e421af0af8479fea9ee36407a97fa91 100644 --- a/components/lwp/Kconfig +++ b/components/lwp/Kconfig @@ -3,7 +3,7 @@ config RT_USING_LWP select RT_USING_DFS select RT_USING_LIBC select RT_USING_POSIX_CLOCKTIME - depends on ARCH_ARM_CORTEX_M || ARCH_ARM_ARM9 || ARCH_ARM_CORTEX_A || ARCH_RISCV64 + depends on ARCH_ARM_CORTEX_M || ARCH_ARM_ARM9 || ARCH_ARM_CORTEX_A || ARCH_RISCV64 || ARCH_X86 default n help The lwP is a light weight process running in user mode. diff --git a/components/lwp/SConscript b/components/lwp/SConscript index b77df25870b5a8a412037892a2dad92774417233..7dedd1389c2d82677075a6a7cb2b249b10e63609 100644 --- a/components/lwp/SConscript +++ b/components/lwp/SConscript @@ -5,7 +5,10 @@ cwd = GetCurrentDir() src = [] CPPPATH = [cwd] -support_arch = {"arm": ["cortex-m3", "cortex-m4", "cortex-m7", "arm926", "cortex-a"],"aarch64":["cortex-a"],"risc-v": ["rv64"]} +support_arch = {"arm": ["cortex-m3", "cortex-m4", "cortex-m7", "arm926", "cortex-a"], + "aarch64":["cortex-a"], + "risc-v": ["rv64"], + "x86": ["i386"]} platform_file = {'armcc': 'rvds.S', 'gcc': 'gcc.S', 'iar': 'iar.S'} platform = rtconfig.PLATFORM diff --git a/components/lwp/arch/x86/i386/SConscript b/components/lwp/arch/x86/i386/SConscript new file mode 100644 index 0000000000000000000000000000000000000000..c0d3aead777d389ef93caf0803640b8a4d5d89cf --- /dev/null +++ b/components/lwp/arch/x86/i386/SConscript @@ -0,0 +1,11 @@ +# RT-Thread building script for component + +from building import * + +cwd = GetCurrentDir() +src = Glob('*.c') + Glob('*.S') +CPPPATH = [cwd] + +group = DefineGroup('lwp-x86-i386', src, depend = ['RT_USING_LWP'], CPPPATH = CPPPATH) + +Return('group') diff --git a/components/lwp/arch/x86/i386/lwp_arch.c b/components/lwp/arch/x86/i386/lwp_arch.c new file mode 100644 index 0000000000000000000000000000000000000000..72b45a45fa696d873d93ea49abc7fd26fd71d665 --- /dev/null +++ b/components/lwp/arch/x86/i386/lwp_arch.c @@ -0,0 +1,351 @@ +/* + * Copyright (c) 2006-2018, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2021-7-14 JasonHu first version + */ + +#include +#include +#include + +#ifdef RT_USING_USERSPACE + +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +extern size_t MMUTable[]; + +int arch_expand_user_stack(void *addr) +{ + int ret = 0; + size_t stack_addr = (size_t)addr; + + stack_addr &= ~PAGE_OFFSET_MASK; + if ((stack_addr >= (size_t)USER_STACK_VSTART) && (stack_addr < (size_t)USER_STACK_VEND)) + { + void *map = lwp_map_user(lwp_self(), (void *)stack_addr, PAGE_SIZE, RT_FALSE); + + if (map || lwp_user_accessable(addr, 1)) + { + ret = 1; + } + } + return ret; +} + +void *get_thread_kernel_stack_top(rt_thread_t thread) +{ + return RT_NULL; +} + +/** + * don't support this in i386, it's ok! + */ +void *lwp_get_user_sp() +{ + return RT_NULL; +} + +int arch_user_space_init(struct rt_lwp *lwp) +{ + rt_size_t *mmu_table; + + mmu_table = (rt_size_t *)rt_pages_alloc(0); + if (!mmu_table) + { + return -1; + } + rt_memset(mmu_table, 0, ARCH_PAGE_SIZE); + + lwp->end_heap = USER_HEAP_VADDR; + memcpy(mmu_table, MMUTable, ARCH_PAGE_SIZE / 4); + memset((rt_uint8_t *)mmu_table + ARCH_PAGE_SIZE / 4, 0, ARCH_PAGE_SIZE / 4 * 3); + rt_hw_cpu_dcache_ops(RT_HW_CACHE_FLUSH, mmu_table, ARCH_PAGE_SIZE); + if (rt_hw_mmu_map_init(&lwp->mmu_info, (void*)USER_VADDR_START, USER_VADDR_TOP - USER_VADDR_START, mmu_table, PV_OFFSET) < 0) + { + rt_pages_free(mmu_table, 0); + return -1; + } + return 0; +} + +void *arch_kernel_mmu_table_get(void) +{ + return (void *)((char *)MMUTable); +} + +void arch_user_space_vtable_free(struct rt_lwp *lwp) +{ + if (lwp && lwp->mmu_info.vtable) + { + rt_pages_free(lwp->mmu_info.vtable, 0); + lwp->mmu_info.vtable = NULL; + } +} + +void lwp_set_thread_area(void *p) +{ + rt_hw_seg_tls_set((rt_ubase_t) p); + rt_thread_t cur = rt_thread_self(); + cur->thread_idr = p; /* update thread idr after first set */ +} + +void *rt_cpu_get_thread_idr(void) +{ + rt_thread_t cur = rt_thread_self(); + if (!cur->lwp) /* no lwp, don't get thread idr from tls seg */ + return NULL; + return (void *)rt_hw_seg_tls_get(); /* get thread idr from tls seg */ +} + +void rt_cpu_set_thread_idr(void *p) +{ + rt_thread_t cur = rt_thread_self(); + if (!cur->lwp) /* no lwp, don't set thread idr to tls seg */ + return; + rt_hw_seg_tls_set((rt_ubase_t) p); /* set tls seg addr as thread idr */ +} + +static void lwp_user_stack_init(rt_hw_stack_frame_t *frame) +{ + frame->ds = frame->es = USER_DATA_SEL; + frame->cs = USER_CODE_SEL; + frame->ss = USER_STACK_SEL; + frame->gs = USER_TLS_SEL; + frame->fs = 0; /* unused */ + + frame->edi = frame->esi = \ + frame->ebp = frame->esp_dummy = 0; + frame->eax = frame->ebx = \ + frame->ecx = frame->edx = 0; + + frame->error_code = 0; + frame->vec_no = 0; + + frame->eflags = (EFLAGS_MBS | EFLAGS_IF_1 | EFLAGS_IOPL_3); +} + +extern void lwp_switch_to_user(void *frame); +/** + * user entry, set frame. + * at the end of execute, we need enter user mode, + * in x86, we can set stack, arg, text entry in a stack frame, + * then pop then into register, final use iret to switch kernel mode to user mode. + */ +void lwp_user_entry(void *args, const void *text, void *ustack, void *k_stack) +{ + rt_uint8_t *stk = k_stack; + stk -= sizeof(struct rt_hw_stack_frame); + struct rt_hw_stack_frame *frame = (struct rt_hw_stack_frame *)stk; + + lwp_user_stack_init(frame); + frame->esp = (rt_uint32_t)ustack - 32; + frame->ebx = (rt_uint32_t)args; + frame->eip = (rt_uint32_t)text; + lwp_switch_to_user(frame); + /* should never return */ +} + +void lwp_exec_user(void *args, void *kernel_stack, void *user_entry) +{ + lwp_user_entry(args, (const void *)user_entry, (void *)USER_STACK_VEND, kernel_stack); +} + +extern void lwp_thread_return(); +extern void lwp_thread_return_end(); + +static void *lwp_copy_return_code_to_user_stack(void *ustack) +{ + size_t size = (size_t)lwp_thread_return_end - (size_t)lwp_thread_return; + void *retcode = (void *)((size_t)ustack - size); + memcpy(retcode, (void *)lwp_thread_return, size); + return retcode; +} + +/** + * when called sys_thread_create, need create a thread, after thread stared, will come here, + * like lwp_user_entry, will enter user mode, but we must set thread exit function. it looks like: + * void func(void *arg) + * { + * ... + * } + * when thread func return, we must call exit code to exit thread, or not the program runs away. + * so we need copy exit code to user and call exit code when func return. + */ +void lwp_user_thread_entry(void *args, const void *text, void *ustack, void *k_stack) +{ + RT_ASSERT(ustack != NULL); + + rt_uint8_t *stk; + stk = k_stack + sizeof(rt_ubase_t); + stk = (rt_uint8_t *)RT_ALIGN_DOWN(((rt_ubase_t)stk), sizeof(rt_ubase_t)); + stk -= sizeof(struct rt_hw_stack_frame); + struct rt_hw_stack_frame *frame = (struct rt_hw_stack_frame *)stk; + + lwp_user_stack_init(frame); + + /* make user thread stack */ + unsigned long *retcode = lwp_copy_return_code_to_user_stack(ustack); /* copy ret code */ + unsigned long *retstack = (unsigned long *)RT_ALIGN_DOWN(((rt_ubase_t)retcode), sizeof(rt_ubase_t)); + + /** + * x86 call stack + * + * retcode here + * + * arg n + * arg n - 1 + * ... + * arg 2 + * arg 1 + * arg 0 + * eip (caller return addr, point to retcode) + * esp + */ + *(--retstack) = (unsigned long) args; /* arg */ + *(--retstack) = (unsigned long) retcode; /* ret eip */ + + frame->esp = (rt_uint32_t)retstack; + frame->eip = (rt_uint32_t)text; + lwp_switch_to_user(frame); + /* should never return */ +} + +rt_thread_t rt_thread_sp_to_thread(void *spmember_addr) +{ + return (rt_thread_t)(((rt_ubase_t)spmember_addr) - (offsetof(struct rt_thread, sp))); +} + +/** + * set exec context for fork/clone. + * user_stack(unused) + */ +void lwp_set_thread_context(void *exit_addr, void *new_thread_stack, void *user_stack, void **thread_sp) +{ + /** + * thread kernel stack was set to tss.esp0, when intrrupt/syscall occur, + * the stack frame will store in kernel stack top, so we can get the stack + * frame by kernel stack top. + */ + rt_hw_stack_frame_t *frame = (rt_hw_stack_frame_t *)((rt_ubase_t)new_thread_stack - sizeof(rt_hw_stack_frame_t)); + + frame->eax = 0; /* child return 0 */ + + rt_hw_context_t *context = (rt_hw_context_t *) (((unsigned int *)frame) - HW_CONTEXT_MEMBER_NR); + context->eip = (void *)exit_addr; /* when thread started, jump to intr exit for enter user mode */ + context->ebp = context->ebx = context->esi = context->edi = 0; + + /** + * set sp as the address of first member of rt_hw_context, + * when scheduler call switch, pop stack from context stack. + */ + *thread_sp = (void *)&context->ebp; + + /** + * after set context, the stack like this: + * + * ----------- + * stack frame| eax = 0 + * ----------- + * context(only HW_CONTEXT_MEMBER_NR)| eip = rt_hw_intr_exit + * ----------- + * thread sp | to <- rt_hw_context_switch(from, to) + * ----------- + */ +} + +#ifdef RT_USING_SIGNALS + +#define SIGNAL_RET_CODE_SIZE 16 + +struct rt_signal_frame +{ + char *ret_addr; /* return addr when handler return */ + int signo; /* signal for user handler arg */ + rt_hw_stack_frame_t frame; /* save kernel signal stack */ + char ret_code[SIGNAL_RET_CODE_SIZE]; /* save return code */ +}; +typedef struct rt_signal_frame rt_signal_frame_t; + +extern void lwp_signal_return(); +extern void lwp_signal_return_end(); + +void lwp_try_do_signal(rt_hw_stack_frame_t *frame) +{ + if (!lwp_signal_check()) + return; + + /* 1. backup signal mask */ + int signal = lwp_signal_backup((void *) frame->esp, (void *) frame->eip, (void *) frame->eflags); + + /* 2. get signal handler */ + lwp_sighandler_t handler = lwp_sighandler_get(signal); + if (handler == RT_NULL) /* no handler, ignore */ + { + lwp_signal_restore(); + return; + } + + rt_base_t level = rt_hw_interrupt_disable(); + /* 3. backup frame */ + rt_signal_frame_t *sig_frame = (rt_signal_frame_t *)((frame->esp - sizeof(rt_signal_frame_t)) & -8UL); + memcpy(&sig_frame->frame, frame, sizeof(rt_hw_stack_frame_t)); + sig_frame->signo = signal; + + /** + * 4. copy user return code into user stack + * + * save current frame on user stack. the user stack like: + * + * ---------- + * user code stack + * ----------+ -> esp before enter kernel + * signal frame + * ----------+ -> esp when handle signal handler + * signal handler stack + * ---------- + */ + size_t ret_code_size = (size_t)lwp_signal_return_end - (size_t)lwp_signal_return; + memcpy(sig_frame->ret_code, (void *)lwp_signal_return, ret_code_size); + sig_frame->ret_addr = sig_frame->ret_code; + + /* 5. jmp to user execute handler, update frame register info */ + lwp_user_stack_init(frame); + frame->eip = (rt_uint32_t) handler; + frame->esp = (rt_uint32_t) sig_frame; + + rt_hw_interrupt_enable(level); +} + +void lwp_signal_do_return(rt_hw_stack_frame_t *frame) +{ + /** + * ASSUME: in x86, each stack push and pop element is 4 byte. so STACK_ELEM_SIZE = sizeof(int) => 4. + * when signal handler return, the stack move to the buttom of signal frame. + * but return will pop eip from esp, then {esp += STACK_ELEM_SIZE}, thus {esp = (signal frame) + STACK_ELEM_SIZE}. + * so {(signal frame) = esp - STACK_ELEM_SIZE} + */ + rt_signal_frame_t *sig_frame = (rt_signal_frame_t *)(frame->esp - sizeof(rt_uint32_t)); + memcpy(frame, &sig_frame->frame, sizeof(rt_hw_stack_frame_t)); + + /** + * restore signal info, but don't use rt_user_context, + * we use sig_frame to restore stack frame + */ + lwp_signal_restore(); +} +#endif /* RT_USING_SIGNALS */ + +#endif /* RT_USING_USERSPACE */ diff --git a/components/lwp/arch/x86/i386/lwp_arch.h b/components/lwp/arch/x86/i386/lwp_arch.h new file mode 100644 index 0000000000000000000000000000000000000000..29f43021f2fd8b25ea27ae2900d61784fcec48d4 --- /dev/null +++ b/components/lwp/arch/x86/i386/lwp_arch.h @@ -0,0 +1,52 @@ +/* + * Copyright (c) 2006-2021, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2021-07-18 JasonHu first version + */ + +#ifndef LWP_ARCH_H__ +#define LWP_ARCH_H__ + +#include +#include + +#ifdef RT_USING_USERSPACE +#define USER_VADDR_TOP 0xFFFFF000UL +#define USER_HEAP_VEND 0xE0000000UL +#define USER_HEAP_VADDR 0x90000000UL +#define USER_STACK_VSTART 0x80000000UL +#define USER_STACK_VEND USER_HEAP_VADDR +#define LDSO_LOAD_VADDR 0x70000000UL +#define USER_VADDR_START 0x40000000UL +#define USER_LOAD_VADDR USER_VADDR_START + +#define SIGNAL_RETURN_SYSCAL_ID 0xe000 + +#ifdef __cplusplus +extern "C" { +#endif + +int arch_user_space_init(struct rt_lwp *lwp); +void arch_user_space_vtable_free(struct rt_lwp *lwp); +void *arch_kernel_mmu_table_get(void); +void arch_kuser_init(rt_mmu_info *mmu_info, void *vectors); +int arch_expand_user_stack(void *addr); + +rt_thread_t rt_thread_sp_to_thread(void *spmember_addr); + +rt_inline unsigned long ffz(unsigned long x) +{ + return __builtin_ffs(~x) - 1; +} + +#ifdef __cplusplus +} +#endif + +#endif /* RT_USING_USERSPACE */ + +#endif /*LWP_ARCH_H__*/ diff --git a/components/lwp/arch/x86/i386/lwp_gcc.S b/components/lwp/arch/x86/i386/lwp_gcc.S new file mode 100644 index 0000000000000000000000000000000000000000..4b024d1e4097f1d76baf3d71d0fcc316d0b572f1 --- /dev/null +++ b/components/lwp/arch/x86/i386/lwp_gcc.S @@ -0,0 +1,74 @@ +/* + * Copyright (c) 2006-2020, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2021-7-14 JasonHu first version + */ + +#include "rtconfig.h" + +#define __ASSEMBLY__ + +.section .text.lwp + +/* + * void lwp_switch_to_user(frame); + */ +.global lwp_switch_to_user +lwp_switch_to_user: + movl 0x4(%esp), %esp + addl $4,%esp // skip intr no + popal + popl %gs + popl %fs + popl %es + popl %ds + addl $4, %esp // skip error_code + iret // enter to user mode + +.extern syscall_exit +.global sys_fork +.global sys_vfork +.global sys_fork_exit +sys_fork: +sys_vfork: + jmp _sys_fork +sys_fork_exit: + jmp syscall_exit + +.global sys_clone +.global sys_clone_exit +sys_clone: + jmp _sys_clone +sys_clone_exit: + jmp syscall_exit + +/** + * rt thread return code + */ +.align 4 +.global lwp_thread_return +lwp_thread_return: + movl $1, %eax // eax = 1, sys_exit + movl $0, %ebx + int $0x80 +.align 4 +.global lwp_thread_return_end +lwp_thread_return_end: + +#ifdef RT_USING_SIGNALS +/** + * signal return code + */ +.align 4 +.global lwp_signal_return +lwp_signal_return: + movl $0xe000, %eax // special syscall id for return code + int $0x80 +.align 4 +.global lwp_signal_return_end +lwp_signal_return_end: +#endif /* RT_USING_SIGNALS */ \ No newline at end of file diff --git a/components/lwp/arch/x86/i386/reloc.c b/components/lwp/arch/x86/i386/reloc.c new file mode 100644 index 0000000000000000000000000000000000000000..e50cfcd81e52012c886f635a31a1fec91ca86388 --- /dev/null +++ b/components/lwp/arch/x86/i386/reloc.c @@ -0,0 +1,31 @@ +#include +#include +#include +#include +#ifdef RT_USING_USERSPACE +#include +#include +#endif + +typedef struct +{ + Elf32_Word st_name; + Elf32_Addr st_value; + Elf32_Word st_size; + unsigned char st_info; + unsigned char st_other; + Elf32_Half st_shndx; +} Elf32_sym; + +#ifdef RT_USING_USERSPACE +void lwp_elf_reloc(rt_mmu_info *m_info, void *text_start, void *rel_dyn_start, size_t rel_dyn_size, void *got_start, size_t got_size, Elf32_sym *dynsym) +{ + +} +#else + +void lwp_elf_reloc(void *text_start, void *rel_dyn_start, size_t rel_dyn_size, void *got_start, size_t got_size, Elf32_sym *dynsym) +{ + +} +#endif diff --git a/components/lwp/lwp_syscall.c b/components/lwp/lwp_syscall.c index 2886c8ecc96fb76159db499b3303412344f1392f..81dae58dfd3e3d826d2e5f365094dd48f0d04489 100644 --- a/components/lwp/lwp_syscall.c +++ b/components/lwp/lwp_syscall.c @@ -169,6 +169,7 @@ int sys_futex(int *uaddr, int op, int val, void *timeout, void *uaddr2, int val3 #define INTF_IPV6_V6ONLY 26 #define IMPL_IPV6_V6ONLY 27 +#ifdef RT_USING_SAL static void convert_sockopt(int *level, int *optname) { if (*level == INTF_SOL_SOCKET) @@ -316,6 +317,7 @@ static void convert_sockopt(int *level, int *optname) } } +#endif /* RT_USING_SAL */ #ifdef RT_USING_LWIP static void sockaddr_tolwip(const struct musl_sockaddr *std, struct sockaddr *lwip) diff --git a/libcpu/Kconfig b/libcpu/Kconfig index 93a534a57d65bb223e4bb96ebb5ddaf5650c95c3..cf8ed60d19d74b24f30a54a8c1bbedbbe859d493 100644 --- a/libcpu/Kconfig +++ b/libcpu/Kconfig @@ -159,3 +159,6 @@ config ARCH_TIDSP_C28X config ARCH_HOST_SIMULATOR bool + +config ARCH_X86 + bool \ No newline at end of file diff --git a/libcpu/x86/SConscript b/libcpu/x86/SConscript new file mode 100644 index 0000000000000000000000000000000000000000..01afd9a24eef4c92c317509029391d59602a2033 --- /dev/null +++ b/libcpu/x86/SConscript @@ -0,0 +1,20 @@ +# RT-Thread building script for bridge +import os +from building import * + +Import('rtconfig') + +cwd = GetCurrentDir() +group = [] +list = os.listdir(cwd) + +# add common code files +if rtconfig.CPU == "i386" : + group = group +else : + group = group + SConscript(os.path.join(cwd, 'common', 'SConscript')) + +# cpu porting code files +group = group + SConscript(os.path.join(cwd, rtconfig.CPU, 'SConscript')) + +Return('group') \ No newline at end of file diff --git a/libcpu/x86/i386/SConscript b/libcpu/x86/i386/SConscript new file mode 100644 index 0000000000000000000000000000000000000000..b0ae20ba0298e00e05eba2ddc73df9424d22ec79 --- /dev/null +++ b/libcpu/x86/i386/SConscript @@ -0,0 +1,14 @@ +# RT-Thread building script for component + +from building import * + +Import('rtconfig') + +cwd = GetCurrentDir() +src = Glob('*.c') + Glob('*.cpp') + Glob('*_gcc.S') +CPPPATH = [cwd] +ASFLAGS = '' + +group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH, ASFLAGS = ASFLAGS) + +Return('group') diff --git a/libcpu/x86/i386/backtrace.c b/libcpu/x86/i386/backtrace.c new file mode 100644 index 0000000000000000000000000000000000000000..a72562a1abcd1e221bf19edbb1207573a85b37fb --- /dev/null +++ b/libcpu/x86/i386/backtrace.c @@ -0,0 +1,33 @@ +#include +#include + +static int rt_hw_backtrace(void **buffer, int size) +{ + int i = 0; + int n = 0; + unsigned int _ebp = 0; + unsigned int _eip = 0; + __asm__ __volatile__(" movl %%ebp, %0" :"=g" (_ebp)::"memory"); + for(i = 0; i < size && _ebp != 0 && *(unsigned int*)_ebp != 0 && + *(unsigned int *)_ebp != _ebp; i++) { + _eip = (unsigned int)((unsigned int*)_ebp + 1); + _eip = *(unsigned int*)_eip; + _ebp = *(unsigned int*)_ebp; + buffer[i] = (void*)_eip; + n++; + } + return n; +} + +void rt_hw_print_backtrace(void) +{ + void *buf[BACKTRACE_CNT] = {RT_NULL}; + int cnt = rt_hw_backtrace(buf, BACKTRACE_CNT); + rt_kprintf("[!] Call backtrace:\n"); + int i; + for (i = 0; i < cnt; i++) + { + rt_kprintf("%d: call %p\n", i, buf[i]); + } + rt_kprintf("[!] Call backtrace done.\n"); +} diff --git a/libcpu/x86/i386/backtrace.h b/libcpu/x86/i386/backtrace.h new file mode 100644 index 0000000000000000000000000000000000000000..61ba3dd2ba032b551c2530f6d514ef5f769bf8f8 --- /dev/null +++ b/libcpu/x86/i386/backtrace.h @@ -0,0 +1,17 @@ +/* + * Copyright (c) 2006-2021, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2021-07-28 JasonHu first version + */ + +#ifndef __HW_BACKTRACE_H__ +#define __HW_BACKTRACE_H__ + +#define BACKTRACE_CNT 10 +void rt_hw_print_backtrace(void); + +#endif /* __HW_BACKTRACE_H__ */ \ No newline at end of file diff --git a/libcpu/x86/i386/boot_module.c b/libcpu/x86/i386/boot_module.c new file mode 100644 index 0000000000000000000000000000000000000000..a6ed4561380dc15302f8a991b0be5f26e4a9a914 --- /dev/null +++ b/libcpu/x86/i386/boot_module.c @@ -0,0 +1,68 @@ +/* + * Copyright (c) 2006-2021, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2021-07-15 JasonHu,GUI first version + */ + +#include "boot_module.h" +#include "multiboot2.h" +#include + +static void boot_module_init(struct multiboot_tag *tag) +{ + struct boot_modules_info_block *modules_info = (struct boot_modules_info_block *)BOOT_MODULE_INFO_ADDR; + int index = modules_info->modules_num; + + if (index >= MAX_BOOT_MODULES_NUM + || modules_info->modules_size + ((struct multiboot_tag_module *)tag)->size > MAX_BOOT_MODULES_SIZE) + { + return; + } + + modules_info->modules[index].size = ((struct multiboot_tag_module *)tag)->size; + modules_info->modules[index].start = ((struct multiboot_tag_module *)tag)->mod_start; + modules_info->modules[index].end = ((struct multiboot_tag_module *)tag)->mod_end; + modules_info->modules[index].type = BOOT_MODULE_UNKNOWN; + + modules_info->modules_size += modules_info->modules[index].size; + ++modules_info->modules_num; +} + +static void boot_memory_init(struct multiboot_tag *tag) +{ + unsigned long mem_upper = ((struct multiboot_tag_basic_meminfo *)tag)->mem_upper; + unsigned long mem_lower = ((struct multiboot_tag_basic_meminfo *)tag)->mem_lower; + // memory size store in 0x000001000 + *((unsigned int *)0x000001000) = ((mem_upper - mem_lower) << 10) + 0x100000; +} + +int rt_boot_setup_entry(unsigned long magic, unsigned long addr) +{ + // whether a multiboot + if (magic != MULTIBOOT2_BOOTLOADER_MAGIC || addr & 7) + return -1; + struct multiboot_tag *tag; + + boot_module_info_init(); + + for (tag = (struct multiboot_tag*)(addr + 8); tag->type != MULTIBOOT_TAG_TYPE_END; \ + tag = (struct multiboot_tag*)((multiboot_uint8_t *)tag + ((tag->size + 7) & ~7))) + { + switch (tag->type) + { + case MULTIBOOT_TAG_TYPE_MODULE: + boot_module_init(tag); + break; + case MULTIBOOT_TAG_TYPE_BASIC_MEMINFO: + boot_memory_init(tag); + break; + default: // other type, do nothing + break; + } + } + return 0; +} diff --git a/libcpu/x86/i386/boot_module.h b/libcpu/x86/i386/boot_module.h new file mode 100644 index 0000000000000000000000000000000000000000..2f80350b612f2c5592933ef7e95f173d35819ffb --- /dev/null +++ b/libcpu/x86/i386/boot_module.h @@ -0,0 +1,61 @@ +/* + * Copyright (c) 2006-2021, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2021-07-15 JasonHu,GUI first version + */ + +#ifndef __BOOT_MODULE_H__ +#define __BOOT_MODULE_H__ + +#define BOOT_MODULE_INFO_ADDR 0x3F1000 + +#define SIZE_MB (1024*1024) +#define MAX_BOOT_MODULES_NUM 1 +#define MAX_BOOT_MODULES_SIZE (1 * SIZE_MB) + +enum boot_module_type +{ + // Unknown type + BOOT_MODULE_UNKNOWN = 0, +}; + +struct boot_modules_info_block +{ + unsigned int modules_num; + unsigned int modules_size; + struct { + unsigned int type; + unsigned int size; + unsigned int start; + unsigned int end; + } modules[MAX_BOOT_MODULES_NUM]; +} __attribute__ ((packed)); + +static inline void boot_module_info_init() +{ + struct boot_modules_info_block *modules_info = (struct boot_modules_info_block *)BOOT_MODULE_INFO_ADDR; + modules_info->modules_num = 0; + modules_info->modules_size = 0; +} + +static inline void *boot_module_info_find(unsigned long base_addr, enum boot_module_type type) +{ + int i; + struct boot_modules_info_block *modules_info; + modules_info = (struct boot_modules_info_block *)(base_addr + BOOT_MODULE_INFO_ADDR); + + for (i = 0; i < modules_info->modules_num; ++i) + { + if (modules_info->modules[i].type == type) + { + return (void*)(base_addr + modules_info->modules[i].start); + } + } + return (void*)0; +} + +#endif /* __BOOT_MODULE_H__ */ \ No newline at end of file diff --git a/libcpu/x86/i386/cache.c b/libcpu/x86/i386/cache.c new file mode 100644 index 0000000000000000000000000000000000000000..3e88d9fcca6a34f5735445a2bd2b546277778c40 --- /dev/null +++ b/libcpu/x86/i386/cache.c @@ -0,0 +1,64 @@ +/* + * Copyright (c) 2006-2021, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2021-07-14 JasonHu first version + */ + +#include +#include + +#include "cache.h" + +void rt_hw_cpu_icache_invalidate(void *addr,int size) +{ + +} + +void rt_hw_cpu_dcache_invalidate(void *addr,int size) +{ + +} + +void rt_hw_cpu_dcache_clean(void *addr,int size) +{ + +} + +void rt_hw_cpu_icache_ops(int ops,void *addr,int size) +{ + +} + +void rt_hw_cpu_dcache_ops(int ops,void *addr,int size) +{ + +} + +void rt_hw_cpu_dcache_flush_all() +{ + +} + +void rt_hw_cpu_icache_invalidate_all() +{ + +} + +rt_base_t rt_hw_cpu_icache_status() +{ + return 0; +} + +rt_base_t rt_hw_cpu_dcache_status() +{ + return 0; +} + +int sys_cacheflush(void *addr, int size, int cache) +{ + return 0; +} \ No newline at end of file diff --git a/libcpu/x86/i386/cache.h b/libcpu/x86/i386/cache.h new file mode 100644 index 0000000000000000000000000000000000000000..48032e7295f79f358abbec44e72e247fed6b7f9b --- /dev/null +++ b/libcpu/x86/i386/cache.h @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2006-2021, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2021-7-19 JasonHu The first version + */ + +#ifndef __CPUPORT_H__ +#define __CPUPORT_H__ + +#include + +rt_inline rt_uint32_t rt_cpu_icache_line_size() +{ + return 0; +} + +rt_inline rt_uint32_t rt_cpu_dcache_line_size() +{ + return 0; +} + +void rt_hw_cpu_icache_invalidate(void *addr,int size); +void rt_hw_cpu_dcache_invalidate(void *addr,int size); +void rt_hw_cpu_dcache_clean(void *addr,int size); +void rt_hw_cpu_icache_ops(int ops,void *addr,int size); +void rt_hw_cpu_dcache_ops(int ops,void *addr,int size); +void rt_hw_cpu_dcache_flush_all(); +void rt_hw_cpu_icache_invalidate_all(); +rt_base_t rt_hw_cpu_icache_status(); +rt_base_t rt_hw_cpu_dcache_status(); + +#endif /* __CPUPORT_H__ */ \ No newline at end of file diff --git a/libcpu/x86/i386/context_gcc.S b/libcpu/x86/i386/context_gcc.S new file mode 100644 index 0000000000000000000000000000000000000000..455e9cd91a80fb684203cfda3b1fb4d8e052680f --- /dev/null +++ b/libcpu/x86/i386/context_gcc.S @@ -0,0 +1,51 @@ +/* + * Copyright (c) 2006-2021, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2021/07/14 JasonHu First version + */ + +#define __ASSEMBLY__ +#include + +.code32 +.text + +/* + * void rt_hw_context_switch_to_real(rt_ubase_t to); + */ +.globl rt_hw_context_switch_to_real +rt_hw_context_switch_to_real: + movl 0x4(%esp), %eax // get thread "to" + movl (%eax), %esp // restore sp + + popl %ebp + popl %ebx + popl %edi + popl %esi + ret + +/* + * void rt_hw_context_switch_real(rt_ubase_t from, rt_ubase_t to); + */ +.globl rt_hw_context_switch_real +rt_hw_context_switch_real: + pushl %esi + pushl %edi + pushl %ebx + pushl %ebp + + movl 0x14(%esp), %eax // get "from" + movl %esp, (%eax) // save sp + + movl 0x18(%esp), %eax // get "to" + movl (%eax), %esp // restore sp + + popl %ebp + popl %ebx + popl %edi + popl %esi + ret diff --git a/libcpu/x86/i386/cpuport.c b/libcpu/x86/i386/cpuport.c new file mode 100644 index 0000000000000000000000000000000000000000..1649c46be6143f059517fe0a35499368fddbd4a2 --- /dev/null +++ b/libcpu/x86/i386/cpuport.c @@ -0,0 +1,148 @@ +/* + * Copyright (c) 2006-2021, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2021-07-14 JasonHu First Version + */ + +#include +#include +#include +#include + +#include "cpuport.h" +#include "tss.h" +#include "segment.h" +#include "gate.h" +#include "stackframe.h" +#include "page.h" +#include "mmu.h" +#include +#include +#include + +/** + * @brief from thread used interrupt context switch + * + */ +volatile rt_ubase_t rt_interrupt_from_thread = 0; +/** + * @brief to thread used interrupt context switch + * + */ +volatile rt_ubase_t rt_interrupt_to_thread = 0; +/** + * @brief flag to indicate context switch in interrupt or not + * + */ +volatile rt_ubase_t rt_thread_switch_interrupt_flag = 0; + +extern void rt_hw_context_switch_to_real(rt_ubase_t to); +extern void rt_hw_context_switch_real(rt_ubase_t from, rt_ubase_t to); + +/** + * any thread will come here when first start + */ +static void rt_hw_thread_entry(hw_thread_func_t function, void *arg, void (*texit)()) +{ + rt_hw_interrupt_enable(EFLAGS_IF); /* enable interrupt, avoid not sched */ + function(arg); + if (texit) + texit(); + dbg_log(DBG_ERROR, "rt thread execute done, should never be here!"); + for (;;) + ; +} + +rt_uint8_t *rt_hw_stack_init(void *tentry, + void *parameter, + rt_uint8_t *stack_addr, + void *texit) +{ + rt_uint8_t *stk; + stk = stack_addr + sizeof(rt_ubase_t); + stk = (rt_uint8_t *)RT_ALIGN_DOWN((rt_ubase_t)stk, sizeof(rt_ubase_t)); + stk -= sizeof(struct rt_hw_stack_frame); + stk -= sizeof(rt_hw_context_t); + + rt_hw_context_t *context = (rt_hw_context_t *)stk; + context->eip = rt_hw_thread_entry; + context->function = tentry; + context->arg = parameter; + context->texit = texit; + context->ebp = context->ebx = context->esi = context->edi = 0; + return stk; +} + +void rt_hw_context_switch_to(rt_ubase_t to) +{ + rt_thread_t to_thread = rt_thread_sp_to_thread((void *)to); + +#ifdef RT_USING_USERSPACE + /** + * update kernel esp0 as to thread's kernel stack, to make sure process can't + * get the correct kernel stack from tss esp0 when interrupt occur in user mode. + */ + rt_ubase_t stacktop = (rt_ubase_t)(to_thread->stack_addr + to_thread->stack_size); + rt_hw_tss_set_kstacktop(stacktop); + lwp_mmu_switch(to_thread); /* switch mmu before switch context */ +#endif /* RT_USING_USERSPACE */ + rt_hw_context_switch_to_real(to); +} + +void rt_hw_context_switch(rt_ubase_t from, rt_ubase_t to) +{ + rt_thread_t from_thread = rt_thread_sp_to_thread((void *)from); + rt_thread_t to_thread = rt_thread_sp_to_thread((void *)to); + +#ifdef RT_USING_LWP + lwp_user_setting_save(from_thread); +#endif /* RT_USING_LWP */ + +#ifdef RT_USING_USERSPACE + /** + * update kernel esp0 as to thread's kernel stack, to make sure process can't + * get the correct kernel stack from tss esp0 when interrupt occur in user mode. + */ + rt_ubase_t stacktop = (rt_ubase_t)(to_thread->stack_addr + to_thread->stack_size); + rt_hw_tss_set_kstacktop(stacktop); + lwp_mmu_switch(to_thread); /* switch mmu before switch context */ +#endif /* RT_USING_USERSPACE */ + + rt_hw_context_switch_real(from, to); + +#ifdef RT_USING_LWP + lwp_user_setting_restore(to_thread); +#endif /* RT_USING_LWP */ +} + +/** + * when called rt_hw_context_switch_interrupt, just set from and to thread stack. + * when interrupt leave, we check rt_thread_switch_interrupt_flag. if it's 1, we + * will set rt_thread_switch_interrupt_flag as 0 then do context switch. + * see interrupt_gcc.S on lable rt_hw_intr_thread_switch. + */ +void rt_hw_context_switch_interrupt(rt_ubase_t from, rt_ubase_t to, rt_thread_t from_thread, rt_thread_t to_thread) +{ + if (rt_thread_switch_interrupt_flag == 0) + rt_interrupt_from_thread = from; + + rt_interrupt_to_thread = to; + rt_thread_switch_interrupt_flag = 1; + return ; +} + +void rt_hw_cpu_shutdown() +{ + +} + +void rt_hw_cpu_init() +{ + rt_hw_segment_init(); + rt_hw_gate_init(); + rt_hw_tss_init(); +} \ No newline at end of file diff --git a/libcpu/x86/i386/cpuport.h b/libcpu/x86/i386/cpuport.h new file mode 100644 index 0000000000000000000000000000000000000000..6d88d3cfeb00d197a8313c4011e261097edcc573 --- /dev/null +++ b/libcpu/x86/i386/cpuport.h @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2006-2021, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2021-7-14 JasonHu The first version + */ + +#ifndef CPUPORT_H__ +#define CPUPORT_H__ + +#include +#include + +#ifndef __ASSEMBLY__ +rt_inline void rt_hw_dsb() +{ + asm volatile ("": : :"memory"); +} + +rt_inline void rt_hw_dmb() +{ + asm volatile ("": : :"memory"); +} + +rt_inline void rt_hw_isb() +{ + asm volatile ("": : :"memory"); +} + +#endif + +void rt_hw_cpu_init(); + +#endif \ No newline at end of file diff --git a/libcpu/x86/i386/gate.c b/libcpu/x86/i386/gate.c new file mode 100644 index 0000000000000000000000000000000000000000..c57329b887c011df8b1e78c159e570a358fe75fc --- /dev/null +++ b/libcpu/x86/i386/gate.c @@ -0,0 +1,156 @@ +/* + * Copyright (c) 2006-2021, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2021-07-16 JasonHu first version + */ + +#include "gate.h" +#include "segment.h" +#include "interrupt.h" +#include + +struct rt_hw_gate +{ + rt_uint16_t offset_low, selector; + rt_uint8_t datacount; + rt_uint8_t attributes; /* P(1) DPL(2) DT(1) TYPE(4) */ + rt_uint16_t offset_high; +}; +typedef struct rt_hw_gate rt_hw_gate_t; + +typedef void (*rt_hw_intr_entry_t)(void); + +extern void rt_hw_intr_entry0x00(void); +extern void rt_hw_intr_entry0x01(void); +extern void rt_hw_intr_entry0x02(void); +extern void rt_hw_intr_entry0x03(void); +extern void rt_hw_intr_entry0x04(void); +extern void rt_hw_intr_entry0x05(void); +extern void rt_hw_intr_entry0x06(void); +extern void rt_hw_intr_entry0x07(void); +extern void rt_hw_intr_entry0x08(void); +extern void rt_hw_intr_entry0x09(void); +extern void rt_hw_intr_entry0x0a(void); +extern void rt_hw_intr_entry0x0b(void); +extern void rt_hw_intr_entry0x0c(void); +extern void rt_hw_intr_entry0x0d(void); +extern void rt_hw_intr_entry0x0e(void); +extern void rt_hw_intr_entry0x0f(void); +extern void rt_hw_intr_entry0x10(void); +extern void rt_hw_intr_entry0x11(void); +extern void rt_hw_intr_entry0x12(void); +extern void rt_hw_intr_entry0x13(void); +extern void rt_hw_intr_entry0x14(void); +extern void rt_hw_intr_entry0x15(void); +extern void rt_hw_intr_entry0x16(void); +extern void rt_hw_intr_entry0x17(void); +extern void rt_hw_intr_entry0x18(void); +extern void rt_hw_intr_entry0x19(void); +extern void rt_hw_intr_entry0x1a(void); +extern void rt_hw_intr_entry0x1b(void); +extern void rt_hw_intr_entry0x1c(void); +extern void rt_hw_intr_entry0x1d(void); +extern void rt_hw_intr_entry0x1e(void); +extern void rt_hw_intr_entry0x1f(void); + +extern void rt_hw_intr_entry0x20(void); +extern void rt_hw_intr_entry0x21(void); +extern void rt_hw_intr_entry0x22(void); +extern void rt_hw_intr_entry0x23(void); +extern void rt_hw_intr_entry0x24(void); +extern void rt_hw_intr_entry0x25(void); +extern void rt_hw_intr_entry0x26(void); +extern void rt_hw_intr_entry0x27(void); +extern void rt_hw_intr_entry0x28(void); +extern void rt_hw_intr_entry0x29(void); +extern void rt_hw_intr_entry0x2a(void); +extern void rt_hw_intr_entry0x2b(void); +extern void rt_hw_intr_entry0x2c(void); +extern void rt_hw_intr_entry0x2d(void); +extern void rt_hw_intr_entry0x2e(void); +extern void rt_hw_intr_entry0x2f(void); + +static void gate_set(rt_hw_gate_t *gate, rt_hw_intr_entry_t handler, + rt_uint32_t selector, rt_uint32_t attributes, rt_uint8_t privilege) +{ + rt_ubase_t offset = (rt_ubase_t) handler; + gate->offset_low = offset & 0xffff; + gate->selector = selector; + gate->attributes = attributes | (privilege << 5); + gate->datacount = 0; + gate->offset_high = (offset >> 16) & 0xffff; +} + +void rt_hw_gate_init(void) +{ + rt_hw_gate_t *idt = (rt_hw_gate_t *) (IDT_VADDR); + /* + 将中断描述符表的内容设置成内核下的中断门 + 并把汇编部分的中断处理函数传入进去 + */ + int i; + for (i = 0; i < MAX_IDT_NR; i++) { + gate_set(IDT_OFF2PTR(idt, i), 0, 0, 0, 0); + } + gate_set(IDT_OFF2PTR(idt, EXCEPTION_INTR_BASE), rt_hw_intr_entry0x00, KERNEL_CODE_SEL, DA_386IGate, DA_GATE_DPL0); + gate_set(IDT_OFF2PTR(idt, EXCEPTION_INTR_BASE+1), rt_hw_intr_entry0x01, KERNEL_CODE_SEL, DA_386IGate, DA_GATE_DPL0); + gate_set(IDT_OFF2PTR(idt, EXCEPTION_INTR_BASE+2), rt_hw_intr_entry0x02, KERNEL_CODE_SEL, DA_386IGate, DA_GATE_DPL0); + gate_set(IDT_OFF2PTR(idt, EXCEPTION_INTR_BASE+3), rt_hw_intr_entry0x03, KERNEL_CODE_SEL, DA_386IGate, DA_GATE_DPL0); + gate_set(IDT_OFF2PTR(idt, EXCEPTION_INTR_BASE+4), rt_hw_intr_entry0x04, KERNEL_CODE_SEL, DA_386IGate, DA_GATE_DPL0); + gate_set(IDT_OFF2PTR(idt, EXCEPTION_INTR_BASE+5), rt_hw_intr_entry0x05, KERNEL_CODE_SEL, DA_386IGate, DA_GATE_DPL0); + gate_set(IDT_OFF2PTR(idt, EXCEPTION_INTR_BASE+6), rt_hw_intr_entry0x06, KERNEL_CODE_SEL, DA_386IGate, DA_GATE_DPL0); + gate_set(IDT_OFF2PTR(idt, EXCEPTION_INTR_BASE+7), rt_hw_intr_entry0x07, KERNEL_CODE_SEL, DA_386IGate, DA_GATE_DPL0); + gate_set(IDT_OFF2PTR(idt, EXCEPTION_INTR_BASE+8), rt_hw_intr_entry0x08, KERNEL_CODE_SEL, DA_386IGate, DA_GATE_DPL0); + gate_set(IDT_OFF2PTR(idt, EXCEPTION_INTR_BASE+9), rt_hw_intr_entry0x09, KERNEL_CODE_SEL, DA_386IGate, DA_GATE_DPL0); + gate_set(IDT_OFF2PTR(idt, EXCEPTION_INTR_BASE+10), rt_hw_intr_entry0x0a, KERNEL_CODE_SEL, DA_386IGate, DA_GATE_DPL0); + gate_set(IDT_OFF2PTR(idt, EXCEPTION_INTR_BASE+11), rt_hw_intr_entry0x0b, KERNEL_CODE_SEL, DA_386IGate, DA_GATE_DPL0); + gate_set(IDT_OFF2PTR(idt, EXCEPTION_INTR_BASE+12), rt_hw_intr_entry0x0c, KERNEL_CODE_SEL, DA_386IGate, DA_GATE_DPL0); + gate_set(IDT_OFF2PTR(idt, EXCEPTION_INTR_BASE+13), rt_hw_intr_entry0x0d, KERNEL_CODE_SEL, DA_386IGate, DA_GATE_DPL0); + gate_set(IDT_OFF2PTR(idt, EXCEPTION_INTR_BASE+14), rt_hw_intr_entry0x0e, KERNEL_CODE_SEL, DA_386IGate, DA_GATE_DPL0); + gate_set(IDT_OFF2PTR(idt, EXCEPTION_INTR_BASE+15), rt_hw_intr_entry0x0f, KERNEL_CODE_SEL, DA_386IGate, DA_GATE_DPL0); + gate_set(IDT_OFF2PTR(idt, EXCEPTION_INTR_BASE+16), rt_hw_intr_entry0x10, KERNEL_CODE_SEL, DA_386IGate, DA_GATE_DPL0); + gate_set(IDT_OFF2PTR(idt, EXCEPTION_INTR_BASE+17), rt_hw_intr_entry0x11, KERNEL_CODE_SEL, DA_386IGate, DA_GATE_DPL0); + gate_set(IDT_OFF2PTR(idt, EXCEPTION_INTR_BASE+18), rt_hw_intr_entry0x12, KERNEL_CODE_SEL, DA_386IGate, DA_GATE_DPL0); + gate_set(IDT_OFF2PTR(idt, EXCEPTION_INTR_BASE+19), rt_hw_intr_entry0x13, KERNEL_CODE_SEL, DA_386IGate, DA_GATE_DPL0); + gate_set(IDT_OFF2PTR(idt, EXCEPTION_INTR_BASE+20), rt_hw_intr_entry0x14, KERNEL_CODE_SEL, DA_386IGate, DA_GATE_DPL0); + gate_set(IDT_OFF2PTR(idt, EXCEPTION_INTR_BASE+21), rt_hw_intr_entry0x15, KERNEL_CODE_SEL, DA_386IGate, DA_GATE_DPL0); + gate_set(IDT_OFF2PTR(idt, EXCEPTION_INTR_BASE+22), rt_hw_intr_entry0x16, KERNEL_CODE_SEL, DA_386IGate, DA_GATE_DPL0); + gate_set(IDT_OFF2PTR(idt, EXCEPTION_INTR_BASE+23), rt_hw_intr_entry0x17, KERNEL_CODE_SEL, DA_386IGate, DA_GATE_DPL0); + gate_set(IDT_OFF2PTR(idt, EXCEPTION_INTR_BASE+24), rt_hw_intr_entry0x18, KERNEL_CODE_SEL, DA_386IGate, DA_GATE_DPL0); + gate_set(IDT_OFF2PTR(idt, EXCEPTION_INTR_BASE+25), rt_hw_intr_entry0x19, KERNEL_CODE_SEL, DA_386IGate, DA_GATE_DPL0); + gate_set(IDT_OFF2PTR(idt, EXCEPTION_INTR_BASE+26), rt_hw_intr_entry0x1a, KERNEL_CODE_SEL, DA_386IGate, DA_GATE_DPL0); + gate_set(IDT_OFF2PTR(idt, EXCEPTION_INTR_BASE+27), rt_hw_intr_entry0x1b, KERNEL_CODE_SEL, DA_386IGate, DA_GATE_DPL0); + gate_set(IDT_OFF2PTR(idt, EXCEPTION_INTR_BASE+28), rt_hw_intr_entry0x1c, KERNEL_CODE_SEL, DA_386IGate, DA_GATE_DPL0); + gate_set(IDT_OFF2PTR(idt, EXCEPTION_INTR_BASE+29), rt_hw_intr_entry0x1d, KERNEL_CODE_SEL, DA_386IGate, DA_GATE_DPL0); + gate_set(IDT_OFF2PTR(idt, EXCEPTION_INTR_BASE+30), rt_hw_intr_entry0x1e, KERNEL_CODE_SEL, DA_386IGate, DA_GATE_DPL0); + gate_set(IDT_OFF2PTR(idt, EXCEPTION_INTR_BASE+31), rt_hw_intr_entry0x1f, KERNEL_CODE_SEL, DA_386IGate, DA_GATE_DPL0); + + gate_set(IDT_OFF2PTR(idt, IRQ_INTR_BASE), rt_hw_intr_entry0x20, KERNEL_CODE_SEL, DA_386IGate, DA_GATE_DPL0); + gate_set(IDT_OFF2PTR(idt, IRQ_INTR_BASE+1), rt_hw_intr_entry0x21, KERNEL_CODE_SEL, DA_386IGate, DA_GATE_DPL0); + gate_set(IDT_OFF2PTR(idt, IRQ_INTR_BASE+2), rt_hw_intr_entry0x22, KERNEL_CODE_SEL, DA_386IGate, DA_GATE_DPL0); + gate_set(IDT_OFF2PTR(idt, IRQ_INTR_BASE+3), rt_hw_intr_entry0x23, KERNEL_CODE_SEL, DA_386IGate, DA_GATE_DPL0); + gate_set(IDT_OFF2PTR(idt, IRQ_INTR_BASE+4), rt_hw_intr_entry0x24, KERNEL_CODE_SEL, DA_386IGate, DA_GATE_DPL0); + gate_set(IDT_OFF2PTR(idt, IRQ_INTR_BASE+5), rt_hw_intr_entry0x25, KERNEL_CODE_SEL, DA_386IGate, DA_GATE_DPL0); + gate_set(IDT_OFF2PTR(idt, IRQ_INTR_BASE+6), rt_hw_intr_entry0x26, KERNEL_CODE_SEL, DA_386IGate, DA_GATE_DPL0); + gate_set(IDT_OFF2PTR(idt, IRQ_INTR_BASE+7), rt_hw_intr_entry0x27, KERNEL_CODE_SEL, DA_386IGate, DA_GATE_DPL0); + gate_set(IDT_OFF2PTR(idt, IRQ_INTR_BASE+8), rt_hw_intr_entry0x28, KERNEL_CODE_SEL, DA_386IGate, DA_GATE_DPL0); + gate_set(IDT_OFF2PTR(idt, IRQ_INTR_BASE+9), rt_hw_intr_entry0x29, KERNEL_CODE_SEL, DA_386IGate, DA_GATE_DPL0); + gate_set(IDT_OFF2PTR(idt, IRQ_INTR_BASE+10), rt_hw_intr_entry0x2a, KERNEL_CODE_SEL, DA_386IGate, DA_GATE_DPL0); + gate_set(IDT_OFF2PTR(idt, IRQ_INTR_BASE+11), rt_hw_intr_entry0x2b, KERNEL_CODE_SEL, DA_386IGate, DA_GATE_DPL0); + gate_set(IDT_OFF2PTR(idt, IRQ_INTR_BASE+12), rt_hw_intr_entry0x2c, KERNEL_CODE_SEL, DA_386IGate, DA_GATE_DPL0); + gate_set(IDT_OFF2PTR(idt, IRQ_INTR_BASE+13), rt_hw_intr_entry0x2d, KERNEL_CODE_SEL, DA_386IGate, DA_GATE_DPL0); + gate_set(IDT_OFF2PTR(idt, IRQ_INTR_BASE+14), rt_hw_intr_entry0x2e, KERNEL_CODE_SEL, DA_386IGate, DA_GATE_DPL0); + gate_set(IDT_OFF2PTR(idt, IRQ_INTR_BASE+15), rt_hw_intr_entry0x2f, KERNEL_CODE_SEL, DA_386IGate, DA_GATE_DPL0); + /* 系统调用处理中断 */ +#ifdef RT_USING_USERSPACE + extern void hw_syscall_entry(void); + gate_set(IDT_OFF2PTR(idt, SYSCALL_INTR_BASE), hw_syscall_entry, KERNEL_CODE_SEL, DA_386IGate, DA_GATE_DPL3); +#endif /* RT_USING_USERSPACE */ + + extern void load_new_idt(rt_ubase_t size, rt_ubase_t idtr); + load_new_idt(IDT_LIMIT, IDT_VADDR); +} diff --git a/libcpu/x86/i386/gate.h b/libcpu/x86/i386/gate.h new file mode 100644 index 0000000000000000000000000000000000000000..63c5c9e461f29cd0a4427f52e9bbb1d61c1e848e --- /dev/null +++ b/libcpu/x86/i386/gate.h @@ -0,0 +1,39 @@ +/* + * Copyright (c) 2006-2021, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2021-07-16 JasonHu first version + */ + +#ifndef __X86_GATE_H__ +#define __X86_GATE_H__ + +#include + +#define IDT_LIMIT 0x000007ff +#define IDT_PADDR 0x003F0800 + +#define IDT_VADDR (KERNEL_VADDR_START + IDT_PADDR) + +#define MAX_IDT_NR (IDT_LIMIT/8) + +#define IDT_OFF2PTR(idt, off) (idt + off) + +#define DA_TaskGate 0x85 /* 任务门类型值 */ +#define DA_386CGate 0x8C /* 386 调用门类型值 */ +#define DA_386IGate 0x8E /* 386 中断门类型值 */ +#define DA_386TGate 0x8F /* 386 陷阱门类型值 */ + +#define DA_GATE_DPL0 0 +#define DA_GATE_DPL1 1 +#define DA_GATE_DPL2 2 +#define DA_GATE_DPL3 3 + +#ifndef __ASSEMBLY__ +void rt_hw_gate_init(void); +#endif + +#endif /* __X86_GATE_H__ */ \ No newline at end of file diff --git a/libcpu/x86/i386/i386.h b/libcpu/x86/i386/i386.h new file mode 100644 index 0000000000000000000000000000000000000000..cf537ef208192e164e77815ab29f8d25b525aeb0 --- /dev/null +++ b/libcpu/x86/i386/i386.h @@ -0,0 +1,123 @@ +/* + * Copyright (c) 2006-2021, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2021-07-14 JasonHu first version + */ + +#ifndef __I386_H__ +#define __I386_H__ + +#define EFLAGS_MBS (1<<1) +#define EFLAGS_IF_1 (1<<9) +#define EFLAGS_IF_0 0 +#define EFLAGS_IOPL_3 (3<<12) +#define EFLAGS_IOPL_1 (1<<12) +#define EFLAGS_IOPL_0 (0<<12) + +#define EFLAGS_IF (EFLAGS_IF_1) + +/* cr0的最高位是分页模式位,1则启动,0则关闭 */ +#define CR0_PG (1 << 31) + +#ifdef __cplusplus +extern "C" { +#endif + +static inline unsigned char inb(int port) +{ + unsigned char data; + __asm__ __volatile__("inb %w1,%0" : "=a" (data) : "d" (port)); + return data; +} +static inline unsigned char inb_p(unsigned short port) +{ + unsigned char _v; + __asm__ __volatile__ ("inb %1, %0\n\t" + // "outb %0,$0x80\n\t" + // "outb %0,$0x80\n\t" + // "outb %0,$0x80\n\t" + "outb %0,$0x80" + :"=a" (_v) + :"d" ((unsigned short) port)); + return _v; +} + +static inline unsigned short inw(int port) +{ + unsigned short data; + __asm__ __volatile__("inw %w1,%0" : "=a" (data) : "d" (port)); + return data; +} + +static inline unsigned int inl(int port) +{ + unsigned int data; + __asm__ __volatile__("inl %w1,%0" : "=a" (data) : "d" (port)); + return data; +} + +static inline void insl(int port, void *addr, int cnt) +{ + __asm__ __volatile__("cld\n\trepne\n\tinsl" : + "=D" (addr), "=c" (cnt) : + "d" (port), "0" (addr), "1" (cnt) : + "memory", "cc"); +} + +static inline void outb(int port, unsigned char data) +{ + __asm__ __volatile__("outb %0,%w1" : : "a" (data), "d" (port)); +} + + +static inline void outb_p(char value, unsigned short port) +{ + __asm__ __volatile__ ("outb %0,%1\n\t" + "outb %0,$0x80" + ::"a" ((char) value),"d" ((unsigned short) port)); +} + +static inline void outw(int port, unsigned short data) +{ + __asm__ __volatile__("outw %0,%w1" : : "a" (data), "d" (port)); +} + +static inline void outl(int port, unsigned int data) +{ + __asm__ __volatile__("outl %0,%w1" : : "a" (data), "d" (port)); +} + +static inline unsigned char readcmos(int reg) +{ + outb(0x70,reg); + return (unsigned char) inb(0x71); +} + +#define io_delay() \ + __asm__ __volatile__ ("pushal \n\t"\ + "mov $0x3F6, %dx \n\t" \ + "inb %dx, %al \n\t" \ + "inb %dx, %al \n\t" \ + "inb %dx, %al \n\t" \ + "inb %dx, %al \n\t" \ + "popal") + +static inline void ltr(unsigned int selector) +{ + __asm__ __volatile__("ltr %w0" : : "q" (selector)); +} + +unsigned int read_cr0(void); +unsigned int read_cr2(void); +void write_cr0(unsigned int value); +void write_cr3(unsigned int pgdir); + +#ifdef __cplusplus + } +#endif + +#endif diff --git a/libcpu/x86/i386/interrupt.c b/libcpu/x86/i386/interrupt.c new file mode 100644 index 0000000000000000000000000000000000000000..3313d66f49811f60cbd784188f5a16beaddfef17 --- /dev/null +++ b/libcpu/x86/i386/interrupt.c @@ -0,0 +1,275 @@ +/* + * Copyright (c) 2006-2021, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2021-07-14 JasonHu first version + */ + +#include +#include +#include + +#include +#include +#include +#include +#include + +typedef void (*rt_hw_intr_handler_t)(rt_hw_stack_frame_t *); + +static rt_hw_intr_handler_t interrupt_handlers[MAX_INTR_NR] = {0}; +static struct rt_irq_desc irq_desc[MAX_IRQ_NR] = {0}; + +static char *hw_exception_names[] = { + "#DE Divide Error", + "#DB Debug Exception", + "NMI Interrupt", + "#BP Breakpoint Exception", + "#OF Overflow Exception", + "#BR BOUND Range Exceeded Exception", + "#UD Invalid Opcode Exception", + "#NM Device Not Available Exception", + "#DF Double Fault Exception", + "Coprocessor Segment Overrun", + "#TS Invalid TSS Exception", + "#NP Segment Not Present", + "#SS Stack Fault Exception", + "#GP General Protection Exception", + "#PF Page-Fault Exception", + "Reserved", + "#MF x87 FPU Floating-Point Error", + "#AC Alignment Check Exception", + "#MC Machine-Check Exception", + "#XF SIMD Floating-Point Exception", + "Unknown Exception" +}; + +static void exception_frame_dump(rt_hw_stack_frame_t *frame); + +static void rt_hw_interrupt_handle(int vector, void *param) +{ + rt_kprintf("UN-handled interrupt %d occurred!!!\n", vector); +} + +static void hw_general_handler(rt_hw_stack_frame_t *frame) +{ + rt_kprintf("general intr %d handled\n", frame->vec_no); +} + +static void hw_external_handler(rt_hw_stack_frame_t *frame) +{ + int irqno = frame->vec_no - IRQ_INTR_BASE; + if (irqno < 0 || irqno >= MAX_IRQ_NR) + { + dbg_log(DBG_ERROR, "unknown IRQ %d occurred!!\n", irqno); + return; + } + irq_desc[irqno].handler(irqno, irq_desc[irqno].param); + rt_hw_pic_ack(irqno); +} + + +#ifdef RT_USING_LWP +static int check_user_stack(rt_hw_stack_frame_t *frame) +{ + if (frame->vec_no == EXCEPTION_PAGE_FAULT) + { + void *fault_addr = (void *)read_cr2(); // get page fault addr + rt_interrupt_leave(); + if (arch_expand_user_stack(fault_addr)) + { + rt_interrupt_enter(); + return 1; + } + rt_interrupt_enter(); + } + return 0; +} +#endif /* RT_USING_LWP */ + +static void hw_exception_handler(rt_hw_stack_frame_t *frame) +{ +#ifdef RT_USING_LWP + if (check_user_stack(frame)) + return; +#endif /* RT_USING_LWP */ + rt_thread_t cur = rt_thread_self(); + rt_kprintf("thread name: %s\n", cur->name); + +#ifdef RT_USING_LWP + if (cur->lwp) + { + struct rt_lwp *lwp = cur->lwp; + rt_kprintf("thread id:%d\n", lwp->pid); + } +#endif /* RT_USING_LWP */ + + exception_frame_dump(frame); + rt_hw_print_backtrace(); + /* unhandled exception */ + rt_hw_interrupt_disable(); + for (;;) + ; +} + +rt_base_t rt_hw_interrupt_disable(void) +{ + rt_base_t level; + __asm__ __volatile__("pushfl ; popl %0 ; cli":"=g" (level): :"memory"); + return level; +} + +void rt_hw_interrupt_enable(rt_base_t level) +{ + __asm__ __volatile__("pushl %0 ; popfl": :"g" (level):"memory", "cc"); +} + +void rt_hw_interrupt_dispatch(rt_hw_stack_frame_t *frame) +{ + rt_ubase_t vec_no = frame->vec_no; + if (vec_no < 0 || vec_no >= MAX_INTR_NR) + { + dbg_log(DBG_ERROR, "unknown intr vector %x!\n", frame->vec_no); + return; + } + interrupt_handlers[vec_no](frame); +} + +void rt_hw_stack_frame_dump(rt_hw_stack_frame_t *frame) +{ + rt_kprintf("====stack frame dump====\n"); + rt_kprintf("edi:%x esi:%x ebp:%x esp dummy:%x ebx:%x edx:%x ecx:%x eax:%x\n", + frame->edi, frame->esi, frame->ebp, frame->esp_dummy, + frame->ebx, frame->edx, frame->ecx, frame->eax); + rt_kprintf("gs:%x fs:%x es:%x ds:%x error code:%x eip:%x cs:%x eflags:%x esp:%x ss:%x\n", + frame->gs, frame->fs, frame->es, frame->ds, frame->error_code, + frame->eip, frame->cs, frame->eflags, frame->esp, frame->ss); +} + +static void exception_frame_dump(rt_hw_stack_frame_t *frame) +{ + rt_kprintf("====exception frame dump====\n"); + rt_kprintf("Stack frame: exception name %s\n", hw_exception_names[frame->vec_no]); + if (frame->vec_no == 14) + { + rt_kprintf("page fault addr: %p\n", read_cr2()); + } + rt_hw_stack_frame_dump(frame); + if (frame->error_code != 0xFFFFFFFF) + { + if (frame->error_code & 1) + { + rt_kprintf(" External Event: NMI,hard interruption,ect.\n"); + } + else + { + rt_kprintf(" Not External Event: inside.\n"); + } + if (frame->error_code & (1 << 1)) + { + rt_kprintf(" IDT: selector in idt.\n"); + } + else + { + rt_kprintf(" IDT: selector in gdt or ldt.\n"); + } + if(frame->error_code & (1 <<2 )) + { + rt_kprintf(" TI: selector in ldt.\n"); + } + else + { + rt_kprintf(" TI: selector in gdt.\n"); + } + rt_kprintf(" Selector: idx %d\n", (frame->error_code&0xfff8)>>3); + } +} + +/** + * This function will mask a interrupt. + * @param vector the interrupt number + */ +void rt_hw_interrupt_mask(int vector) +{ + rt_hw_pic_disable(vector); +} + +/** + * This function will un-mask a interrupt. + * @param vector the interrupt number + */ +void rt_hw_interrupt_umask(int vector) +{ + rt_hw_pic_enable(vector); +} + +/** + * This function will install a interrupt service routine to a interrupt. + * @param vector the interrupt number + * @param new_handler the interrupt service routine to be installed + * @param old_handler the old interrupt service routine + */ +rt_isr_handler_t rt_hw_interrupt_install(int vector, rt_isr_handler_t handler, + void *param, const char *name) +{ + rt_isr_handler_t old_handler = RT_NULL; + + if(vector < MAX_IRQ_NR) + { + old_handler = irq_desc[vector].handler; + if (handler != RT_NULL) + { + irq_desc[vector].handler = (rt_isr_handler_t)handler; + irq_desc[vector].param = param; +#ifdef RT_USING_INTERRUPT_INFO + rt_snprintf(irq_desc[vector].name, RT_NAME_MAX - 1, "%s", name); + irq_desc[vector].counter = 0; +#endif + } + } + + return old_handler; +} + +extern volatile rt_ubase_t rt_interrupt_from_thread; +extern volatile rt_ubase_t rt_interrupt_to_thread; +extern volatile rt_ubase_t rt_thread_switch_interrupt_flag; +/** + * This function will initialize hardware interrupt + */ +void rt_hw_interrupt_init(void) +{ + rt_interrupt_from_thread = 0; + rt_interrupt_to_thread = 0; + rt_thread_switch_interrupt_flag = 0; + int i; + for (i = 0; i < MAX_INTR_NR; i++) + { + if (i < IRQ_INTR_BASE) + { + interrupt_handlers[i] = hw_exception_handler; + } + else if (i >= IRQ_INTR_BASE && i < IRQ_INTR_BASE + MAX_IRQ_NR) + { + interrupt_handlers[i] = hw_external_handler; + } + else + { + interrupt_handlers[i] = hw_general_handler; + } + } + for (i = 0; i < MAX_IRQ_NR; i++) + { + irq_desc[i].handler = rt_hw_interrupt_handle; + irq_desc[i].param = RT_NULL; +#ifdef RT_USING_INTERRUPT_INFO + rt_snprintf(irq_desc[i].name, RT_NAME_MAX - 1, "default"); + irq_desc[i].counter = 0; +#endif + } + /* init intr controller */ + rt_hw_pic_init(); +} \ No newline at end of file diff --git a/libcpu/x86/i386/interrupt.h b/libcpu/x86/i386/interrupt.h new file mode 100644 index 0000000000000000000000000000000000000000..14cc4168b524d5aea331a6385a3dba757b52cd3b --- /dev/null +++ b/libcpu/x86/i386/interrupt.h @@ -0,0 +1,26 @@ +/* + * Copyright (c) 2006-2021, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2021-07-16 JasonHu first version + */ + +#ifndef __INTERRUPT_H__ +#define __INTERRUPT_H__ + +#define MAX_INTR_NR 0x81 +#define EXCEPTION_INTR_BASE 0x00 +#define IRQ_INTR_BASE 0x20 +#define SYSCALL_INTR_BASE 0x80 + +#define MAX_IRQ_NR 16 + +#define EXCEPTION_PAGE_FAULT 14 + +#include "irq.h" +#include "i386.h" + +#endif /* __INTERRUPT_H__ */ \ No newline at end of file diff --git a/libcpu/x86/i386/interrupt_gcc.S b/libcpu/x86/i386/interrupt_gcc.S new file mode 100644 index 0000000000000000000000000000000000000000..fdbf7f901a85e02f58675390f8196581acb6c0b3 --- /dev/null +++ b/libcpu/x86/i386/interrupt_gcc.S @@ -0,0 +1,250 @@ +/* + * Copyright (c) 2006-2021, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2021/07/15 JasonHu The first version + */ +#define __ASSEMBLY__ +#include + +.code32 +.text + +.extern rt_interrupt_enter +.extern rt_interrupt_leave +.extern rt_thread_switch_interrupt_flag +.extern rt_interrupt_from_thread +.extern rt_interrupt_to_thread +.extern rt_hw_interrupt_dispatch +.extern rt_hw_context_switch + +// cpu no error code, need push by us +.macro rt_hw_intr_entry_push_errcode p1 +.global rt_hw_intr_entry\p1 +rt_hw_intr_entry\p1: + pushl $0x00 + + pushl %ds + pushl %es + pushl %fs + pushl %gs + + pushal + + movl %ss, %edx + movl %edx, %ds + movl %edx, %es + + pushl $\p1 + + call rt_interrupt_enter + pushl %esp + call rt_hw_interrupt_dispatch + addl $4, %esp + call rt_interrupt_leave + +#ifdef RT_USING_SIGNALS + // check signal and do signal + pushl %esp + call lwp_try_do_signal + addl $4, %esp +#endif /* RT_USING_SIGNALS */ + + /** + * if rt_thread_switch_interrupt_flag == 1 then + * jmp rt_hw_intr_thread_switch + * end + */ + movl $rt_thread_switch_interrupt_flag, %eax + movl (%eax), %ebx + cmp $0x1, %ebx + jz rt_hw_intr_thread_switch + + // jmp to exit + movl $rt_hw_intr_exit, %eax + jmp *%eax +.endm + +// cpu with error code +.macro rt_hw_intr_entry p1 +.global rt_hw_intr_entry\p1 +rt_hw_intr_entry\p1: + nop; + pushl %ds + pushl %es + pushl %fs + pushl %gs + + pushal + + movl %ss, %edx + movl %edx, %ds + movl %edx, %es + + pushl $\p1 + + call rt_interrupt_enter + pushl %esp; + call rt_hw_interrupt_dispatch + addl $4, %esp; + call rt_interrupt_leave + +#ifdef RT_USING_SIGNALS + // check signal and do signal + pushl %esp + call lwp_try_do_signal + addl $4, %esp +#endif /* RT_USING_SIGNALS */ + + /** + * if rt_thread_switch_interrupt_flag == 1 then + * jmp rt_hw_intr_thread_switch + * end + */ + movl $rt_thread_switch_interrupt_flag, %eax + movl (%eax), %ebx + cmp $0x1, %ebx + jz rt_hw_intr_thread_switch + + // jmp to exit + movl $rt_hw_intr_exit, %eax + jmp *%eax +.endm + +rt_hw_intr_entry_push_errcode 0x00 +rt_hw_intr_entry_push_errcode 0x01 +rt_hw_intr_entry_push_errcode 0x02 +rt_hw_intr_entry_push_errcode 0x03 +rt_hw_intr_entry_push_errcode 0x04 +rt_hw_intr_entry_push_errcode 0x05 +rt_hw_intr_entry_push_errcode 0x06 +rt_hw_intr_entry_push_errcode 0x07 +rt_hw_intr_entry 0x08 +rt_hw_intr_entry_push_errcode 0x09 +rt_hw_intr_entry 0x0a +rt_hw_intr_entry 0x0b +rt_hw_intr_entry_push_errcode 0x0c +rt_hw_intr_entry 0x0d +rt_hw_intr_entry 0x0e +rt_hw_intr_entry_push_errcode 0x0f +rt_hw_intr_entry_push_errcode 0x10 +rt_hw_intr_entry 0x11 +rt_hw_intr_entry_push_errcode 0x12 +rt_hw_intr_entry_push_errcode 0x13 +rt_hw_intr_entry_push_errcode 0x14 +rt_hw_intr_entry_push_errcode 0x15 +rt_hw_intr_entry_push_errcode 0x16 +rt_hw_intr_entry_push_errcode 0x17 +rt_hw_intr_entry 0x18 +rt_hw_intr_entry_push_errcode 0x19 +rt_hw_intr_entry 0x1a +rt_hw_intr_entry 0x1b +rt_hw_intr_entry_push_errcode 0x1c +rt_hw_intr_entry 0x1d +rt_hw_intr_entry 0x1e +rt_hw_intr_entry_push_errcode 0x1f +rt_hw_intr_entry_push_errcode 0x20 //时钟中断对应的入口 +rt_hw_intr_entry_push_errcode 0x21 //键盘中断对应的入口 +rt_hw_intr_entry_push_errcode 0x22 //级联用的 +rt_hw_intr_entry_push_errcode 0x23 //串口2对应的入口 +rt_hw_intr_entry_push_errcode 0x24 //串口1对应的入口 +rt_hw_intr_entry_push_errcode 0x25 //并口2对应的入口 +rt_hw_intr_entry_push_errcode 0x26 //软盘对应的入口 +rt_hw_intr_entry_push_errcode 0x27 //并口1对应的入口 +rt_hw_intr_entry_push_errcode 0x28 //实时时钟对应的入口 +rt_hw_intr_entry_push_errcode 0x29 //重定向 +rt_hw_intr_entry_push_errcode 0x2a //保留 +rt_hw_intr_entry_push_errcode 0x2b //保留 +rt_hw_intr_entry_push_errcode 0x2c //ps/2鼠标 +rt_hw_intr_entry_push_errcode 0x2d //fpu浮点单元异常 +rt_hw_intr_entry_push_errcode 0x2e //硬盘 +rt_hw_intr_entry_push_errcode 0x2f //保留 +rt_hw_intr_entry_push_errcode 0x80 //syscall + +rt_hw_intr_thread_switch: + // set rt_thread_switch_interrupt_flag as 0 + movl $0x0, %ebx + movl %ebx, (%eax) + + // push to into stack + movl $rt_interrupt_to_thread, %eax // get "to" + movl (%eax), %ebx + + // push from into stack + movl $rt_interrupt_from_thread, %ecx // get "from" + movl (%ecx), %edx + + pushl %ebx + pushl %edx + call rt_hw_context_switch + addl $8, %esp // restore stack + + // jmp to exit + movl $rt_hw_intr_exit, %eax + jmp *%eax + +#ifdef RT_USING_USERSPACE + +.extern rt_hw_syscall_dispath + +#ifdef RT_USING_SIGNALS +.extern lwp_try_do_signal +#endif /* RT_USING_SIGNALS */ + +.global hw_syscall_entry +hw_syscall_entry: + pushl $0x00 + + pushl %ds + pushl %es + pushl %fs + pushl %gs + + pushal + + movl %ss, %edx + movl %edx, %ds + movl %edx, %es + + pushl $0x80 + + sti // enable interrupt + + pushl %esp + call rt_hw_syscall_dispath + addl $4, %esp + +#ifdef RT_USING_SIGNALS + // check signal and do signal + pushl %esp + call lwp_try_do_signal + addl $4, %esp +#endif /* RT_USING_SIGNALS */ + + //cli // disable interrupt + sti + + // jmp to exit + movl $rt_hw_intr_exit, %eax + jmp *%eax + +.global syscall_exit +syscall_exit: +#endif /* RT_USING_USERSPACE */ +.global rt_hw_intr_exit +rt_hw_intr_exit: + addl $4, %esp // skip intr no + + popal + + popl %gs + popl %fs + popl %es + popl %ds + + addl $4, %esp // skip error_code + + iret \ No newline at end of file diff --git a/libcpu/x86/i386/irq.h b/libcpu/x86/i386/irq.h new file mode 100644 index 0000000000000000000000000000000000000000..e9c315026fa64983546ed0ab0333fb9689d95dc6 --- /dev/null +++ b/libcpu/x86/i386/irq.h @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2006-2021, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2021-07-16 JasonHu first version + */ + +#ifndef __IRQ_H__ +#define __IRQ_H__ + +#define IRQ0_CLOCK 0 // 时钟 +#define IRQ1_KEYBOARD 1 // 键盘 +#define IRQ2_CONNECT 2 // 连接从片 +#define IRQ3_SERIAL2 3 // 串口2 +#define IRQ4_SERIAL1 4 // 串口1 +#define IRQ5_PARALLEL2 5 // 并口2 +#define IRQ6_FLOPPY 6 // 软盘 +#define IRQ7_PARALLEL1 7 // 并口1 + +#define IRQ8_RTCLOCK 8 // 实时时钟(real-time clock) +#define IRQ9_REDIRECT 9 // 重定向的IRQ2 +#define IRQ10_RESERVE 10 // 保留 +#define IRQ11_RESERVE 11 // 保留 +#define IRQ12_MOUSE 12 // PS/2鼠标 +#define IRQ13_FPU 13 // FPU异常 +#define IRQ14_HARDDISK 14 // 硬盘 +#define IRQ15_RESERVE 15 // 保留 + +#endif /* __IRQ_H__ */ diff --git a/libcpu/x86/i386/mmu.c b/libcpu/x86/i386/mmu.c new file mode 100644 index 0000000000000000000000000000000000000000..f7610350a821e4f8944939862dcaea839f622e55 --- /dev/null +++ b/libcpu/x86/i386/mmu.c @@ -0,0 +1,664 @@ +/* + * Copyright (c) 2006-2021, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2021-07-14 JasonHu first version + */ + +#include +#include +#include +#include +#include + +#include "mmu.h" +#include "cache.h" + +#ifdef RT_USING_USERSPACE +#include "page.h" +#endif /* RT_USING_USERSPACE */ + +// #define RT_DEBUG_MMU_X86 + +static void __rt_hw_mmu_unmap(rt_mmu_info *mmu_info,void *v_addr,rt_size_t npages); + +#ifdef RT_USING_USERSPACE +void *_rt_hw_mmu_map(rt_mmu_info *mmu_info,void *v_addr,void *p_addr,rt_size_t size,rt_size_t attr); +void *_rt_hw_mmu_map_auto(rt_mmu_info *mmu_info,void *v_addr,rt_size_t size,rt_size_t attr); +#else +void *rt_hw_mmu_map(rt_mmu_info *mmu_info, void* p_addr, size_t size, size_t attr); +#endif + +void _rt_hw_mmu_unmap(rt_mmu_info *mmu_info,void *v_addr,rt_size_t size); +void *_rt_hw_mmu_v2p(rt_mmu_info *mmu_info,void *v_addr); + +void *current_mmu_table = RT_NULL; + +static void rt_hw_cpu_tlb_invalidate() +{ + mmu_flush_tlb(); +} + +void *mmu_table_get() +{ + return current_mmu_table; +} + +void switch_mmu(void *mmu_table) +{ + current_mmu_table = mmu_table; + if (mmu_table == RT_NULL) + { + dbg_log(DBG_ERROR, "switch_mmu: NULL mmu table!\n"); + } + else + { + RT_ASSERT(__CHECKALIGN(mmu_table,PAGE_OFFSET_BIT)); + mmu_set_pagetable((rt_ubase_t)mmu_table); + } +} + +/** + * init page table, check vaddr whether used. + */ +int rt_hw_mmu_map_init(rt_mmu_info *mmu_info,void *v_address,rt_size_t size,rt_size_t *vtable,rt_size_t pv_off) +{ + size_t l1_off,va_s,va_e; + rt_base_t level; + + if((!mmu_info) || (!vtable)) + { + return -1; + } + + va_s = (rt_size_t)v_address; + va_e = ((rt_size_t)v_address) + size - 1; + + if(va_e < va_s) + { + dbg_log(DBG_ERROR, "end=%p lower than start=%p\n", va_e, va_s); + return -1; + } + + //convert address to level 1 page frame id + va_s = GET_L1(va_s); + va_e = GET_L1(va_e); + + if(va_s == 0) + { + return -1; + } + + level = rt_hw_interrupt_disable(); + + //vtable initialization check + for(l1_off = va_s;l1_off <= va_e;l1_off++) + { + size_t v = vtable[l1_off]; + + if(PTE_USED(v)) + { + rt_hw_interrupt_enable(level); + return -1; + } + } + + va_s = (rt_size_t)v_address; + va_e = ((rt_size_t)v_address) + size; + + mmu_info -> vtable = vtable; + mmu_info -> vstart = va_s; + mmu_info -> vend = va_e; + mmu_info -> pv_off = pv_off; + + rt_hw_interrupt_enable(level); + return 0; +} + +void rt_hw_mmu_kernel_map_init(rt_mmu_info *mmu_info,rt_size_t vaddr_start,rt_size_t size) +{ + vaddr_start = vaddr_start & PAGE_ADDR_MASK; + rt_size_t paddr_start = vaddr_start; + rt_size_t vaddr_end = vaddr_start + __ALIGNUP(size, PAGE_OFFSET_BIT); + + rt_kprintf("kernel: map on [%p~%p]\n", vaddr_start, vaddr_end); + pde_t *pdt = (pde_t *)mmu_info->vtable; + + rt_size_t pde_nr = (vaddr_end - vaddr_start) / (PTE_PER_PAGE * PAGE_SIZE); + rt_size_t pte_nr = ((vaddr_end - vaddr_start) / PAGE_SIZE) % PTE_PER_PAGE; + rt_size_t *pte_addr = (rt_size_t *) PAGE_TABLE_VADDR; + rt_size_t pde_off = GET_L1(vaddr_start); + int i, j; + for (i = 0; i < pde_nr; i++) + { + pdt[pde_off + i] = MAKE_PTE(pte_addr, KERNEL_PAGE_ATTR); + for (j = 0; j < PTE_PER_PAGE; j++) + { + pte_addr[j] = MAKE_PTE(paddr_start, KERNEL_PAGE_ATTR); + paddr_start += PAGE_SIZE; + } + pte_addr += PAGE_SIZE; + } + if (pte_nr > 0) + { + pdt[pde_off + i] = MAKE_PTE(pte_addr, KERNEL_PAGE_ATTR); + for (j = 0; j < pte_nr; j++) + { + pte_addr[j] = MAKE_PTE(paddr_start, KERNEL_PAGE_ATTR); + paddr_start += PAGE_SIZE; + } + } +} + +static int __rt_hw_mmu_map(rt_mmu_info *mmu_info,void *v_addr,void *p_addr,rt_size_t npages,rt_size_t attr) +{ + size_t loop_va = (size_t)v_addr & ~ARCH_PAGE_MASK; + size_t loop_pa = (size_t)p_addr & ~ARCH_PAGE_MASK; + size_t l1_off, l2_off; + size_t *mmu_l1, *mmu_l2; + + if (!mmu_info) + { + return -1; + } + while (npages--) + { + l1_off = GET_L1(loop_va); + l2_off = GET_L2(loop_va); + mmu_l1 = (size_t*)mmu_info->vtable + l1_off; + if(PTE_USED(*mmu_l1)) + { + mmu_l2 = ((size_t *)GET_PADDR(*mmu_l1)); + rt_page_ref_inc(mmu_l2, 0); /* mmu l2 ref inc when map */ + mmu_l2 += l2_off; + } + else + { + mmu_l2 = (size_t*)rt_pages_alloc(0); + if (mmu_l2) + { + rt_memset(mmu_l2, 0, ARCH_PAGE_SIZE); + /* cache maintain */ + rt_hw_cpu_dcache_clean(mmu_l2, ARCH_PAGE_SIZE); + + *mmu_l1 = MAKE_PTE((size_t)mmu_l2, attr | PTE_P); + /* cache maintain */ + rt_hw_cpu_dcache_clean(mmu_l1, sizeof(*mmu_l1)); + + mmu_l2 += l2_off; + } + else + { + /* error, unmap and quit */ + __rt_hw_mmu_unmap(mmu_info, v_addr, npages); + return -1; + } + } + *mmu_l2 = MAKE_PTE(loop_pa, attr | PTE_P); + /* cache maintain */ + rt_hw_cpu_dcache_clean(mmu_l2, sizeof(*mmu_l2)); + + loop_va += ARCH_PAGE_SIZE; + loop_pa += ARCH_PAGE_SIZE; + } + return 0; +} + +#ifdef RT_USING_USERSPACE +//check whether the range of virtual address are free +static int check_vaddr(rt_mmu_info *mmu_info,void *va,rt_size_t pages) +{ + rt_size_t loop_va = __UMASKVALUE((rt_size_t)va,PAGE_OFFSET_MASK); + rt_size_t l1_off, l2_off; + rt_size_t *mmu_l1,*mmu_l2; + + if(!pages) + { + dbg_log(DBG_ERROR, "%s: check vaddr=%p pages=zero!\n", __func__, va); + return -1; + } + + if(!mmu_info) + { + dbg_log(DBG_ERROR, "%s: check vaddr=%p pages=%d mmu NULL!\n", __func__, va, pages); + return -1; + } + + while(pages--) + { + l1_off = GET_L1(loop_va); + l2_off = GET_L2(loop_va); + mmu_l1 = ((rt_size_t *)mmu_info -> vtable) + l1_off; + + if(PTE_USED(*mmu_l1)) + { + mmu_l2 = ((rt_size_t *)GET_PADDR(*mmu_l1)) + l2_off; + + if(PTE_USED(*mmu_l2)) + { + dbg_log(DBG_ERROR, "%s: check vaddr=%p pages=%d mmu l2 used %p->%x!\n", __func__, va, pages, mmu_l2, *mmu_l2); + return -1; + } + } + + loop_va += PAGE_SIZE; + } + + return 0; +} +#endif /* RT_USING_USERSPACE */ + +//find a range of free virtual address specified by pages +static size_t find_vaddr(rt_mmu_info *mmu_info, int pages) +{ + size_t va; + size_t find_va = 0; + int n = 0; + size_t start, end; + + if (!pages) + { + return 0; + } + + if (!mmu_info) + { + return 0; + } + + start = mmu_info->vstart; + end = mmu_info->vend; + va = mmu_info->vstart; + for (; start < end; start += ARCH_PAGE_SIZE, va += ARCH_PAGE_SIZE) + { + if (_rt_hw_mmu_v2p(mmu_info, (void *)va)) + { + n = 0; + find_va = 0; + continue; + } + if (!find_va) + { + find_va = va; + } + n++; + if (n >= pages) + { + return find_va; + } + } + return 0; +} + +#ifdef RT_USING_USERSPACE +void *_rt_hw_mmu_map(rt_mmu_info *mmu_info,void *v_addr,void *p_addr,rt_size_t size,rt_size_t attr) +{ + rt_size_t pa_s,pa_e; + rt_size_t vaddr; + rt_size_t pages; + int ret; + + if(!size) + { + return 0; + } + + pa_s = (rt_size_t)p_addr; + pa_e = ((rt_size_t)p_addr) + size - 1; + pa_s = GET_PF_ID(pa_s); + pa_e = GET_PF_ID(pa_e); + pages = pa_e - pa_s + 1; + if(v_addr) + { + vaddr = (rt_size_t)v_addr; + pa_s = (rt_size_t)p_addr; + if(GET_PF_OFFSET(vaddr) != GET_PF_OFFSET(pa_s)) + { + return 0; + } + + vaddr = __UMASKVALUE(vaddr,PAGE_OFFSET_MASK); + + if(check_vaddr(mmu_info,(void *)vaddr,pages) != 0) + { + dbg_log(DBG_ERROR, "%s: check vaddr=%p pages=%d failed!\n", __func__, vaddr, pages); + return 0; + } + } + else + { + vaddr = find_vaddr(mmu_info,pages); + } + + if(vaddr) + { + ret = __rt_hw_mmu_map(mmu_info,(void *)vaddr,p_addr,pages,attr); + + if(ret == 0) + { + rt_hw_cpu_tlb_invalidate(); + return (void *)(vaddr | GET_PF_OFFSET((rt_size_t)p_addr)); + } + } + + return 0; +} + +#else +void *_rt_hw_mmu_map(rt_mmu_info *mmu_info, void* p_addr, size_t size, size_t attr) +{ + size_t pa_s, pa_e; + size_t vaddr; + int pages; + int ret; + + pa_s = (size_t)p_addr; + pa_e = (size_t)p_addr + size - 1; + pa_s >>= ARCH_PAGE_SHIFT; + pa_e >>= ARCH_PAGE_SHIFT; + pages = pa_e - pa_s + 1; + vaddr = find_vaddr(mmu_info, pages); + if (vaddr) { + ret = __rt_hw_mmu_map(mmu_info, (void*)vaddr, p_addr, pages, attr); + if (ret == 0) + { + rt_hw_cpu_tlb_invalidate(); + return (void*)(vaddr + ((size_t)p_addr & ARCH_PAGE_MASK)); + } + } + return 0; +} +#endif /* RT_USING_USERSPACE */ + +#ifdef RT_USING_USERSPACE +static int __rt_hw_mmu_map_auto(rt_mmu_info *mmu_info,void *v_addr,rt_size_t npages,rt_size_t attr) +{ + rt_size_t loop_va = __UMASKVALUE((rt_size_t)v_addr, PAGE_OFFSET_MASK); + rt_size_t loop_pa; + rt_size_t i; + rt_size_t left_npages = npages; + rt_size_t used_npages; + void *va,*pa; + + if (!mmu_info) + { + return -1; + } + + while (left_npages) + { + loop_pa = (rt_size_t)rt_pages_alloc(0); + if (!loop_pa) + { + goto err; + } + rt_memset((void *)loop_pa, 0, ARCH_PAGE_SIZE); + if (__rt_hw_mmu_map(mmu_info, (void *)loop_va, (void *)loop_pa, 1, attr) < 0) + { + rt_pages_free((void *)loop_pa, 0); /* free unmaped phy page first */ + goto err; + } + --left_npages; + loop_va += PAGE_SIZE; + } + return 0; +err: + va = (void *)__UMASKVALUE((rt_size_t)v_addr, PAGE_OFFSET_MASK); + used_npages = npages - left_npages; + + for (i = 0; i < used_npages; i++) + { + pa = rt_hw_mmu_v2p(mmu_info, va); + if (pa) + { + rt_pages_free(pa, 0); + } + va = (void *)((rt_uint8_t *)va + PAGE_SIZE); + } + __rt_hw_mmu_unmap(mmu_info,v_addr, used_npages); + return -1; +} + +void *_rt_hw_mmu_map_auto(rt_mmu_info *mmu_info,void *v_addr,rt_size_t size,rt_size_t attr) +{ + rt_size_t vaddr; + rt_size_t offset; + rt_size_t pages; + int ret; + + if(!size) + { + return 0; + } + + offset = GET_PF_OFFSET((rt_size_t)v_addr); + size += (offset + ARCH_PAGE_SIZE - 1); + pages = size >> PAGE_OFFSET_BIT; + + if(v_addr) + { + vaddr = __UMASKVALUE((rt_size_t)v_addr, PAGE_OFFSET_MASK); + + if(check_vaddr(mmu_info,(void *)vaddr, pages) != 0) + { + dbg_log(DBG_ERROR, "_rt_hw_mmu_map_auto: check vaddr %p on pages %d failed!\n", vaddr, pages); + return 0; + } + } + else + { + vaddr = find_vaddr(mmu_info,pages); + } + + if(vaddr) + { + ret = __rt_hw_mmu_map_auto(mmu_info, (void *)vaddr, pages, attr); + + if(ret == 0) + { + rt_hw_cpu_tlb_invalidate(); + return (void *)(vaddr | offset); + } + dbg_log(DBG_ERROR, "_rt_hw_mmu_map_auto: do __rt_hw_mmu_map_auto failed!\n"); + } + else + { + dbg_log(DBG_ERROR, "_rt_hw_mmu_map_auto: get vaddr failed!\n"); + } + return 0; +} +#endif /* RT_USING_USERSPACE */ + +/** + * unmap page on v_addr, free page if unmapped, further more, if page table empty, need free it. + */ +static void __rt_hw_mmu_unmap(rt_mmu_info *mmu_info,void *v_addr,rt_size_t npages) +{ + rt_size_t loop_va = __UMASKVALUE((rt_size_t)v_addr, PAGE_OFFSET_MASK); + rt_size_t l1_off, l2_off; + rt_size_t *mmu_l1, *mmu_l2; + + RT_ASSERT(mmu_info); + + if ((rt_size_t)v_addr < mmu_info->vstart || (rt_size_t)v_addr >= mmu_info -> vend) + { + dbg_log(DBG_ERROR, "unmap vaddr %p out of range [%p~%p)\n", v_addr, mmu_info->vstart, mmu_info->vend); + return; + } + + while(npages--) + { + l1_off = (rt_size_t)GET_L1(loop_va); + l2_off = (rt_size_t)GET_L2(loop_va); + mmu_l1 = ((rt_size_t *)mmu_info -> vtable) + l1_off; + if (!PTE_USED(*mmu_l1)) + { + dbg_log(DBG_ERROR, "unmap vaddr %p mmu l1 unused %p->%x\n", v_addr, mmu_l1, *mmu_l1); + } + RT_ASSERT(PTE_USED(*mmu_l1)) + mmu_l2 = (rt_size_t *)(GET_PADDR(*mmu_l1)) + l2_off; + if (!PTE_USED(*mmu_l2)) + { + dbg_log(DBG_ERROR, "unmap vaddr %p mmu l2 unused %p->%x\n", v_addr, mmu_l2, *mmu_l2); + } + RT_ASSERT(PTE_USED(*mmu_l2)); + *mmu_l2 = 0; /* clear page table entry */ + rt_hw_cpu_dcache_clean(mmu_l2, sizeof(*mmu_l2)); + mmu_l2 -= l2_off; /* get base addr on page aligned */ + rt_page_ref_dec(mmu_l2, 0); /* page ref dec when unmap */ + + if(!rt_page_ref_get(mmu_l2, 0)) /* page table no phy page, empty */ + { + rt_page_ref_inc(mmu_l2, 0); /* page ref inc before free, make sure ref > 0 */ + //release level 2 page + rt_pages_free(mmu_l2, 0); //entry page and ref_cnt page + *mmu_l1 = 0; /* clear page dir table entry */ + rt_hw_cpu_dcache_clean(mmu_l1, sizeof(*mmu_l1)); + } + loop_va += PAGE_SIZE; + } +} + +void _rt_hw_mmu_unmap(rt_mmu_info *mmu_info,void *v_addr,rt_size_t size) +{ + rt_size_t va_s,va_e; + rt_size_t pages; + + va_s = ((rt_size_t)v_addr) >> PAGE_OFFSET_BIT; + va_e = (((rt_size_t)v_addr) + size - 1) >> PAGE_OFFSET_BIT; + pages = va_e - va_s + 1; + __rt_hw_mmu_unmap(mmu_info,v_addr,pages); + rt_hw_cpu_tlb_invalidate(); +} + +#ifdef RT_USING_USERSPACE +/** + * map vaddr in vtable with size and attr, this need a phy addr + * + * if v_addr == RT_NULL, get a valid vaddr to map. + * + * success return start vaddr, failed return RT_NULL + */ +void *rt_hw_mmu_map(rt_mmu_info *mmu_info,void *v_addr,void *p_addr,rt_size_t size,rt_size_t attr) +{ + void *ret; + rt_base_t level; + + level = rt_hw_interrupt_disable(); + ret = _rt_hw_mmu_map(mmu_info,v_addr,p_addr,size,attr); + rt_hw_interrupt_enable(level); + return ret; +} + +/** + * map vaddr in vtable with size and attr, this will auto alloc phy addr + * + * if v_addr == RT_NULL, get a valid vaddr to map. + * + * success return start vaddr, failed return RT_NULL + */ +void *rt_hw_mmu_map_auto(rt_mmu_info *mmu_info,void *v_addr,rt_size_t size,rt_size_t attr) +{ + void *ret; + rt_base_t level; + + level = rt_hw_interrupt_disable(); + ret = _rt_hw_mmu_map_auto(mmu_info,v_addr,size,attr); + rt_hw_interrupt_enable(level); + return ret; +} +#else +/** + * map vaddr in vtable with size and attr, this need a phy addr + * + * success return start vaddr, failed return RT_NULL + */ +void *rt_hw_mmu_map(rt_mmu_info *mmu_info, void* p_addr, size_t size, size_t attr) +{ + void *ret; + rt_base_t level; + + level = rt_hw_interrupt_disable(); + ret = _rt_hw_mmu_map(mmu_info, p_addr, size, attr); + rt_hw_interrupt_enable(level); + return ret; +} +#endif + +/** + * unmap vaddr in vtable, free phyaddr and page table + */ +void rt_hw_mmu_unmap(rt_mmu_info *mmu_info,void *v_addr,rt_size_t size) +{ + rt_base_t level; + + level = rt_hw_interrupt_disable(); + _rt_hw_mmu_unmap(mmu_info,v_addr,size); + rt_hw_interrupt_enable(level); +} + +void *_rt_hw_mmu_v2p(rt_mmu_info *mmu_info, void *v_addr) +{ + size_t l1 = GET_L1((size_t)v_addr); + pde_t *pde = &mmu_info->vtable[l1]; + if (*pde & PTE_P) + { + size_t *pte_addr = (size_t *)GET_PADDR(*pde); + size_t l2 = GET_L2((size_t)v_addr); + pte_t *pte = (pte_t *)&pte_addr[l2]; + if (*pte & PTE_P) + { + return (void *)(GET_PADDR(*pte) | GET_PF_OFFSET((rt_size_t)v_addr)); + } + } + return RT_NULL; +} + +#ifdef RT_DEBUG_MMU_X86 +void *_rt_hw_mmu_v2p_with_dbg(rt_mmu_info *mmu_info, void *v_addr) +{ + rt_kprintf("v2p: mmu vtable=%p, vaddr=%p\n", mmu_info->vtable, v_addr); + size_t l1 = GET_L1((size_t)v_addr); + rt_kprintf("=>L1=%d ", l1); + pde_t *pde = &mmu_info->vtable[l1]; + rt_kprintf("pde=>%p:%x (%x|%x)\n", pde, *pde, GET_PADDR(*pde), GET_PATTR(*pde)); + if (*pde & PTE_P) + { + size_t *pte_addr = (size_t *)GET_PADDR(*pde); + size_t l2 = GET_L2((size_t)v_addr); + rt_kprintf(" =>L2=%d ", l2); + pte_t *pte = (pte_t *)&pte_addr[l2]; + rt_kprintf("pte=>%p:%x (%x|%x)\n", pte, *pte, GET_PADDR(*pte), GET_PATTR(*pte)); + if (*pte & PTE_P) + { + rt_kprintf(" =>paddr:%p\n", GET_PADDR(*pte)); + return (void *)GET_PADDR(*pte); + } + } + rt_kprintf("v2p: mmu v2p %p failed!\n", v_addr); + return RT_NULL; +} +#endif + +/** + * virtual addr to physical addr + * + * success return phyaddr, failed return RT_NULL + */ +void *rt_hw_mmu_v2p(rt_mmu_info *mmu_info,void *v_addr) +{ + void *ret; + rt_base_t level; + + level = rt_hw_interrupt_disable(); +#ifdef RT_DEBUG_MMU_X86 + ret = _rt_hw_mmu_v2p_with_dbg(mmu_info,v_addr); +#else + ret = _rt_hw_mmu_v2p(mmu_info,v_addr); +#endif + rt_hw_interrupt_enable(level); + return ret; +} diff --git a/libcpu/x86/i386/mmu.h b/libcpu/x86/i386/mmu.h new file mode 100644 index 0000000000000000000000000000000000000000..46b845513cbc3fa2bf7f1c1a7c0790cd8756eac9 --- /dev/null +++ b/libcpu/x86/i386/mmu.h @@ -0,0 +1,94 @@ +/* + * Copyright (c) 2006-2021, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2021-07-14 JasonHu first version + */ + +#ifndef __MMU_H__ +#define __MMU_H__ + +#include +#include +#include + +#include "x86_mmu.h" + +typedef struct +{ + rt_size_t *vtable; + rt_size_t vstart; + rt_size_t vend; + rt_size_t pv_off; +}rt_mmu_info; + +typedef rt_size_t pde_t; /* page dir entry */ +typedef rt_size_t pte_t; /* page table entry */ + +/* page offset */ +#define GET_PF_ID(addr) ((addr) >> PAGE_OFFSET_BIT) +#define GET_PF_OFFSET(addr) __MASKVALUE(addr,PAGE_OFFSET_MASK) +#define GET_L1(addr) __PARTBIT(addr,PDE_SHIFT,PDE_BIT) +#define GET_L2(addr) __PARTBIT(addr,PTE_SHIFT,PTE_BIT) +#define GET_PADDR(pte) ((pte) & PAGE_ADDR_MASK) +#define GET_PATTR(pte) ((pte) & PAGE_OFFSET_MASK) + +#define PTE_PER_PAGE 1024 + +#define PAGE_TABLE_PADDR 0X3F3000 +#define PAGE_TABLE_VADDR (KERNEL_VADDR_START + PAGE_TABLE_PADDR) + +#define MAKE_PTE(paddr, attr) (rt_size_t) (((rt_size_t)(paddr) & PAGE_ADDR_MASK) | ((attr) & PAGE_OFFSET_MASK)) + +// page table entry (PTE) fields +#define PTE_P 0x001 // Present +#define PTE_R 0x000 // Read +#define PTE_W 0x002 // Write +#define PTE_X 0x000 // Execute +#define PTE_U 0x004 // User +#define PTE_PWT 0x008 // Write-through +#define PTE_S 0x000 // System +#define PTE_A 0x020 // Accessed +#define PTE_D 0x040 // Dirty + +#define PAGE_ATTR_RWX (PTE_X | PTE_W | PTE_R) +#define PAGE_ATTR_READONLY (PTE_R) +#define PAGE_ATTR_READEXECUTE (PTE_X | PTE_R) + +#define PAGE_ATTR_USER (PTE_U) +#define PAGE_ATTR_SYSTEM (PTE_S) + +#define KERNEL_PAGE_ATTR (PTE_P | PAGE_ATTR_RWX | PAGE_ATTR_SYSTEM) + +#define PTE_USED(pte) __MASKVALUE(pte,PTE_P) + +#define MMU_MAP_K_RO (PTE_S | PTE_R) +#define MMU_MAP_K_RWCB (PTE_S | PTE_R | PTE_W) +#define MMU_MAP_K_RW (PTE_S | PTE_R | PTE_W) +#define MMU_MAP_K_DEVICE (PTE_S | PTE_R | PTE_W) +#define MMU_MAP_U_RO (PTE_U | PTE_R) +#define MMU_MAP_U_RWCB (PTE_U | PTE_R | PTE_W) +#define MMU_MAP_U_RW (PTE_U | PTE_R | PTE_W) +#define MMU_MAP_U_DEVICE (PTE_U | PTE_R | PTE_W) + +#define PAGE_ATTR_MASK PAGE_OFFSET_MASK + +void *mmu_table_get(); +void switch_mmu(void *mmu_table); +int rt_hw_mmu_map_init(rt_mmu_info *mmu_info,void *v_address,rt_size_t size,rt_size_t *vtable,rt_size_t pv_off); +void rt_hw_mmu_kernel_map_init(rt_mmu_info *mmu_info,rt_size_t vaddr_start,rt_size_t size); + +#ifdef RT_USING_USERSPACE +void *rt_hw_mmu_map(rt_mmu_info *mmu_info,void *v_addr,void *p_addr,rt_size_t size,rt_size_t attr); +void *rt_hw_mmu_map_auto(rt_mmu_info *mmu_info,void *v_addr,rt_size_t size,rt_size_t attr); +#else +void *rt_hw_mmu_map(rt_mmu_info *mmu_info, void* p_addr, size_t size, size_t attr); +#endif /* RT_USING_USERSPACE */ + +void rt_hw_mmu_unmap(rt_mmu_info *mmu_info,void *v_addr,rt_size_t size); +void *rt_hw_mmu_v2p(rt_mmu_info *mmu_info,void *v_addr); + +#endif \ No newline at end of file diff --git a/libcpu/x86/i386/multiboot2.h b/libcpu/x86/i386/multiboot2.h new file mode 100644 index 0000000000000000000000000000000000000000..9ea887be9f9faaaefa6abc10f79d874793ced9d3 --- /dev/null +++ b/libcpu/x86/i386/multiboot2.h @@ -0,0 +1,417 @@ +/* multiboot2.h - Multiboot 2 header file. */ +/* Copyright (C) 1999,2003,2007,2008,2009,2010 Free Software Foundation, Inc. + * + * 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 ANY + * DEVELOPER OR DISTRIBUTOR 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_HEADER +#define MULTIBOOT_HEADER 1 + +/* How many bytes from the start of the file we search for the header. */ +#define MULTIBOOT_SEARCH 32768 +#define MULTIBOOT_HEADER_ALIGN 8 + +/* The magic field should contain this. */ +#define MULTIBOOT2_HEADER_MAGIC 0xe85250d6 + +/* This should be in %eax. */ +#define MULTIBOOT2_BOOTLOADER_MAGIC 0x36d76289 + +/* Alignment of multiboot modules. */ +#define MULTIBOOT_MOD_ALIGN 0x00001000 + +/* Alignment of the multiboot info structure. */ +#define MULTIBOOT_INFO_ALIGN 0x00000008 + +/* Flags set in the ’flags’ member of the multiboot header. */ + +#define MULTIBOOT_TAG_ALIGN 8 +#define MULTIBOOT_TAG_TYPE_END 0 +#define MULTIBOOT_TAG_TYPE_CMDLINE 1 +#define MULTIBOOT_TAG_TYPE_BOOT_LOADER_NAME 2 +#define MULTIBOOT_TAG_TYPE_MODULE 3 +#define MULTIBOOT_TAG_TYPE_BASIC_MEMINFO 4 +#define MULTIBOOT_TAG_TYPE_BOOTDEV 5 +#define MULTIBOOT_TAG_TYPE_MMAP 6 +#define MULTIBOOT_TAG_TYPE_VBE 7 +#define MULTIBOOT_TAG_TYPE_FRAMEBUFFER 8 +#define MULTIBOOT_TAG_TYPE_ELF_SECTIONS 9 +#define MULTIBOOT_TAG_TYPE_APM 10 +#define MULTIBOOT_TAG_TYPE_EFI32 11 +#define MULTIBOOT_TAG_TYPE_EFI64 12 +#define MULTIBOOT_TAG_TYPE_SMBIOS 13 +#define MULTIBOOT_TAG_TYPE_ACPI_OLD 14 +#define MULTIBOOT_TAG_TYPE_ACPI_NEW 15 +#define MULTIBOOT_TAG_TYPE_NETWORK 16 +#define MULTIBOOT_TAG_TYPE_EFI_MMAP 17 +#define MULTIBOOT_TAG_TYPE_EFI_BS 18 +#define MULTIBOOT_TAG_TYPE_EFI32_IH 19 +#define MULTIBOOT_TAG_TYPE_EFI64_IH 20 +#define MULTIBOOT_TAG_TYPE_LOAD_BASE_ADDR 21 + +#define MULTIBOOT_HEADER_TAG_END 0 +#define MULTIBOOT_HEADER_TAG_INFORMATION_REQUEST 1 +#define MULTIBOOT_HEADER_TAG_ADDRESS 2 +#define MULTIBOOT_HEADER_TAG_ENTRY_ADDRESS 3 +#define MULTIBOOT_HEADER_TAG_CONSOLE_FLAGS 4 +#define MULTIBOOT_HEADER_TAG_FRAMEBUFFER 5 +#define MULTIBOOT_HEADER_TAG_MODULE_ALIGN 6 +#define MULTIBOOT_HEADER_TAG_EFI_BS 7 +#define MULTIBOOT_HEADER_TAG_ENTRY_ADDRESS_EFI32 8 +#define MULTIBOOT_HEADER_TAG_ENTRY_ADDRESS_EFI64 9 +#define MULTIBOOT_HEADER_TAG_RELOCATABLE 10 + +#define MULTIBOOT_ARCHITECTURE_I386 0 +#define MULTIBOOT_ARCHITECTURE_MIPS32 4 +#define MULTIBOOT_HEADER_TAG_OPTIONAL 1 + +#define MULTIBOOT_LOAD_PREFERENCE_NONE 0 +#define MULTIBOOT_LOAD_PREFERENCE_LOW 1 +#define MULTIBOOT_LOAD_PREFERENCE_HIGH 2 + +#define MULTIBOOT_CONSOLE_FLAGS_CONSOLE_REQUIRED 1 +#define MULTIBOOT_CONSOLE_FLAGS_EGA_TEXT_SUPPORTED 2 + +#ifndef ASM_FILE + +typedef unsigned char multiboot_uint8_t; +typedef unsigned short multiboot_uint16_t; +typedef unsigned int multiboot_uint32_t; +typedef unsigned long long multiboot_uint64_t; + +struct multiboot_header +{ + /* Must be MULTIBOOT_MAGIC - see above. */ + multiboot_uint32_t magic; + + /* ISA */ + multiboot_uint32_t architecture; + + /* Total header length. */ + multiboot_uint32_t header_length; + + /* The above fields plus this one must equal 0 mod 2^32. */ + multiboot_uint32_t checksum; +}; + +struct multiboot_header_tag +{ + multiboot_uint16_t type; + multiboot_uint16_t flags; + multiboot_uint32_t size; +}; + +struct multiboot_header_tag_information_request +{ + multiboot_uint16_t type; + multiboot_uint16_t flags; + multiboot_uint32_t size; + multiboot_uint32_t requests[0]; +}; + +struct multiboot_header_tag_address +{ + multiboot_uint16_t type; + multiboot_uint16_t flags; + multiboot_uint32_t size; + multiboot_uint32_t header_addr; + multiboot_uint32_t load_addr; + multiboot_uint32_t load_end_addr; + multiboot_uint32_t bss_end_addr; +}; + +struct multiboot_header_tag_entry_address +{ + multiboot_uint16_t type; + multiboot_uint16_t flags; + multiboot_uint32_t size; + multiboot_uint32_t entry_addr; +}; + +struct multiboot_header_tag_console_flags +{ + multiboot_uint16_t type; + multiboot_uint16_t flags; + multiboot_uint32_t size; + multiboot_uint32_t console_flags; +}; + +struct multiboot_header_tag_framebuffer +{ + multiboot_uint16_t type; + multiboot_uint16_t flags; + multiboot_uint32_t size; + multiboot_uint32_t width; + multiboot_uint32_t height; + multiboot_uint32_t depth; +}; + +struct multiboot_header_tag_module_align +{ + multiboot_uint16_t type; + multiboot_uint16_t flags; + multiboot_uint32_t size; +}; + +struct multiboot_header_tag_relocatable +{ + multiboot_uint16_t type; + multiboot_uint16_t flags; + multiboot_uint32_t size; + multiboot_uint32_t min_addr; + multiboot_uint32_t max_addr; + multiboot_uint32_t align; + multiboot_uint32_t preference; +}; + +struct multiboot_color +{ + multiboot_uint8_t red; + multiboot_uint8_t green; + multiboot_uint8_t blue; +}; + +struct multiboot_mmap_entry +{ + multiboot_uint64_t addr; + multiboot_uint64_t len; +#define MULTIBOOT_MEMORY_AVAILABLE 1 +#define MULTIBOOT_MEMORY_RESERVED 2 +#define MULTIBOOT_MEMORY_ACPI_RECLAIMABLE 3 +#define MULTIBOOT_MEMORY_NVS 4 +#define MULTIBOOT_MEMORY_BADRAM 5 + multiboot_uint32_t type; + multiboot_uint32_t zero; +}; +typedef struct multiboot_mmap_entry multiboot_memory_map_t; + +struct multiboot_tag +{ + multiboot_uint32_t type; + multiboot_uint32_t size; +}; + +struct multiboot_tag_string +{ + multiboot_uint32_t type; + multiboot_uint32_t size; + char string[0]; +}; + +struct multiboot_tag_module +{ + multiboot_uint32_t type; + multiboot_uint32_t size; + multiboot_uint32_t mod_start; + multiboot_uint32_t mod_end; + char cmdline[0]; +}; + +struct multiboot_tag_basic_meminfo +{ + multiboot_uint32_t type; + multiboot_uint32_t size; + multiboot_uint32_t mem_lower; + multiboot_uint32_t mem_upper; +}; + +struct multiboot_tag_bootdev +{ + multiboot_uint32_t type; + multiboot_uint32_t size; + multiboot_uint32_t biosdev; + multiboot_uint32_t slice; + multiboot_uint32_t part; +}; + +struct multiboot_tag_mmap +{ + multiboot_uint32_t type; + multiboot_uint32_t size; + multiboot_uint32_t entry_size; + multiboot_uint32_t entry_version; + struct multiboot_mmap_entry entries[0]; +}; + +struct multiboot_vbe_info_block +{ + multiboot_uint8_t external_specification[512]; +}; + +struct multiboot_vbe_mode_info_block +{ + multiboot_uint8_t external_specification[256]; +}; + +struct multiboot_tag_vbe +{ + multiboot_uint32_t type; + multiboot_uint32_t size; + + multiboot_uint16_t vbe_mode; + multiboot_uint16_t vbe_interface_seg; + multiboot_uint16_t vbe_interface_off; + multiboot_uint16_t vbe_interface_len; + + struct multiboot_vbe_info_block vbe_control_info; + struct multiboot_vbe_mode_info_block vbe_mode_info; +}; + +struct multiboot_tag_framebuffer_common +{ + multiboot_uint32_t type; + multiboot_uint32_t size; + + multiboot_uint64_t framebuffer_addr; + multiboot_uint32_t framebuffer_pitch; + multiboot_uint32_t framebuffer_width; + multiboot_uint32_t framebuffer_height; + multiboot_uint8_t framebuffer_bpp; +#define MULTIBOOT_FRAMEBUFFER_TYPE_INDEXED 0 +#define MULTIBOOT_FRAMEBUFFER_TYPE_RGB 1 +#define MULTIBOOT_FRAMEBUFFER_TYPE_EGA_TEXT 2 + multiboot_uint8_t framebuffer_type; + multiboot_uint16_t reserved; +}; + +struct multiboot_tag_framebuffer +{ + struct multiboot_tag_framebuffer_common common; + + union + { + struct + { + multiboot_uint16_t framebuffer_palette_num_colors; + struct multiboot_color framebuffer_palette[0]; + }; + struct + { + multiboot_uint8_t framebuffer_red_field_position; + multiboot_uint8_t framebuffer_red_mask_size; + multiboot_uint8_t framebuffer_green_field_position; + multiboot_uint8_t framebuffer_green_mask_size; + multiboot_uint8_t framebuffer_blue_field_position; + multiboot_uint8_t framebuffer_blue_mask_size; + }; + }; +}; + +struct multiboot_tag_elf_sections +{ + multiboot_uint32_t type; + multiboot_uint32_t size; + multiboot_uint32_t num; + multiboot_uint32_t entsize; + multiboot_uint32_t shndx; + char sections[0]; +}; + +struct multiboot_tag_apm +{ + multiboot_uint32_t type; + multiboot_uint32_t size; + multiboot_uint16_t version; + multiboot_uint16_t cseg; + multiboot_uint32_t offset; + multiboot_uint16_t cseg_16; + multiboot_uint16_t dseg; + multiboot_uint16_t flags; + multiboot_uint16_t cseg_len; + multiboot_uint16_t cseg_16_len; + multiboot_uint16_t dseg_len; +}; + +struct multiboot_tag_efi32 +{ + multiboot_uint32_t type; + multiboot_uint32_t size; + multiboot_uint32_t pointer; +}; + +struct multiboot_tag_efi64 +{ + multiboot_uint32_t type; + multiboot_uint32_t size; + multiboot_uint64_t pointer; +}; + +struct multiboot_tag_smbios +{ + multiboot_uint32_t type; + multiboot_uint32_t size; + multiboot_uint8_t major; + multiboot_uint8_t minor; + multiboot_uint8_t reserved[6]; + multiboot_uint8_t tables[0]; +}; + +struct multiboot_tag_old_acpi +{ + multiboot_uint32_t type; + multiboot_uint32_t size; + multiboot_uint8_t rsdp[0]; +}; + +struct multiboot_tag_new_acpi +{ + multiboot_uint32_t type; + multiboot_uint32_t size; + multiboot_uint8_t rsdp[0]; +}; + +struct multiboot_tag_network +{ + multiboot_uint32_t type; + multiboot_uint32_t size; + multiboot_uint8_t dhcpack[0]; +}; + +struct multiboot_tag_efi_mmap +{ + multiboot_uint32_t type; + multiboot_uint32_t size; + multiboot_uint32_t descr_size; + multiboot_uint32_t descr_vers; + multiboot_uint8_t efi_mmap[0]; +}; + +struct multiboot_tag_efi32_ih +{ + multiboot_uint32_t type; + multiboot_uint32_t size; + multiboot_uint32_t pointer; +}; + +struct multiboot_tag_efi64_ih +{ + multiboot_uint32_t type; + multiboot_uint32_t size; + multiboot_uint64_t pointer; +}; + +struct multiboot_tag_load_base_addr +{ + multiboot_uint32_t type; + multiboot_uint32_t size; + multiboot_uint32_t load_base_addr; +}; + +#endif /* ! ASM_FILE */ + +#endif /* ! MULTIBOOT_HEADER */ \ No newline at end of file diff --git a/libcpu/x86/i386/page.c b/libcpu/x86/i386/page.c new file mode 100644 index 0000000000000000000000000000000000000000..9dc0de4ae25f834ec8a31e083d034b59591f0b1a --- /dev/null +++ b/libcpu/x86/i386/page.c @@ -0,0 +1,489 @@ +/* + * Copyright (c) 2006-2021, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2021-01-29 lizhirui first version + * 2021-07-17 JasonHu used in i386 + */ + +#include +#include +#include +#include + +#ifdef RT_USING_USERSPACE + +#include "page.h" +#include "mmu.h" + +#define PAGE_LIST_SIZE (ADDRESS_WIDTH_BITS - PAGE_OFFSET_BIT) + +// #define RT_PAGE_DEBUG + +#ifdef RT_PAGE_DEBUG + #define dprintf rt_kprintf +#else + #define dprintf(...) +#endif + +#define RT_PASSERT RT_ASSERT + +struct page +{ + struct page *next; + struct page *pre; + rt_size_t size_bits; + int ref_cnt; +}; + +static struct page *page_start; +static void *page_addr; +static rt_size_t page_nr; + +#define PAGE_VALID(pageobj) RT_PASSERT(!((((rt_size_t)pageobj) - ((rt_size_t)page_start)) % sizeof(struct page))) + +static struct page *page_list[ADDRESS_WIDTH_BITS] = {0}; + +//get the correct page_list index according the actual size +rt_size_t rt_page_bits(rt_size_t size) +{ + rt_base_t bit; + + //get highest 1 bit index + bit = __builtin_clzl(size); + bit = sizeof(rt_size_t) * 8 - bit - 1; + + //if bits remained has 1,the large page is needed + if((size ^ (1UL << bit)) != 0) + { + bit++; + } + + bit -= PAGE_OFFSET_BIT; + + if(bit < 0) + { + bit = 0; + } + + return (rt_size_t)bit; +} + +//convert physical address to page object +static struct page *addr_to_page(void *addr) +{ + rt_size_t off; + + if(addr < page_addr) + { + return 0; + } + RT_PASSERT(__CHECKALIGN(addr,PAGE_OFFSET_BIT)); + off = ((rt_size_t)addr) - ((rt_size_t)page_addr); + off >>= PAGE_OFFSET_BIT; + + if(off >= page_nr) + { + return 0; + } + + return &page_start[off]; +} + +//convert page object to physical address +static void *page_to_addr(struct page *p) +{ + if(!p) + { + return 0; + } + + PAGE_VALID(p); + return (void *)(((rt_size_t)page_addr) + ((p - page_start) << PAGE_OFFSET_BIT)); +} + +//get the buddy of page specified by p(split a page to two page according to size_bits) +static inline struct page *buddy_get(struct page *p,rt_size_t size_bits) +{ + rt_size_t addr; + + PAGE_VALID(p); + addr = (rt_size_t)page_to_addr(p); + RT_PASSERT(__CHECKALIGN(addr,size_bits + PAGE_OFFSET_BIT)); + addr ^= (1UL << (size_bits + PAGE_OFFSET_BIT)); + return addr_to_page((void *)addr); +} + +//remove the page from the linked list +static void page_remove(struct page *p,rt_size_t size_bits) +{ + PAGE_VALID(p); + + if(p -> pre) + { + p -> pre -> next = p -> next; + } + else + { + page_list[size_bits] = p -> next; + } + + if(p -> next) + { + p -> next -> pre = p -> pre; + } + + p -> size_bits = ADDRESS_WIDTH_BITS; +} + +static void _pages_ref_inc(struct page *p, uint32_t size_bits) +{ + struct page *page_head; + int idx; + + /* find page group head */ + idx = p - page_start; + if (idx < 0 || idx >= page_nr) + { + return; + } + idx = idx & ~((1UL << size_bits) - 1); + + page_head = page_start + idx; + page_head->ref_cnt++; +} + +void rt_page_ref_inc(void *addr, uint32_t size_bits) +{ + struct page *p; + rt_base_t level; + + p = addr_to_page(addr); + level = rt_hw_interrupt_disable(); + _pages_ref_inc(p, size_bits); + rt_hw_interrupt_enable(level); +} + +static void _pages_ref_dec(struct page *p, uint32_t size_bits) +{ + struct page *page_head; + int idx; + + /* find page group head */ + idx = p - page_start; + if (idx < 0 || idx >= page_nr) + { + return; + } + idx = idx & ~((1UL << size_bits) - 1); + + page_head = page_start + idx; + page_head->ref_cnt--; +} + +void rt_page_ref_dec(void *addr, uint32_t size_bits) +{ + struct page *p; + rt_base_t level; + + p = addr_to_page(addr); + level = rt_hw_interrupt_disable(); + _pages_ref_dec(p, size_bits); + rt_hw_interrupt_enable(level); +} + +static int _pages_ref_get(struct page *p, uint32_t size_bits) +{ + struct page *page_head; + int idx; + + /* find page group head */ + idx = p - page_start; + if (idx < 0 || idx >= page_nr) + { + return - 1; + } + idx = idx & ~((1UL << size_bits) - 1); + + page_head = page_start + idx; + return page_head->ref_cnt; +} + +int rt_page_ref_get(void *addr, uint32_t size_bits) +{ + struct page *p; + rt_base_t level; + int ref_cnt; + p = addr_to_page(addr); + level = rt_hw_interrupt_disable(); + ref_cnt = _pages_ref_get(p, size_bits); + rt_hw_interrupt_enable(level); + return ref_cnt; +} + +//add new page to the first item of the linked list +static void page_insert(struct page *p,rt_size_t size_bits) +{ + PAGE_VALID(p); + + p -> next = page_list[size_bits]; + + if(p -> next) + { + p -> next -> pre = p; + } + + p -> pre = 0; + page_list[size_bits] = p; + p -> size_bits = size_bits; +} + +static struct page *_pages_alloc(rt_size_t size_bits) +{ + struct page *p; + + if(page_list[size_bits]) + { + //if appropriate page exists,just get new page from the linked list specified by size_bits + p = page_list[size_bits]; + page_remove(p,size_bits); + } + else + { + //otherwise get new page from large linked list + rt_size_t level; + rt_size_t high = PAGE_LIST_SIZE; + + for(level = size_bits + 1;level <= high;level++) + { + if(page_list[level]) + { + break; + } + } + + RT_ASSERT(level <= (high + 2)); + + if(level == high + 2) + { + return 0;//couldn't find a appropriate page + } + + p = page_list[level]; + page_remove(p,level); + + //push down this page,and split it to the size specified by size_bits + while(level > size_bits) + { + page_insert(p,level - 1); + p = buddy_get(p,level - 1); + level--; + } + } + p->size_bits = ADDRESS_WIDTH_BITS; + p->ref_cnt = 1; + dprintf("page_alloc:paddr = 0x%p,size_bits = 0x%p\n",page_to_addr(p),size_bits); + return p; +} + +static int _pages_free(struct page *p,rt_size_t size_bits) +{ + rt_size_t level = size_bits; + rt_size_t high = ADDRESS_WIDTH_BITS - size_bits - 1; + struct page *buddy; + + if (p->ref_cnt <= 0) + { + rt_kprintf("page ref %d\n", p->ref_cnt); + } + RT_ASSERT(p->ref_cnt > 0); + RT_ASSERT(p->size_bits == ADDRESS_WIDTH_BITS); + + p->ref_cnt--; + if (p->ref_cnt != 0) + { + return 0; + } + + dprintf("page_free:paddr = 0x%p,size_bits = 0x%p\n",page_to_addr(p),size_bits); + PAGE_VALID(p); + + while(level < high) + { + buddy = buddy_get(p,level); + + if(buddy && (buddy -> size_bits == level)) + { + page_remove(buddy,level); + p = (p < buddy) ? p : buddy; + level++; + } + else + { + break; + } + } + + page_insert(p,level); + return 1; +} + +void *rt_pages_alloc(rt_size_t size_bits) +{ + struct page *p; + rt_base_t level; + + level = rt_hw_interrupt_disable(); + p = _pages_alloc(size_bits); + rt_hw_interrupt_enable(level); + return page_to_addr(p); +} + +int rt_pages_free(void *addr,rt_size_t size_bits) +{ + struct page *p; + RT_PASSERT(__CHECKALIGN(addr,size_bits)); + p = addr_to_page(addr); + int real_free = 0; + + if(p) + { + rt_base_t level; + level = rt_hw_interrupt_disable(); + real_free = _pages_free(p,size_bits); + rt_hw_interrupt_enable(level); + } + return real_free; +} + +void rt_pageinfo_dump() +{ + rt_size_t i; + rt_size_t total = 0; + + rt_base_t level; + level = rt_hw_interrupt_disable(); + + for(i = 0;i < PAGE_LIST_SIZE;i++) + { + struct page *p = page_list[i]; + + rt_kprintf("level %d ",i); + + while(p) + { + total += (1UL << i); + rt_kprintf("[0x%08x]",page_to_addr(p)); + p = p -> next; + } + + rt_kprintf("\n"); + } + + rt_hw_interrupt_enable(level); + rt_kprintf("free pages is %08x\n",total); + rt_kprintf("-------------------------------\n"); +} +MSH_CMD_EXPORT(rt_pageinfo_dump, show page info); + +void rt_page_get_info(size_t *total_nr, size_t *free_nr) +{ + rt_size_t i; + rt_size_t total_free = 0; + rt_base_t level; + + level = rt_hw_interrupt_disable(); + + for (i = 0;i < PAGE_LIST_SIZE;i++) + { + struct page *p = page_list[i]; + + while (p) + { + total_free += (1UL << i); + p = p -> next; + } + } + + rt_hw_interrupt_enable(level); + *total_nr = page_nr; + *free_nr = total_free; +} + +void rt_page_init(rt_region_t reg) +{ + rt_size_t align_bits; + rt_size_t size_bits; + rt_size_t i; + + dprintf("split 0x%08x 0x%08x\n",reg.start,reg.end); + + reg.start = __ALIGNUP(reg.start,PAGE_OFFSET_BIT); + reg.end = __ALIGNDOWN(reg.end,PAGE_OFFSET_BIT); + + rt_size_t nr = PAGE_SIZE / sizeof(struct page); + rt_size_t total = (reg.end - reg.start) >> PAGE_OFFSET_BIT; + + /* + equation:cell((total - mnr) / nr) = mnr + let total - mnr = knr + p(k is integer,0 <= p < nr) + then,k + cell(p / nr) = mnr + when p = 0,k = (total - mnr) / nr,mnr = total / (nr + 1) + when p > 0,k = (total - mnr - p) / nr,cell(p / nr) = 1,mnr = (total - p + nr) / (nr + 1) + to be simple,let all free memory remained can be indicated in page struct memory,so let use the upbound of mnr + let p = 0,mnr = max(total / (nr + 1),(total - p + nr) / (nr + 1)) = (total + nr) / (nr + 1) + */ + rt_size_t mnr = (total + nr) / (nr + 1); + + dprintf("nr = 0x%08x\n",nr); + dprintf("total = 0x%08x\n",total); + dprintf("mnr = 0x%08x\n",mnr); + + page_start = (struct page *)reg.start; + reg.start += (mnr << PAGE_OFFSET_BIT);//now reg.start is the start point of free memory remained + page_addr = (void *)reg.start; + page_nr = (reg.end - reg.start) >> PAGE_OFFSET_BIT; + + dprintf("align 0x%08x 0x%08x\n",reg.start,reg.end); + + //init page struct + for(i = 0;i < page_nr;i++) + { + page_start[i].size_bits = ADDRESS_WIDTH_BITS; + } + + //init free list + for(i = 0;i < PAGE_LIST_SIZE;i++) + { + page_list[i] = RT_NULL; + } + + //init buddy list + while(reg.start != reg.end) + { + struct page *p; + size_bits = ADDRESS_WIDTH_BITS - 1 - __builtin_clzl(reg.end - reg.start); + align_bits = __builtin_ctzl(reg.start); + + /* + align_bits < size_bits:a small page exists + align_bits = size_bits:this is a page + align_bits > size_bits:the size of memory is less than the align size of current addr + */ + if(align_bits < size_bits) + { + size_bits = align_bits; + } + p = addr_to_page((void*)reg.start); + p->ref_cnt = 1; + _pages_free(addr_to_page((void *)reg.start),size_bits - PAGE_OFFSET_BIT); + reg.start += (1U << size_bits); + } + + rt_pages_alloc(0); +} + +#endif /* RT_USING_USERSPACE */ \ No newline at end of file diff --git a/libcpu/x86/i386/page.h b/libcpu/x86/i386/page.h new file mode 100644 index 0000000000000000000000000000000000000000..5e5cea72a8bdfac311369da5d85028d7e8821914 --- /dev/null +++ b/libcpu/x86/i386/page.h @@ -0,0 +1,34 @@ +/* + * Copyright (c) 2006-2021, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2021-01-29 lizhirui first version + * 2021-07-17 JasonHu used in i386 + */ + +#ifndef __PAGE_H__ +#define __PAGE_H__ + +#include + +struct tag_region +{ + size_t start; + size_t end; +}; +typedef struct tag_region rt_region_t; + +rt_size_t rt_page_bits(rt_size_t size); +void *rt_pages_alloc(rt_size_t size_bits); +void rt_page_ref_inc(void *addr, uint32_t size_bits); +int rt_page_ref_get(void *addr, uint32_t size_bits); +void rt_page_ref_dec(void *addr, uint32_t size_bits); +int rt_pages_free(void *addr,rt_size_t size_bits); +void rt_pageinfo_dump(); +void rt_page_get_info(size_t *total_nr, size_t *free_nr); +void rt_page_init(rt_region_t reg); + +#endif \ No newline at end of file diff --git a/libcpu/x86/i386/pic.c b/libcpu/x86/i386/pic.c new file mode 100644 index 0000000000000000000000000000000000000000..1573f202a7cc937cdd98d9a48b92c3cb16f6883c --- /dev/null +++ b/libcpu/x86/i386/pic.c @@ -0,0 +1,67 @@ +/* + * Copyright (c) 2006-2021, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2021-07-16 JasonHu first version + */ + +#include "pic.h" +#include + +void rt_hw_pic_init(void) +{ + /* mask all interrupts */ + outb(PIC_MASTER_CTLMASK, 0xff); + outb(PIC_SLAVE_CTLMASK, 0xff); + + outb(PIC_MASTER_CTL, 0x11); + outb(PIC_MASTER_CTLMASK, 0x20); + outb(PIC_MASTER_CTLMASK, 1 << 2); + outb(PIC_MASTER_CTLMASK, 0x01); + + outb(PIC_SLAVE_CTL, 0x11); + outb(PIC_SLAVE_CTLMASK, 0x28); + outb(PIC_SLAVE_CTLMASK, 2); + outb(PIC_SLAVE_CTLMASK, 0x01); + + /* mask all interrupts */ + outb(PIC_MASTER_CTLMASK, 0xff); + outb(PIC_SLAVE_CTLMASK, 0xff); +} + +void rt_hw_pic_enable(int irq) +{ + if (irq < 8) /* clear master */ + { + outb(PIC_MASTER_CTLMASK, inb(PIC_MASTER_CTLMASK) & ~(1 << irq)); + } + else /* clear irq 2 first, then clear slave */ + { + outb(PIC_MASTER_CTLMASK, inb(PIC_MASTER_CTLMASK) & ~(1 << PIC_SLAVER_CONNECT_IRQ)); + outb(PIC_SLAVE_CTLMASK, inb(PIC_SLAVE_CTLMASK) & ~ (1 << (irq - 8))); + } +} + +void rt_hw_pic_disable(int irq) +{ + if(irq < 8) /* set master */ + { + outb(PIC_MASTER_CTLMASK, inb(PIC_MASTER_CTLMASK) | (1 << irq)); + } + else /* set slave */ + { + outb(PIC_SLAVE_CTLMASK, inb(PIC_SLAVE_CTLMASK) | (1 << (irq - 8))); + } +} + +void rt_hw_pic_ack(int irq) +{ + if (irq >= 8) /* slaver */ + { + outb(PIC_SLAVE_CTL, PIC_EIO); + } + outb(PIC_MASTER_CTL, PIC_EIO); +} diff --git a/libcpu/x86/i386/pic.h b/libcpu/x86/i386/pic.h new file mode 100644 index 0000000000000000000000000000000000000000..1717815504d32a34b475dde8b2e6feb34e2bfa37 --- /dev/null +++ b/libcpu/x86/i386/pic.h @@ -0,0 +1,28 @@ +/* + * Copyright (c) 2006-2021, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2021-07-16 JasonHu first version + */ + +#ifndef __PIC_H__ +#define __PIC_H__ + +#define PIC_MASTER_CTL 0x20 // I/O port for interrupt controller +#define PIC_MASTER_CTLMASK 0x21 // setting bits in this port disables ints +#define PIC_SLAVE_CTL 0xa0 // I/O port for second interrupt controller +#define PIC_SLAVE_CTLMASK 0xa1 // setting bits in this port disables ints + +#define PIC_EIO 0x20 /* end of IO port */ + +#define PIC_SLAVER_CONNECT_IRQ 2 // 连接从片 + +void rt_hw_pic_init(); +void rt_hw_pic_enable(int irq); +void rt_hw_pic_disable(int irq); +void rt_hw_pic_ack(int irq); + +#endif /* __PIC_H__ */ \ No newline at end of file diff --git a/libcpu/x86/i386/segment.c b/libcpu/x86/i386/segment.c new file mode 100644 index 0000000000000000000000000000000000000000..ef2af3ca45778da1d21293d55e434a25a80c9e0e --- /dev/null +++ b/libcpu/x86/i386/segment.c @@ -0,0 +1,71 @@ +#include "segment.h" +#include "tss.h" +#include "cpuport.h" + +#include +#include + +struct rt_hw_segment +{ + rt_uint16_t limit_low, base_low; + rt_uint8_t base_mid, access_right; + rt_uint8_t limit_high, base_high; +}; +typedef struct rt_hw_segment rt_hw_segment_t; + +/* Global segment table */ + +static void segment_set(rt_hw_segment_t *seg, rt_ubase_t limit, + rt_ubase_t base, rt_ubase_t attributes) +{ + seg->limit_low = limit & 0xffff; + seg->base_low = base & 0xffff; + seg->base_mid = (base >> 16) & 0xff; + seg->access_right = attributes & 0xff; + seg->limit_high = ((limit >> 16) & 0x0f) | ((attributes >> 8) & 0xf0); + seg->base_high = (base >> 24) & 0xff; +} + +/** + * in x86, we can use fs/gs segment to save thread info, + * set thread info base addr, os can use gs:0 to get the first + * data on [base] + */ +void rt_hw_seg_tls_set(rt_ubase_t base) +{ + rt_hw_segment_t *seg = GDT_OFF2PTR(((rt_hw_segment_t *) GDT_VADDR), INDEX_USER_TLS); + seg->base_low = base & 0xffff; + seg->base_mid = (base >> 16) & 0xff; + seg->base_high = (base >> 24) & 0xff; +} + +rt_ubase_t rt_hw_seg_tls_get() +{ + rt_hw_segment_t *seg = GDT_OFF2PTR(((rt_hw_segment_t *) GDT_VADDR), INDEX_USER_TLS); + return (seg->base_low & 0xffff) | ((seg->base_mid & 0xff) << 16) | ((seg->base_high & 0xff) << 24); +} + +void rt_hw_segment_init(void) +{ + rt_hw_segment_t *gdt = (rt_hw_segment_t *) GDT_VADDR; + + int i; + for (i = 0; i <= GDT_LIMIT/8; i++) + { + segment_set(GDT_OFF2PTR(gdt, i), 0, 0, 0); + } + + segment_set(GDT_OFF2PTR(gdt, INDEX_KERNEL_CODE), GDT_BOUND_TOP, GDT_BOUND_BOTTOM, GDT_KERNEL_CODE_ATTR); + segment_set(GDT_OFF2PTR(gdt, INDEX_KERNEL_DATA), GDT_BOUND_TOP, GDT_BOUND_BOTTOM, GDT_KERNEL_DATA_ATTR); + + rt_hw_tss_t *tss = rt_hw_tss_get(); + segment_set(GDT_OFF2PTR(gdt, INDEX_TSS), sizeof(rt_hw_tss_t) - 1, (rt_ubase_t )tss, GDT_TSS_ATTR); + + segment_set(GDT_OFF2PTR(gdt, INDEX_USER_CODE), GDT_BOUND_TOP, GDT_BOUND_BOTTOM, GDT_USER_CODE_ATTR); + segment_set(GDT_OFF2PTR(gdt, INDEX_USER_DATA), GDT_BOUND_TOP, GDT_BOUND_BOTTOM, GDT_USER_DATA_ATTR); + + segment_set(GDT_OFF2PTR(gdt, INDEX_USER_TLS), GDT_BOUND_TOP, GDT_BOUND_BOTTOM, GDT_USER_TLS_ATTR); + + extern void load_new_gdt(rt_ubase_t size, rt_ubase_t gdtr); + load_new_gdt(GDT_LIMIT, GDT_VADDR); +} \ No newline at end of file diff --git a/libcpu/x86/i386/segment.h b/libcpu/x86/i386/segment.h new file mode 100644 index 0000000000000000000000000000000000000000..10cb839e2d4caad103bdbbbb039f5f9dd7f1965f --- /dev/null +++ b/libcpu/x86/i386/segment.h @@ -0,0 +1,85 @@ +#ifndef __X86_SEGMENT_H__ +#define __X86_SEGMENT_H__ + +#include + +/* 描述符类型值说明 */ +/* DA: Descriptor Attribute */ +#define DA_32 0x4000 /* 32 位段 */ +#define DA_G 0x8000 /* 段界限粒度为 4K 字节 */ +#define DA_DPL0 0x00 /* DPL = 0 */ +#define DA_DPL1 0x20 /* DPL = 1 */ +#define DA_DPL2 0x40 /* DPL = 2 */ +#define DA_DPL3 0x60 /* DPL = 3 */ +/* 存储段描述符类型值说明 */ +#define DA_DR 0x90 /* 存在的只读数据段类型值 */ +#define DA_DRW 0x92 /* 存在的可读写数据段属性值 */ +#define DA_DRWA 0x93 /* 存在的已访问可读写数据段类型值 */ +#define DA_C 0x98 /* 存在的只执行代码段属性值 */ +#define DA_CR 0x9A /* 存在的可执行可读代码段属性值 */ +#define DA_CCO 0x9C /* 存在的只执行一致代码段属性值 */ +#define DA_CCOR 0x9E /* 存在的可执行可读一致代码段属性值 */ +/* 系统段描述符类型值说明 */ +#define DA_LDT 0x82 /* 局部描述符表段类型值 */ +#define DA_386TSS 0x89 /* 可用 386 任务状态段类型值 */ + +/* 选择子类型值说明 */ +/* 其中, SA : Selector Attribute */ +#define SA_RPL0 0 +#define SA_RPL1 1 +#define SA_RPL2 2 +#define SA_RPL3 3 + +#define SA_TIG 0 +#define SA_TIL 1 + +//index of descriptor +#define INDEX_DUMMY 0 +#define INDEX_KERNEL_CODE 1 +#define INDEX_KERNEL_DATA 2 +#define INDEX_TSS 3 +#define INDEX_USER_CODE 4 +#define INDEX_USER_DATA 5 +#define INDEX_USER_TLS 6 + +#define KERNEL_CODE_SEL ((INDEX_KERNEL_CODE << 3) + (SA_TIG << 2) + SA_RPL0) +#define KERNEL_DATA_SEL ((INDEX_KERNEL_DATA << 3) + (SA_TIG << 2) + SA_RPL0) +#define KERNEL_STACK_SEL KERNEL_DATA_SEL + +#define KERNEL_TSS_SEL ((INDEX_TSS << 3) + (SA_TIG << 2) + SA_RPL0) + +#define USER_CODE_SEL ((INDEX_USER_CODE << 3) + (SA_TIG << 2) + SA_RPL3) +#define USER_DATA_SEL ((INDEX_USER_DATA << 3) + (SA_TIG << 2) + SA_RPL3) +#define USER_STACK_SEL USER_DATA_SEL + +#define USER_TLS_SEL ((INDEX_USER_TLS << 3) + (SA_TIG << 2) + SA_RPL3) + +#define GDT_LIMIT 0x000007ff +#define GDT_PADDR 0x003F0000 + +#define GDT_VADDR (KERNEL_VADDR_START + GDT_PADDR) + +#define GDT_OFF2PTR(gdt, off) (gdt + off) + +#define GDT_BOUND_BOTTOM 0 +#define GDT_BOUND_TOP 0xffffffff + +#define GDT_KERNEL_CODE_ATTR (DA_CR | DA_DPL0 | DA_32 | DA_G) +#define GDT_KERNEL_DATA_ATTR (DA_DRW | DA_DPL0 | DA_32 | DA_G) +#define GDT_USER_CODE_ATTR (DA_CR | DA_DPL3 | DA_32 | DA_G) +#define GDT_USER_DATA_ATTR (DA_DRW | DA_DPL3 | DA_32 | DA_G) +#define GDT_TSS_ATTR (DA_386TSS) +#define GDT_USER_TLS_ATTR (DA_DR | DA_DPL3 | DA_32 | DA_G) /* read only data seg */ + +#ifndef __ASSEMBLY__ + +#include + +void rt_hw_segment_init(void); + +void rt_hw_seg_tls_set(rt_ubase_t base); +rt_ubase_t rt_hw_seg_tls_get(); + +#endif + +#endif /*__X86_SEGMENT_H__*/ \ No newline at end of file diff --git a/libcpu/x86/i386/stackframe.h b/libcpu/x86/i386/stackframe.h new file mode 100644 index 0000000000000000000000000000000000000000..c14dd6363ada2f158d86a170e2ab91dc644d4e0c --- /dev/null +++ b/libcpu/x86/i386/stackframe.h @@ -0,0 +1,70 @@ +/* + * Copyright (c) 2006-2021, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2021-07-16 JasonHu first version + */ + +#ifndef __STACK_FRAME_H__ +#define __STACK_FRAME_H__ + +#include + +struct rt_hw_stack_frame +{ + rt_uint32_t vec_no; + + rt_uint32_t edi; + rt_uint32_t esi; + rt_uint32_t ebp; + // 虽然pusha把esp也压入,但esp是不断变化的,所以会被popad忽略 + rt_uint32_t esp_dummy; + rt_uint32_t ebx; + rt_uint32_t edx; + rt_uint32_t ecx; + rt_uint32_t eax; + + rt_uint32_t gs; + rt_uint32_t fs; + rt_uint32_t es; + rt_uint32_t ds; + // error_code会被压入在eip之后 + rt_uint32_t error_code; + rt_uint32_t eip; + rt_uint32_t cs; + rt_uint32_t eflags; + /* 以下由cpu从低特权级进入高特权级时压入 */ + rt_uint32_t esp; + rt_uint32_t ss; +} __attribute__((packed)); + +typedef struct rt_hw_stack_frame rt_hw_stack_frame_t; + +typedef void (*hw_thread_func_t)(void *); + +/* we use ebp, ebx, edi, esi, eip as context for fork/clone */ +#define HW_CONTEXT_MEMBER_NR 5 + +struct rt_hw_context +{ + rt_uint32_t ebp; + rt_uint32_t ebx; + rt_uint32_t edi; + rt_uint32_t esi; + + /* 首次运行指向hw_thread_func_t,其它时候指向switch_to的返回地址 */ + void (*eip) (hw_thread_func_t func, void *arg, void (*texit)()); + + rt_uint32_t unused; + hw_thread_func_t function; + void *arg; + void *texit; /* thread exit call */ +}; +typedef struct rt_hw_context rt_hw_context_t; + +void rt_hw_stack_frame_dump(rt_hw_stack_frame_t *frame); + +#endif /* __STACK_FRAME_H__ */ \ No newline at end of file diff --git a/libcpu/x86/i386/start_gcc.S b/libcpu/x86/i386/start_gcc.S new file mode 100644 index 0000000000000000000000000000000000000000..602896cdc0345b87bc1820b6a10cf9fcabd77628 --- /dev/null +++ b/libcpu/x86/i386/start_gcc.S @@ -0,0 +1,83 @@ +/* + * Copyright (c) 2006-2021, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2021-07-16 JasonHu,GUI first version + */ + +#define ASM_FILE 1 +#include "multiboot2.h" + +# the size of stack is 16KB +#define STACK_SIZE 0x4000 + +#define KSTACK_TOP_PHY 0x9f000 + +.code32 + +.extern rt_boot_setup_entry, primary_cpu_entry + +.section .init +.globl start, _start + +start: +_start: + jmp multiboot_entry + +.align 8 +multiboot_header: + .long MULTIBOOT2_HEADER_MAGIC # magic number (multiboot 2) + .long MULTIBOOT_ARCHITECTURE_I386 # architecture 0 (protected mode i386) + .long multiboot_header_end - multiboot_header # header length + # checksum + .long -(MULTIBOOT2_HEADER_MAGIC + MULTIBOOT_ARCHITECTURE_I386 + (multiboot_header_end - multiboot_header)) + # insert optional multiboot tags here + + # required end tag + .align 8 + .short MULTIBOOT_HEADER_TAG_END # type + .short 0 # flags + .long 8 # size +multiboot_header_end: +multiboot_entry: + # initialize the stack pointer + movl $(stack + STACK_SIZE), %esp + + # reset EFLAGS + pushl $0 + popf + + # push the pointer to the Multiboot information structure + pushl %ebx + # push the magic value + pushl %eax + + # jump to rt_boot_setup_entry + call rt_boot_setup_entry + + # jump to setup_fail if rt_boot_setup_entry return -1 + popl %eax + cmpl $-1, %eax + je setup_fail + + # set kernel stack top + movl $KSTACK_TOP_PHY, %esp + + # jump to kernel_start + movl $primary_cpu_entry, %eax + jmp *%eax + +setup_fail: + # print "Error!" in protected mode + movl $0xcf72cf45, 0xb8000 + movl $0xcf6fcf72, 0xb8004 + movl $0xcf21cf72, 0xb8008 + +multiboot_hlt: + hlt + jmp multiboot_hlt + + .comm stack, STACK_SIZE \ No newline at end of file diff --git a/libcpu/x86/i386/syscall_c.c b/libcpu/x86/i386/syscall_c.c new file mode 100644 index 0000000000000000000000000000000000000000..4cb9ef81677069852478c339c9cf19b100c15ccc --- /dev/null +++ b/libcpu/x86/i386/syscall_c.c @@ -0,0 +1,70 @@ +/* + * Copyright (c) 2006-2021, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2021-02-03 lizhirui first version + * 2021-07-27 JasonHu port to i386 + */ + +#include +#include + +//#define DBG_LEVEL DBG_WARNING +//#define DBG_LEVEL DBG_INFO +#include + +#ifdef RT_USING_USERSPACE + +#include +#include +#include +#include +#include +#include + +#include "stackframe.h" + +typedef rt_size_t (*syscallfunc_t)(rt_size_t,rt_size_t,rt_size_t,rt_size_t,rt_size_t,rt_size_t,rt_size_t); +syscallfunc_t lwp_get_sys_api(uint32_t); + +void rt_hw_syscall_dispath(struct rt_hw_stack_frame *frame) +{ + if(frame->eax == 0) + { + rt_kprintf("syscall id = 0!\n"); + while(1); // TODO: raise signal + } + + if(frame->eax == 0xdeadbeef) + { + rt_kprintf("syscall id = 0xdeadbeef\n"); + while(1); // TODO: raise signal + } + +#ifdef RT_USING_SIGNALS + if(frame->eax == SIGNAL_RETURN_SYSCAL_ID) /* signal return */ + { + extern void lwp_signal_do_return(rt_hw_stack_frame_t *frame); + lwp_signal_do_return(frame); + return; + } +#endif /* RT_USING_SIGNALS */ + + syscallfunc_t syscallfunc = (syscallfunc_t)lwp_get_sys_api(frame->eax); + + if(syscallfunc == RT_NULL) + { + rt_kprintf("unsupported syscall %d!\n", frame->eax); + while(1); // TODO: raise signal + } + /* TODO: support arg6 */ + LOG_I("\033[36msyscall id = %d,arg0 = 0x%p,arg1 = 0x%p,arg2 = 0x%p,arg3 = 0x%p,arg4 = 0x%p,arg5 = 0x%p,arg6 = 0x%p(unsupport)\n\033[37m", + frame->eax, frame->ebx, frame->ecx, frame->edx, frame->esi, frame->edi, frame->ebp, 0); + frame->eax = syscallfunc(frame->ebx, frame->ecx, frame->edx, frame->esi, frame->edi, frame->ebp, 0); + LOG_I("\033[36msyscall deal ok,ret = 0x%p\n\033[37m",frame->eax); +} + +#endif /* RT_USING_USERSPACE */ \ No newline at end of file diff --git a/libcpu/x86/i386/tss.c b/libcpu/x86/i386/tss.c new file mode 100644 index 0000000000000000000000000000000000000000..cdef7966e183e948c15a515777ab5b02411bb336 --- /dev/null +++ b/libcpu/x86/i386/tss.c @@ -0,0 +1,34 @@ +#include "tss.h" +#include "cpuport.h" +#include "segment.h" +#include +#include +#include + +static rt_hw_tss_t tss; + +rt_hw_tss_t *rt_hw_tss_get() +{ + return &tss; +} + +/** + * @brief : set current process kernel stack top + * + * @param top : stack top + */ +void rt_hw_tss_set_kstacktop(rt_ubase_t top) +{ + // tss.esp0的值为thread的内核栈顶 + tss.esp0 = top; +} + +void rt_hw_tss_init() +{ + memset(&tss, 0, sizeof(rt_hw_tss_t)); + tss.esp0 = KERNEL_STACK_TOP; + tss.ss0 = KERNEL_DATA_SEL; + tss.iobase = sizeof(rt_hw_tss_t); + /* load tr */ + ltr(KERNEL_TSS_SEL); +} \ No newline at end of file diff --git a/libcpu/x86/i386/tss.h b/libcpu/x86/i386/tss.h new file mode 100644 index 0000000000000000000000000000000000000000..16f73195e7f77bb37b3077ae9241476cf6fd942d --- /dev/null +++ b/libcpu/x86/i386/tss.h @@ -0,0 +1,46 @@ +#ifndef __X86_TSS_H__ +#define __X86_TSS_H__ + +#include +#include + +#define KERNEL_STACK_TOP_PHY 0x9f000 +#define KERNEL_STACK_TOP (KERNEL_VADDR_START + KERNEL_STACK_TOP_PHY) + +struct rt_hw_tss +{ + rt_uint32_t backlink; + rt_uint32_t esp0; + rt_uint32_t ss0; + rt_uint32_t esp1; + rt_uint32_t ss1; + rt_uint32_t esp2; + rt_uint32_t ss2; + rt_uint32_t cr3; + rt_uint32_t eip; + rt_uint32_t eflags; + rt_uint32_t eax; + rt_uint32_t ecx; + rt_uint32_t edx; + rt_uint32_t ebx; + rt_uint32_t esp; + rt_uint32_t ebp; + rt_uint32_t esi; + rt_uint32_t edi; + rt_uint32_t es; + rt_uint32_t cs; + rt_uint32_t ss; + rt_uint32_t ds; + rt_uint32_t fs; + rt_uint32_t gs; + rt_uint32_t ldtr; + rt_uint32_t trap; + rt_uint32_t iobase; +}; +typedef struct rt_hw_tss rt_hw_tss_t; + +void rt_hw_tss_init(); +rt_hw_tss_t *rt_hw_tss_get(); +void rt_hw_tss_set_kstacktop(rt_ubase_t top); + +#endif /*_X86_CPU_H*/ \ No newline at end of file diff --git a/libcpu/x86/i386/x86_gcc.S b/libcpu/x86/i386/x86_gcc.S new file mode 100644 index 0000000000000000000000000000000000000000..b18e99d9d4dc27f5bca2496869101e3973ec1fd7 --- /dev/null +++ b/libcpu/x86/i386/x86_gcc.S @@ -0,0 +1,63 @@ +/* + * File : x86_gcc.S + * This file is part of RT-Thread RTOS + * COPYRIGHT (C) 2006 - 2021, RT-Thread Development Team + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rt-thread.org/license/LICENSE + * + * Change Logs: + * Date Author Notes + * 2021-07-13 JasonHu First Version. + */ + +#define __ASSEMBLY__ +#include "segment.h" + +.global load_new_gdt +load_new_gdt: + movl 4(%esp), %eax + movw %ax, 6(%esp) + lgdt 6(%esp) + + # flush segment registers + movw $KERNEL_DATA_SEL, %ax + movw %ax, %ds + movw %ax, %es + movw %ax, %ss + xor %eax, %eax + movw %ax, %fs + movw %ax, %gs + ljmp $KERNEL_CODE_SEL, $.newpc +.newpc: + ret + +.global load_new_idt +load_new_idt: + movl 4(%esp), %eax + movw %ax, 6(%esp) + lidt 6(%esp) + ret + +.global write_cr3 +write_cr3: + movl 4(%esp), %eax + movl %eax, %cr3 + ret + +.global read_cr0 +read_cr0: + movl %cr0, %eax + ret + +.global read_cr2 +read_cr2: + movl %cr2, %eax + ret + +.global write_cr0 +write_cr0: + movl 4(%esp), %eax + movl %eax, %cr0 + ret \ No newline at end of file diff --git a/libcpu/x86/i386/x86_mmu.c b/libcpu/x86/i386/x86_mmu.c new file mode 100644 index 0000000000000000000000000000000000000000..fbff1b424d8eff35240976efa05c154652e06fa2 --- /dev/null +++ b/libcpu/x86/i386/x86_mmu.c @@ -0,0 +1,34 @@ +/* + * Copyright (c) 2006-2021, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2021-07-17 JasonHu first version + */ + +#include +#include + +#include "mmu.h" +#include + +void mmu_set_pagetable(rt_ubase_t addr) +{ + /* set new pgdir will flush tlb */ + write_cr3(addr); +} + +void mmu_enable_user_page_access() +{ +} + +void mmu_disable_user_page_access() +{ +} + +void mmu_enable() +{ + write_cr0(read_cr0() | CR0_PG); +} diff --git a/libcpu/x86/i386/x86_mmu.h b/libcpu/x86/i386/x86_mmu.h new file mode 100644 index 0000000000000000000000000000000000000000..90e70bf02c5e767132deb6ad33dd321b977b9ce6 --- /dev/null +++ b/libcpu/x86/i386/x86_mmu.h @@ -0,0 +1,69 @@ +/* + * Copyright (c) 2006-2021, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2021-07-17 JasonHu first version + */ + +#ifndef __X86_MMU_H__ +#define __X86_MMU_H__ + +#include + +#undef PAGE_SIZE + +#define ADDRESS_WIDTH_BITS 32 +#define PHYSICAL_ADDRESS_WIDTH_BITS ADDRESS_WIDTH_BITS +#define ARCH_ADDRESS_WIDTH_BITS ADDRESS_WIDTH_BITS + +#define __SIZE(bit) (1U << (bit)) +#define __MASK(bit) (__SIZE(bit) - 1UL) +#define __UMASK(bit) (~(__MASK(bit))) +#define __MASKVALUE(value,maskvalue) ((value) & (maskvalue)) +#define __UMASKVALUE(value,maskvalue) ((value) & (~(maskvalue))) +#define __CHECKUPBOUND(value,bit_count) (!(((rt_size_t)(value)) & (~__MASK(bit_count)))) +#define __CHECKALIGN(value,start_bit) (!(((rt_size_t)(value)) & (__MASK(start_bit)))) + +#define __PARTBIT(value,start_bit,length) (((value) >> (start_bit)) & __MASK(length)) + +#define __ALIGNUP(value,bit) (((value) + __MASK(bit)) & __UMASK(bit)) +#define __ALIGNDOWN(value,bit) ((value) & __UMASK(bit)) + +#define PAGE_OFFSET_SHIFT 0 +#define PAGE_OFFSET_BIT 12 +#define PAGE_SIZE __SIZE(PAGE_OFFSET_BIT) +#define PAGE_OFFSET_MASK __MASK(PAGE_OFFSET_BIT) +#define PAGE_ADDR_MASK __UMASK(PAGE_OFFSET_BIT) + +#define PTE_SHIFT (PAGE_OFFSET_SHIFT + PAGE_OFFSET_BIT) +#define PTE_BIT 10 +#define PDE_SHIFT (PTE_SHIFT + PTE_BIT) +#define PDE_BIT 10 + +#define mmu_flush_tlb() \ + do \ + { \ + unsigned long tmpreg; \ + __asm__ __volatile__ ( \ + "movl %%cr3, %0 \n\t" \ + "movl %0, %%cr3 \n\t" \ + :"=r"(tmpreg) \ + : \ + :"memory" \ + ); \ + } \ + while(0) + +#define ARCH_PAGE_SIZE PAGE_SIZE +#define ARCH_PAGE_MASK (ARCH_PAGE_SIZE - 1) +#define ARCH_PAGE_SHIFT PAGE_OFFSET_BIT + +void mmu_set_pagetable(rt_ubase_t addr); +void mmu_enable_user_page_access(); +void mmu_disable_user_page_access(); +void mmu_enable(); + +#endif \ No newline at end of file diff --git a/src/kservice.c b/src/kservice.c index 7b35b903c3faa6e289cb9d14a4eddbfec510afed..ed3fa8072c221ff410892d1fa8e7986ea834a955 100644 --- a/src/kservice.c +++ b/src/kservice.c @@ -575,7 +575,7 @@ void rt_show_version(void) #endif rt_kprintf(" / | \\ %d.%d.%d build %s\n", RT_VERSION, RT_SUBVERSION, RT_REVISION, __DATE__); - rt_kprintf(" 2006 - 2020 Copyright by rt-thread team\n"); + rt_kprintf(" 2006 - 2021 Copyright by rt-thread team\n"); } RTM_EXPORT(rt_show_version);