diff options
author | David P. <megver83@parabola.nu> | 2023-09-04 16:16:37 -0300 |
---|---|---|
committer | David P. <megver83@parabola.nu> | 2023-09-04 16:16:51 -0300 |
commit | 8561843c2c4e800c28f0804a789f1a56ed4c9da5 (patch) | |
tree | 5f25e565d20bacac2248e68f43efb7ce7c837587 | |
parent | 6260932db13e00a3390bd721412b7284a0f7f58b (diff) |
remove libre/memtest86+, now upstream builds from source
https://gitlab.archlinux.org/archlinux/packaging/packages/memtest86plus/-/commit/dd85002c34f8cdb3c9a657e4646166a156921d06
Signed-off-by: David P. <megver83@parabola.nu>
-rw-r--r-- | libre/memtest86+/60_memtest86+ | 32 | ||||
-rw-r--r-- | libre/memtest86+/PKGBUILD | 55 | ||||
-rw-r--r-- | libre/memtest86+/doc-serialconsole.patch | 27 | ||||
-rw-r--r-- | libre/memtest86+/gcc-5.patch | 16 | ||||
-rw-r--r-- | libre/memtest86+/memtest86+-5.01-O0.patch | 35 | ||||
-rw-r--r-- | libre/memtest86+/memtest86+-5.01-array-size.patch | 22 | ||||
-rw-r--r-- | libre/memtest86+/memtest86+-5.01-test-random-cflags.patch | 21 | ||||
-rw-r--r-- | libre/memtest86+/multiboot.patch | 502 |
8 files changed, 0 insertions, 710 deletions
diff --git a/libre/memtest86+/60_memtest86+ b/libre/memtest86+/60_memtest86+ deleted file mode 100644 index 086f0cc84..000000000 --- a/libre/memtest86+/60_memtest86+ +++ /dev/null @@ -1,32 +0,0 @@ -#!/usr/bin/env bash -######################################################## -# This script generates a memtest86+ entry on grub.cfg # -# if memtest is installed on the system. # -######################################################## - -prefix="/usr" -exec_prefix="${prefix}" - -datarootdir="/usr/share" -datadir="${datarootdir}" - -. "${datadir}/grub/grub-mkconfig_lib" - -MEMTEST86_IMAGE="/boot/memtest86+/memtest.bin" -CLASS="--class memtest86 --class gnu --class tool" - -if [ -e "${MEMTEST86_IMAGE}" ] && is_path_readable_by_grub "${MEMTEST86_IMAGE}" ; then - ## image exists, create menu entry - echo "Found memtest86+ image: ${MEMTEST86_IMAGE}" >&2 - _GRUB_MEMTEST_HINTS_STRING="$(${grub_probe} --target=hints_string ${MEMTEST86_IMAGE})" - _GRUB_MEMTEST_FS_UUID="$(${grub_probe} --target=fs_uuid ${MEMTEST86_IMAGE})" - _GRUB_MEMTEST_REL_PATH="$(make_system_path_relative_to_its_root ${MEMTEST86_IMAGE})" - cat << EOF -if [ "\${grub_platform}" == "pc" ]; then - menuentry "Memory Tester (memtest86+)" ${CLASS} { - search --fs-uuid --no-floppy --set=root ${_GRUB_MEMTEST_HINTS_STRING} ${_GRUB_MEMTEST_FS_UUID} - linux16 ${_GRUB_MEMTEST_REL_PATH} ${GRUB_CMDLINE_MEMTEST86} - } -fi -EOF -fi diff --git a/libre/memtest86+/PKGBUILD b/libre/memtest86+/PKGBUILD deleted file mode 100644 index 5f98d559e..000000000 --- a/libre/memtest86+/PKGBUILD +++ /dev/null @@ -1,55 +0,0 @@ -# Maintainer (arch): Eric Bélanger <eric@archlinux.org> -# Contributor: André Silva <emulatorman@hyperbola.info> -# Contributor: Márcio Silva <coadde@hyperbola.info> -# Maintainer: Omar Vega Ramos <ovruni@gnu.org.pe> - -pkgname=memtest86+ -pkgver=5.01 -pkgrel=3 -pkgrel+=.par1 -pkgdesc="An advanced memory diagnostic tool" -arch=('x86_64' 'i686') -url="http://www.memtest.org" -license=('GPL2') -makedepends_x86_64=('gcc-multilib' 'lib32-glibc') -source=("http://www.memtest.org/download/${pkgver}/${pkgname}-${pkgver}.tar.gz" - '60_memtest86+' - 'doc-serialconsole.patch' - 'multiboot.patch' - "${pkgname}-5.01-O0.patch" - "${pkgname}-5.01-array-size.patch" - 'gcc-5.patch' - 'memtest86+-5.01-test-random-cflags.patch') -sha256sums=('142127b7953fbd829b1057fb64a78d3340c2b771484230a7347e94530a0d9039' - 'e500a8ccd812a64d90f32b7af9ed28a761f7c7f475104cc26e006696a1247a14' - '58a25113af7346dcde4d0dc46568b620f88a21b140e088aa87ecd695a45f02e2' - 'beee4632ea70e3075a62699aedb654f4cb2f794a1adbe25c20ab4075c008065b' - '82f2203d5a51a10ed106df304edfd9a8b89259b90e53b4796720bb80ad1ab2f6' - '6b0607921c15624e3cfe299e07255bfee5e2683e97a0e443d2230ca3ddfdb47b' - '4c07128e0fc14e5850f8744561115d43e946c46742d74d3a0c726164b5f1ae8f' - '53f50ee7b803c21159731fb5920e524b1dd7884d60eeeb51851020754400baa4') - -prepare() { - cd ${pkgname}-${pkgver} - patch -p1 -i ${srcdir}/doc-serialconsole.patch - patch -p1 -i ${srcdir}/multiboot.patch - patch -p1 -i ${srcdir}/${pkgname}-5.01-O0.patch - patch -p1 -i ${srcdir}/${pkgname}-5.01-array-size.patch - patch -p1 -i ${srcdir}/gcc-5.patch - patch -p1 -i ${srcdir}/memtest86+-5.01-test-random-cflags.patch - sed -i 's|CC[=]gcc|CC=gcc -I/usr/include| - s|[-]fno[-]stack[-]protector|-fno-stack-protector -fno-aggressive-loop-optimizations| - \|scp memtest[.]bin|d - ' Makefile -} - -build() { - cd ${pkgname}-${pkgver} - make -} - -package() { - cd ${pkgname}-${pkgver} - install -D -m644 ${pkgname%86+}.bin ${pkgdir}/boot/memtest86+/${pkgname%86+}.bin - install -D -m755 ${srcdir}/60_memtest86+ ${pkgdir}/etc/grub.d/60_memtest86+ -} diff --git a/libre/memtest86+/doc-serialconsole.patch b/libre/memtest86+/doc-serialconsole.patch deleted file mode 100644 index c124e7a38..000000000 --- a/libre/memtest86+/doc-serialconsole.patch +++ /dev/null @@ -1,27 +0,0 @@ -commit 03867c811369be70cd81a42d150e0a250c9d1248 -Author: Yann Dirson <dirson@debian.org> -Date: Tue Sep 29 23:40:15 2009 +0200 - - git-debimport memtest86+_4.00-1.diff.gz - -Index: memtest86+/README -=================================================================== ---- memtest86+.orig/README -+++ memtest86+/README -@@ -89,12 +89,10 @@ To create a boot-disk with this pre-buil - ================= - Memtest86 can be used on PC's equipped with a serial port for the console. - By default serial port console support is not enabled since it slows --down testing. To enable change the SERIAL_CONSOLE_DEFAULT define in --config.h from a zero to a one. The serial console baud rate may also --be set in config.h with the SERIAL_BAUD_RATE define. The other serial --port settings are no parity, 8 data bits, 1 stop bit. All of the features --used by memtest86 are accessible via the serial console. However, the --screen sometimes is garbled when the online commands are used. -+down testing. -+ -+To activate it, add a console parameter on the memtest86+ -+command-line, like: "/boot/memtest86+.bin console=ttyS0,115200n8". - - - 5) Online Commands diff --git a/libre/memtest86+/gcc-5.patch b/libre/memtest86+/gcc-5.patch deleted file mode 100644 index a88c243d5..000000000 --- a/libre/memtest86+/gcc-5.patch +++ /dev/null @@ -1,16 +0,0 @@ -Description: Build with -fgnu89-inline for GCC 5. -Author: Matthias Klose <doko@ubuntu.com> -Bug-Debian: https://bugs.debian.org/778001 -Origin: http://launchpadlibrarian.net/199536689/memtest86%2B_4.20-1.1ubuntu8_4.20-1.1ubuntu9.diff.gz - ---- memtest86+-5.01.orig/Makefile -+++ memtest86+-5.01/Makefile -@@ -13,7 +13,7 @@ AS=as -32 - CC=gcc - - CFLAGS= -Wall -march=i486 -m32 -O0 -fomit-frame-pointer -fno-builtin \ -- -ffreestanding -fPIC $(SMP_FL) -fno-stack-protector -+ -ffreestanding -fPIC $(SMP_FL) -fno-stack-protector -fgnu89-inline - - # This reverts a change introduced with recent binutils (post - # http://sourceware.org/bugzilla/show_bug.cgi?id=10569). Needed to diff --git a/libre/memtest86+/memtest86+-5.01-O0.patch b/libre/memtest86+/memtest86+-5.01-O0.patch deleted file mode 100644 index 62e4bbb66..000000000 --- a/libre/memtest86+/memtest86+-5.01-O0.patch +++ /dev/null @@ -1,35 +0,0 @@ -Index: memtest86+-5.01/Makefile -=================================================================== ---- memtest86+-5.01.orig/Makefile -+++ memtest86+-5.01/Makefile -@@ -12,7 +12,7 @@ FDISK=/dev/fd0 - AS=as -32 - CC=gcc - --CFLAGS= -Wall -march=i486 -m32 -O1 -fomit-frame-pointer -fno-builtin \ -+CFLAGS= -Wall -march=i486 -m32 -O0 -fomit-frame-pointer -fno-builtin \ - -ffreestanding -fPIC $(SMP_FL) -fno-stack-protector - - # This reverts a change introduced with recent binutils (post -Index: memtest86+-5.01/io.h -=================================================================== ---- memtest86+-5.01.orig/io.h -+++ memtest86+-5.01/io.h -@@ -31,7 +31,7 @@ - */ - - #define __OUT1(s,x) \ --extern inline void __out##s(unsigned x value, unsigned short port) { -+static inline void __out##s(unsigned x value, unsigned short port) { - - #define __OUT2(s,s1,s2) \ - __asm__ __volatile__ ("out" #s " %" s1 "0,%" s2 "1" -@@ -43,7 +43,7 @@ __OUT1(s##_p,x) __OUT2(s,s1,"w") : : "a" - __OUT1(s##c_p,x) __OUT2(s,s1,"") : : "a" (value), "id" (port)); SLOW_DOWN_IO; } - - #define __IN1(s) \ --extern inline RETURN_TYPE __in##s(unsigned short port) { RETURN_TYPE _v; -+static inline RETURN_TYPE __in##s(unsigned short port) { RETURN_TYPE _v; - - #define __IN2(s,s1,s2) \ - __asm__ __volatile__ ("in" #s " %" s2 "1,%" s1 "0" diff --git a/libre/memtest86+/memtest86+-5.01-array-size.patch b/libre/memtest86+/memtest86+-5.01-array-size.patch deleted file mode 100644 index f08e686c9..000000000 --- a/libre/memtest86+/memtest86+-5.01-array-size.patch +++ /dev/null @@ -1,22 +0,0 @@ -Index: memtest86+-5.01/controller.c -=================================================================== ---- memtest86+-5.01.orig/controller.c -+++ memtest86+-5.01/controller.c -@@ -292,7 +292,7 @@ static void setup_nhm(void) - - /* First, locate the PCI bus where the MCH is located */ - -- for(i = 0; i < sizeof(possible_nhm_bus); i++) { -+ for(i = 0; i < sizeof(possible_nhm_bus) / sizeof(possible_nhm_bus[0]); i++) { - pci_conf_read( possible_nhm_bus[i], 3, 4, 0x00, 2, &vid); - pci_conf_read( possible_nhm_bus[i], 3, 4, 0x02, 2, &did); - vid &= 0xFFFF; -@@ -327,7 +327,7 @@ static void setup_nhm32(void) - ctrl.mode = ECC_NONE; - - /* First, locate the PCI bus where the MCH is located */ -- for(i = 0; i < sizeof(possible_nhm_bus); i++) { -+ for(i = 0; i < sizeof(possible_nhm_bus) / sizeof(possible_nhm_bus[0]); i++) { - pci_conf_read( possible_nhm_bus[i], 3, 4, 0x00, 2, &vid); - pci_conf_read( possible_nhm_bus[i], 3, 4, 0x02, 2, &did); - vid &= 0xFFFF; diff --git a/libre/memtest86+/memtest86+-5.01-test-random-cflags.patch b/libre/memtest86+/memtest86+-5.01-test-random-cflags.patch deleted file mode 100644 index dcdccb8c6..000000000 --- a/libre/memtest86+/memtest86+-5.01-test-random-cflags.patch +++ /dev/null @@ -1,21 +0,0 @@ -make sure we re-use the existing CFLAGS settings so that we get all the right -flags (like -fno-stack-protector). just append the few changes we want (the -optimization levels). - -https://bugs.gentoo.org/590974 - ---- a/Makefile -+++ b/Makefile -@@ -52,10 +52,10 @@ reloc.o: reloc.c - $(CC) -c $(CFLAGS) -fno-strict-aliasing reloc.c - - test.o: test.c -- $(CC) -c -Wall -march=i486 -m32 -O0 -fomit-frame-pointer -fno-builtin -ffreestanding test.c -+test.o: CFLAGS += -O0 -fno-PIC - - random.o: random.c -- $(CC) -c -Wall -march=i486 -m32 -O3 -fomit-frame-pointer -fno-builtin -ffreestanding random.c -+random.o: CFLAGS += -O3 -fno-PIC - - # rule for build number generation - build_number: diff --git a/libre/memtest86+/multiboot.patch b/libre/memtest86+/multiboot.patch deleted file mode 100644 index a3b9e4644..000000000 --- a/libre/memtest86+/multiboot.patch +++ /dev/null @@ -1,502 +0,0 @@ -commit 90bdb3dff10753cc10f3580473d379972176e3cb -Author: Robert Millan <rmh.debian@aybabtu.com> -Date: Sun Jan 17 17:06:16 2010 +0100 - - git-debimport memtest86+_4.00-2.2.diff.gz - -Index: memtest86+/Makefile -=================================================================== ---- memtest86+.orig/Makefile -+++ memtest86+/Makefile -@@ -14,11 +14,15 @@ CC=gcc - - CFLAGS= -Wall -march=i486 -m32 -O1 -fomit-frame-pointer -fno-builtin \ - -ffreestanding -fPIC $(SMP_FL) -fno-stack-protector -- -+ -+# This reverts a change introduced with recent binutils (post -+# http://sourceware.org/bugzilla/show_bug.cgi?id=10569). Needed to -+# ensure Multiboot header is within the limit offset. -+LD += -z max-page-size=0x1000 -+ - OBJS= head.o reloc.o main.o test.o init.o lib.o patn.o screen_buffer.o \ - config.o cpuid.o linuxbios.o pci.o memsize.o spd.o error.o dmi.o controller.o \ -- smp.o vmem.o random.o -- -+ smp.o vmem.o random.o multiboot.o - - all: clean memtest.bin memtest - scp memtest.bin root@192.168.0.12:/srv/tftp/mt86plus -Index: memtest86+/head.S -=================================================================== ---- memtest86+.orig/head.S -+++ memtest86+/head.S -@@ -13,9 +13,11 @@ - - .text - #define __ASSEMBLY__ -+#define ASM_FILE - #include "defs.h" - #include "config.h" - #include "test.h" -+#include "multiboot.h" - - .code32 - .globl startup_32 -@@ -23,6 +25,13 @@ startup_32: - cld - cli - -+ /* Store MBI pointer */ -+ xorl %ecx, %ecx -+ cmpl $MULTIBOOT_BOOTLOADER_MAGIC, %eax -+ jne 0f -+ movl %ebx, %ecx -+0: -+ - /* Ensure I have a boot_stack pointer */ - testl %esp, %esp - jnz 0f -@@ -35,7 +44,21 @@ startup_32: - 0: popl %ebx - addl $_GLOBAL_OFFSET_TABLE_+[.-0b], %ebx - -- /* Pick the appropriate boot_stack address */ -+ /* Move MBI pointer to a safe place */ -+ testl %ecx, %ecx -+ je 0f -+ movl %ecx, mbiptr@GOTOFF(%ebx) -+0: -+ -+ jmp 0f -+ /* Multiboot header */ -+.align 4 -+ .long MULTIBOOT_HEADER_MAGIC -+ .long 0 -+ .long -MULTIBOOT_HEADER_MAGIC -+0: -+ -+ /* Pick the appropriate stack address */ - leal boot_stack_top@GOTOFF(%ebx), %esp - - /* Reload all of the segment registers */ -@@ -780,6 +803,9 @@ prot: - movl $1, %eax - ret - -+.globl mbiptr -+mbiptr: -+ .long 0 - realptr: - .word real - RSTART - .word 0x0000 -Index: memtest86+/init.c -=================================================================== ---- memtest86+.orig/init.c -+++ memtest86+/init.c -@@ -19,8 +19,7 @@ - #include "smp.h" - #include "io.h" - #include "spd.h" --#include "pci.h" --#include "controller.h" -+#include "multiboot.h" - - extern struct tseq tseq[]; - extern short memsz_mode; -Index: memtest86+/main.c -=================================================================== ---- memtest86+.orig/main.c -+++ memtest86+/main.c -@@ -16,6 +16,7 @@ - #include "cpuid.h" - #include "smp.h" - #include "config.h" -+#include "multiboot.h" - #undef TEST_TIMES - #define DEFTESTS 9 - #define FIRST_DIVISER 3 -@@ -41,6 +42,8 @@ extern struct barrier_s *barr; - extern int num_cpus; - extern int act_cpus; - -+extern struct multiboot_info *mbiptr; -+ - static int find_ticks_for_test(int test); - void find_ticks_for_pass(void); - int find_chunks(int test); -@@ -286,11 +289,15 @@ static void parse_command_line(void) - cpu_mask[i] = 1; - } - -- if (*OLD_CL_MAGIC_ADDR != OLD_CL_MAGIC) -- return; -+ if (mbiptr && (mbiptr->flags & MULTIBOOT_INFO_CMDLINE)) { -+ cp = (void *) mbiptr->cmdline; -+ } else { -+ if (*OLD_CL_MAGIC_ADDR != OLD_CL_MAGIC) -+ return; - -- unsigned short offset = *OLD_CL_OFFSET_ADDR; -- cp = MK_PTR(INITSEG, offset); -+ unsigned short offset = *OLD_CL_OFFSET_ADDR; -+ cp = MK_PTR(INITSEG, offset); -+ } - - /* skip leading spaces */ - while (*cp == ' ') -Index: memtest86+/memsize.c -=================================================================== ---- memtest86+.orig/memsize.c -+++ memtest86+/memsize.c -@@ -36,7 +36,9 @@ void mem_size(void) - - /* Get the memory size from the BIOS */ - /* Determine the memory map */ -- if (query_linuxbios()) { -+ if (query_multiboot()) { -+ flag = 2; -+ } else if (query_linuxbios()) { - flag = 1; - } else if (query_pcbios()) { - flag = 2; -Index: memtest86+/test.h -=================================================================== ---- memtest86+.orig/test.h -+++ memtest86+/test.h -@@ -113,6 +113,7 @@ int strstr(char *str1, char *str2); - int strlen(char *string); - int query_linuxbios(void); - int query_pcbios(void); -+int query_multiboot(void); - int insertaddress(ulong); - void printpatn(void); - void printpatn(void); -@@ -307,6 +308,7 @@ struct vars { - #define FIRMWARE_UNKNOWN 0 - #define FIRMWARE_PCBIOS 1 - #define FIRMWARE_LINUXBIOS 2 -+#define FIRMWARE_MULTIBOOT 3 - - extern struct vars * const v; - extern unsigned char _start[], _end[], startup_32[]; -diff --git a/multiboot.c b/multiboot.c -new file mode 100644 -index 0000000..a81ebc2 ---- /dev/null -+++ b/multiboot.c -@@ -0,0 +1,49 @@ -+/* multiboot.c -+ * -+ * Copyright (C) 2008,2009 Robert Millan -+ * -+ * Loosely based on linuxbios.c, which is: -+ * -+ * Released under version 2 of the Gnu Public License. -+ * By Eric Biederman -+ */ -+ -+#include "multiboot.h" -+#include "test.h" -+ -+extern struct multiboot_info *mbiptr; -+ -+int query_multiboot(void) -+{ -+ struct multiboot_mmap_entry *mem; -+ int i; -+ -+ if (!mbiptr) { -+ return 0; -+ } -+ if (!mbiptr->mmap_addr) { -+ return 1; -+ } -+ if ((mbiptr->flags & MULTIBOOT_INFO_MEM_MAP) == 0) { -+ return 1; -+ } -+ -+ mem = (struct multiboot_mmap_entry *) mbiptr->mmap_addr; -+ mem_info.e820_nr = 0; -+ -+ for (i = 0; i < E820MAX; i++) { -+ if ((multiboot_uint32_t) mem >= (mbiptr->mmap_addr + mbiptr->mmap_length)) { -+ break; -+ } -+ -+ mem_info.e820[mem_info.e820_nr].addr = mem->addr; -+ mem_info.e820[mem_info.e820_nr].size = mem->len; -+ /* Multiboot spec defines available / reserved types to match with E820. */ -+ mem_info.e820[mem_info.e820_nr].type = mem->type; -+ mem_info.e820_nr++; -+ -+ mem = (struct multiboot_mmap_entry *) ((multiboot_uint32_t) mem + mem->size + sizeof (mem->size)); -+ } -+ -+ return 1; -+} -diff --git a/multiboot.h b/multiboot.h -new file mode 100644 -index 0000000..686a6b4 ---- /dev/null -+++ b/multiboot.h -@@ -0,0 +1,259 @@ -+/* multiboot.h - Multiboot 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 8192 -+ -+/* The magic field should contain this. */ -+#define MULTIBOOT_HEADER_MAGIC 0x1BADB002 -+ -+/* This should be in %eax. */ -+#define MULTIBOOT_BOOTLOADER_MAGIC 0x2BADB002 -+ -+/* Alignment of multiboot modules. */ -+#define MULTIBOOT_MOD_ALIGN 0x00001000 -+ -+/* Alignment of the multiboot info structure. */ -+#define MULTIBOOT_INFO_ALIGN 0x00000004 -+ -+/* Flags set in the 'flags' member of the multiboot header. */ -+ -+/* Align all boot modules on i386 page (4KB) boundaries. */ -+#define MULTIBOOT_PAGE_ALIGN 0x00000001 -+ -+/* Must pass memory information to OS. */ -+#define MULTIBOOT_MEMORY_INFO 0x00000002 -+ -+/* Must pass video information to OS. */ -+#define MULTIBOOT_VIDEO_MODE 0x00000004 -+ -+/* This flag indicates the use of the address fields in the header. */ -+#define MULTIBOOT_AOUT_KLUDGE 0x00010000 -+ -+/* Flags to be set in the 'flags' member of the multiboot info structure. */ -+ -+/* is there basic lower/upper memory information? */ -+#define MULTIBOOT_INFO_MEMORY 0x00000001 -+/* is there a boot device set? */ -+#define MULTIBOOT_INFO_BOOTDEV 0x00000002 -+/* is the command-line defined? */ -+#define MULTIBOOT_INFO_CMDLINE 0x00000004 -+/* are there modules to do something with? */ -+#define MULTIBOOT_INFO_MODS 0x00000008 -+ -+/* These next two are mutually exclusive */ -+ -+/* is there a symbol table loaded? */ -+#define MULTIBOOT_INFO_AOUT_SYMS 0x00000010 -+/* is there an ELF section header table? */ -+#define MULTIBOOT_INFO_ELF_SHDR 0X00000020 -+ -+/* is there a full memory map? */ -+#define MULTIBOOT_INFO_MEM_MAP 0x00000040 -+ -+/* Is there drive info? */ -+#define MULTIBOOT_INFO_DRIVE_INFO 0x00000080 -+ -+/* Is there a config table? */ -+#define MULTIBOOT_INFO_CONFIG_TABLE 0x00000100 -+ -+/* Is there a boot loader name? */ -+#define MULTIBOOT_INFO_BOOT_LOADER_NAME 0x00000200 -+ -+/* Is there a APM table? */ -+#define MULTIBOOT_INFO_APM_TABLE 0x00000400 -+ -+/* Is there video information? */ -+#define MULTIBOOT_INFO_VBE_INFO 0x00000800 -+#define MULTIBOOT_INFO_FRAMEBUFFER_INFO 0x00001000 -+ -+#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; -+ -+ /* Feature flags. */ -+ multiboot_uint32_t flags; -+ -+ /* The above fields plus this one must equal 0 mod 2^32. */ -+ multiboot_uint32_t checksum; -+ -+ /* These are only valid if MULTIBOOT_AOUT_KLUDGE is set. */ -+ multiboot_uint32_t header_addr; -+ multiboot_uint32_t load_addr; -+ multiboot_uint32_t load_end_addr; -+ multiboot_uint32_t bss_end_addr; -+ multiboot_uint32_t entry_addr; -+ -+ /* These are only valid if MULTIBOOT_VIDEO_MODE is set. */ -+ multiboot_uint32_t mode_type; -+ multiboot_uint32_t width; -+ multiboot_uint32_t height; -+ multiboot_uint32_t depth; -+}; -+ -+/* The symbol table for a.out. */ -+struct multiboot_aout_symbol_table -+{ -+ multiboot_uint32_t tabsize; -+ multiboot_uint32_t strsize; -+ multiboot_uint32_t addr; -+ multiboot_uint32_t reserved; -+}; -+typedef struct multiboot_aout_symbol_table multiboot_aout_symbol_table_t; -+ -+/* The section header table for ELF. */ -+struct multiboot_elf_section_header_table -+{ -+ multiboot_uint32_t num; -+ multiboot_uint32_t size; -+ multiboot_uint32_t addr; -+ multiboot_uint32_t shndx; -+}; -+typedef struct multiboot_elf_section_header_table multiboot_elf_section_header_table_t; -+ -+struct multiboot_color -+{ -+ multiboot_uint8_t red; -+ multiboot_uint8_t green; -+ multiboot_uint8_t blue; -+}; -+ -+struct multiboot_info -+{ -+ /* Multiboot info version number */ -+ multiboot_uint32_t flags; -+ -+ /* Available memory from BIOS */ -+ multiboot_uint32_t mem_lower; -+ multiboot_uint32_t mem_upper; -+ -+ /* "root" partition */ -+ multiboot_uint32_t boot_device; -+ -+ /* Kernel command line */ -+ multiboot_uint32_t cmdline; -+ -+ /* Boot-Module list */ -+ multiboot_uint32_t mods_count; -+ multiboot_uint32_t mods_addr; -+ -+ union -+ { -+ multiboot_aout_symbol_table_t aout_sym; -+ multiboot_elf_section_header_table_t elf_sec; -+ } u; -+ -+ /* Memory Mapping buffer */ -+ multiboot_uint32_t mmap_length; -+ multiboot_uint32_t mmap_addr; -+ -+ /* Drive Info buffer */ -+ multiboot_uint32_t drives_length; -+ multiboot_uint32_t drives_addr; -+ -+ /* ROM configuration table */ -+ multiboot_uint32_t config_table; -+ -+ /* Boot Loader Name */ -+ multiboot_uint32_t boot_loader_name; -+ -+ /* APM table */ -+ multiboot_uint32_t apm_table; -+ -+ /* Video */ -+ multiboot_uint32_t vbe_control_info; -+ multiboot_uint32_t vbe_mode_info; -+ multiboot_uint16_t vbe_mode; -+ multiboot_uint16_t vbe_interface_seg; -+ multiboot_uint16_t vbe_interface_off; -+ multiboot_uint16_t vbe_interface_len; -+ -+ 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; -+ union -+ { -+ /* Indexed color. */ -+ struct -+ { -+ struct multiboot_color *framebuffer_palette_addr; -+ multiboot_uint16_t framebuffer_palette_num_colors; -+ }; -+ -+ /* Direct RGB color. */ -+ 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; -+ }; -+ }; -+}; -+typedef struct multiboot_info multiboot_info_t; -+ -+struct multiboot_mmap_entry -+{ -+ multiboot_uint32_t size; -+ multiboot_uint64_t addr; -+ multiboot_uint64_t len; -+#define MULTIBOOT_MEMORY_AVAILABLE 1 -+#define MULTIBOOT_MEMORY_RESERVED 2 -+ multiboot_uint32_t type; -+} __attribute__((packed)); -+typedef struct multiboot_mmap_entry multiboot_memory_map_t; -+ -+struct multiboot_mod_list -+{ -+ /* the memory used goes from bytes 'mod_start' to 'mod_end-1' inclusive */ -+ multiboot_uint32_t mod_start; -+ multiboot_uint32_t mod_end; -+ -+ /* Module command line */ -+ multiboot_uint32_t cmdline; -+ -+ /* padding to take it to 16 bytes (must be zero) */ -+ multiboot_uint32_t pad; -+}; -+typedef struct multiboot_mod_list multiboot_module_t; -+ -+#endif /* ! ASM_FILE */ -+ -+#endif /* ! MULTIBOOT_HEADER */ |