Index: branches/xZenu/src/modules/Makefile =================================================================== --- branches/xZenu/src/modules/Makefile (revision 1274) +++ branches/xZenu/src/modules/Makefile (revision 1275) @@ -52,7 +52,7 @@ $(SYMROOT)/boot_modules.c: $(SYMROOT) $(OBJROOT) ${SYMROOT}/modules/ ${OBJROOT} $(addprefix $(OBJROOT)/, ${MODULE_OBJS}) ifeq ($(BUILT_IN),yes) @echo "// Autogenerated - do not modify" > $@ - @echo "#include \"../../i386/modules/ModuleSystem/include/modules.h\"" >> $@ + @echo "#include \"../../src/modules/ModuleSystem/include/modules.h\"" >> $@ @echo "#include \"boot_modules.h\"" >> $@ @echo "void start_built_in_modules() {" >> $@ endif Index: branches/xZenu/src/arch/i386/boot2/multiboot.h =================================================================== --- branches/xZenu/src/arch/i386/boot2/multiboot.h (revision 1274) +++ branches/xZenu/src/arch/i386/boot2/multiboot.h (revision 1275) @@ -1,203 +0,0 @@ -/* $NetBSD: multiboot.h,v 1.4 2006/10/25 13:56:16 jmmv Exp $ */ - -/*- - * Copyright (c) 2005, 2006 The NetBSD Foundation, Inc. - * All rights reserved. - * - * This code is derived from software contributed to The NetBSD Foundation - * by Julio M. Merino Vidal. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS - * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED - * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -/* Modified by David Elliott on 2007/06/27 - - Removed checks for KERNEL define - - Replaced _LOCORE def check with __ASSEMBLER__ def check - - Removed prototypes for C functions we don't have - - Replaced all paddr_t and vaddr_t types with uint32_t and a comment -*/ - -/* --------------------------------------------------------------------- */ - -/* - * Multiboot header structure. - */ -#define MULTIBOOT_HEADER_MAGIC 0x1BADB002 -#define MULTIBOOT_HEADER_MODS_ALIGNED 0x00000001 -#define MULTIBOOT_HEADER_WANT_MEMORY 0x00000002 -#define MULTIBOOT_HEADER_HAS_VBE 0x00000004 -#define MULTIBOOT_HEADER_HAS_ADDR 0x00010000 - -#if !defined(__ASSEMBLER__) -struct multiboot_header { - uint32_t mh_magic; - uint32_t mh_flags; - uint32_t mh_checksum; - - /* Valid if mh_flags sets MULTIBOOT_HEADER_HAS_ADDR. */ - uint32_t mh_header_addr; /* paddr_t */ - uint32_t mh_load_addr; /* paddr_t */ - uint32_t mh_load_end_addr; /* paddr_t */ - uint32_t mh_bss_end_addr; /* paddr_t */ - uint32_t mh_entry_addr; /* paddr_t */ - - /* Valid if mh_flags sets MULTIBOOT_HEADER_HAS_VBE. */ - uint32_t mh_mode_type; - uint32_t mh_width; - uint32_t mh_height; - uint32_t mh_depth; -}; -#endif /* !defined(__ASSEMBLER__) */ - -/* - * Symbols defined in locore.S. - */ -#if !defined(__ASSEMBLER__) -extern struct multiboot_header *Multiboot_Header; -#endif /* !defined(__ASSEMBLER__) */ - -/* --------------------------------------------------------------------- */ - -/* - * Multiboot information structure. - */ -#define MULTIBOOT_INFO_MAGIC 0x2BADB002 -#define MULTIBOOT_INFO_HAS_MEMORY 0x00000001 -#define MULTIBOOT_INFO_HAS_BOOT_DEVICE 0x00000002 -#define MULTIBOOT_INFO_HAS_CMDLINE 0x00000004 -#define MULTIBOOT_INFO_HAS_MODS 0x00000008 -#define MULTIBOOT_INFO_HAS_AOUT_SYMS 0x00000010 -#define MULTIBOOT_INFO_HAS_ELF_SYMS 0x00000020 -#define MULTIBOOT_INFO_HAS_MMAP 0x00000040 -#define MULTIBOOT_INFO_HAS_DRIVES 0x00000080 -#define MULTIBOOT_INFO_HAS_CONFIG_TABLE 0x00000100 -#define MULTIBOOT_INFO_HAS_LOADER_NAME 0x00000200 -#define MULTIBOOT_INFO_HAS_APM_TABLE 0x00000400 -#define MULTIBOOT_INFO_HAS_VBE 0x00000800 - -#if !defined(__ASSEMBLER__) -struct multiboot_info { - uint32_t mi_flags; - - /* Valid if mi_flags sets MULTIBOOT_INFO_HAS_MEMORY. */ - uint32_t mi_mem_lower; - uint32_t mi_mem_upper; - - /* Valid if mi_flags sets MULTIBOOT_INFO_HAS_BOOT_DEVICE. */ - uint8_t mi_boot_device_part3; - uint8_t mi_boot_device_part2; - uint8_t mi_boot_device_part1; - uint8_t mi_boot_device_drive; - - /* Valid if mi_flags sets MULTIBOOT_INFO_HAS_CMDLINE. */ - char * mi_cmdline; - - /* Valid if mi_flags sets MULTIBOOT_INFO_HAS_MODS. */ - uint32_t mi_mods_count; - uint32_t mi_mods_addr; /* vaddr_t */ - - /* Valid if mi_flags sets MULTIBOOT_INFO_HAS_{AOUT,ELF}_SYMS. */ - uint32_t mi_elfshdr_num; - uint32_t mi_elfshdr_size; - uint32_t mi_elfshdr_addr; /* vaddr_t */ - uint32_t mi_elfshdr_shndx; - - /* Valid if mi_flags sets MULTIBOOT_INFO_HAS_MMAP. */ - uint32_t mi_mmap_length; - uint32_t mi_mmap_addr; /* vaddr_t */ - - /* Valid if mi_flags sets MULTIBOOT_INFO_HAS_DRIVES. */ - uint32_t mi_drives_length; - uint32_t mi_drives_addr; /* vaddr_t */ - - /* Valid if mi_flags sets MULTIBOOT_INFO_HAS_CONFIG_TABLE. */ - void * unused_mi_config_table; - - /* Valid if mi_flags sets MULTIBOOT_INFO_HAS_LOADER_NAME. */ - char * mi_loader_name; - - /* Valid if mi_flags sets MULTIBOOT_INFO_HAS_APM. */ - void * unused_mi_apm_table; - - /* Valid if mi_flags sets MULTIBOOT_INFO_HAS_VBE. */ - void * unused_mi_vbe_control_info; - void * unused_mi_vbe_mode_info; - uint32_t unused_mi_vbe_interface_seg; /* paddr_t */ - uint32_t unused_mi_vbe_interface_off; /* paddr_t */ - uint32_t unused_mi_vbe_interface_len; -}; -typedef struct multiboot_info multiboot_info; - -/* --------------------------------------------------------------------- */ - -struct multiboot_module { - uint32_t mm_mod_start; - uint32_t mm_mod_end; - char * mm_string; - uint32_t mm_reserved; -}; -typedef struct multiboot_module multiboot_module; - -/* - * Drive information. This describes an entry in the drives table as - * pointed to by mi_drives_addr. - */ -struct multiboot_drive { - uint32_t md_length; - uint8_t md_number; - uint8_t md_mode; - uint16_t md_cylinders; - uint8_t md_heads; - uint8_t md_sectors; - - /* The variable-sized 'ports' field comes here, so this structure - * can be longer. */ -}; - -/* --------------------------------------------------------------------- */ - -/* - * Memory mapping. This describes an entry in the memory mappings table - * as pointed to by mi_mmap_addr. - * - * Be aware that mm_size specifies the size of all other fields *except* - * for mm_size. In order to jump between two different entries, you - * have to count mm_size + 4 bytes. - */ -struct multiboot_mmap { - uint32_t mm_size; - uint64_t mm_base_addr; - uint64_t mm_length; - uint32_t mm_type; -}; - -#endif /* !defined(__ASSEMBLER__) */ - -/* --------------------------------------------------------------------- */ - Index: branches/xZenu/src/arch/i386/boot2/Makefile =================================================================== --- branches/xZenu/src/arch/i386/boot2/Makefile (revision 1274) +++ branches/xZenu/src/arch/i386/boot2/Makefile (revision 1275) @@ -32,7 +32,10 @@ OTHER_FILES = -OBJECTS = boot2 boot +# enable boot2 to find boot_modules.c +VPATH = $(ROOT)/sym/modules/ + +OBJECTS = boot2 boot boot_modules #boot_modules DIRS_NEEDED =