#
f6166140 |
|
29-Nov-2022 |
Augustin Cavalier <waddlesplash@gmail.com> |
build: Define _BOOT_MODE once and for all in ArchitectureRules+BootRules. Previously it was spread all around the tree, and was not defined consistently for all boot objects (there were a number of boot modules which did not define it, but did include headers which checked for it.) Now, as it is handled in SetupBoot which is invoked for all boot objects, it will be applied consistently throughout. We can thus drop the manual additions of it from all Jamfiles.
|
#
2ca24be6 |
|
30-Sep-2022 |
David Karoly <karolyd577@gmail.com> |
boot: embed Haiku revision in loader binary Change-Id: I9f71fba6c2c4fdaa63e118825c5fd00d51b556fb Reviewed-on: https://review.haiku-os.org/c/haiku/+/5693 Reviewed-by: waddlesplash <waddlesplash@gmail.com> Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
|
#
d338200e |
|
30-May-2022 |
Trung Nguyen <trungnt282910@gmail.com> |
libs/posix: Implemented new locale functions Implemented the missing POSIX functions in <locale.h>: newlocale, duplocale, uselocale, and freelocale, and also provided missing type definitions for <locale.h>. Implemented missing POSIX locale-based function variants. Modified LocaleBackend so that it could support thread-local locales. Some glibc-like locale-related variables supporting ctype and printf family of functions have also been updated to reflect the thread-local variables present in the latest glibc sources. As there have been some modifications to global symbols in libroot, libroot_stubs.c has been regenerated. Bug: #17168 Change-Id: Ibf296c58c47d42d1d1dfb2ce64042442f2679431 Reviewed-on: https://review.haiku-os.org/c/haiku/+/5351 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
|
#
54036160 |
|
29-May-2022 |
PulkoMandy <pulkomandy@pulkomandy.tk> |
EFI: Fix some mis-located files These were output to the root of the generated directory. There should be nothing there except the final Haiku image. Fixes #16750. Change-Id: I132de939c70197c3f7cc306ac371965a0b7f38b3 Reviewed-on: https://review.haiku-os.org/c/haiku/+/5346 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: waddlesplash <waddlesplash@gmail.com>
|
#
397102c1 |
|
21-Feb-2022 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
boot/riscv64: Fix -znotext invocation to work under ld and lld Change-Id: If47b0aeeda49661e466c66cabd2ac9a83f16aeef Reviewed-on: https://review.haiku-os.org/c/haiku/+/4987 Reviewed-by: Adrien Destugues <pulkomandy@gmail.com> Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
|
#
31f27c4d |
|
06-Feb-2022 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
boot/efi: Optionally sign our EFI bootloader * The private keys are in possession of Haiku, Inc. Change-Id: I3b5b004e1dce0102f8a65f6d682f7e428845efe8 Reviewed-on: https://review.haiku-os.org/c/haiku/+/4936 Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com> Reviewed-by: waddlesplash <waddlesplash@gmail.com>
|
#
c5d81c27 |
|
01-Dec-2021 |
David Karoly <karolyd577@gmail.com> |
build: prepare for x86 EFI loader Change-Id: Ic9e4181042bf634cd590d8c95935a987a4871b0d Reviewed-on: https://review.haiku-os.org/c/haiku/+/4753 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
|
#
49159268 |
|
22-Oct-2021 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
system/boot: Fix build of bootloader without zstd build-package Change-Id: I39b52def6892f77f5b3b1c088b01459b689c80e2 Reviewed-on: https://review.haiku-os.org/c/haiku/+/4648 Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com> Reviewed-by: waddlesplash <waddlesplash@gmail.com> Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
|
#
d3ed786f |
|
19-Oct-2021 |
Augustin Cavalier <waddlesplash@gmail.com> |
boot/loader: Add Zstd support.
|
#
7bd54988 |
|
19-Oct-2021 |
Augustin Cavalier <waddlesplash@gmail.com> |
boot: Move boot_zlib build out of tarfs directory. It is also used by packagefs. Another library is coming in the next commit.
|
#
7aa55747 |
|
30-Sep-2021 |
Augustin Cavalier <waddlesplash@gmail.com> |
kernel & addons: Build with the non-legacy GCC even on x86_gcc2h. Only one code change: for some reason, GCC chokes on the cr3 functions as macros (throwing errors about invalid registers.) The BSDs have them as inline functions instead, so they are converted to that here. Tested and working. There seems to be about a 10% decrease in CPU time on some compilation benchmarks that I briefly tried. Change-Id: I31666297394d7619f83fca6ff5f933ddd6f07420 Reviewed-on: https://review.haiku-os.org/c/haiku/+/4515 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: waddlesplash <waddlesplash@gmail.com>
|
#
c4eec9f1 |
|
01-Oct-2021 |
Augustin Cavalier <waddlesplash@gmail.com> |
Distinguish KERNEL_ARCH_DIR from KERNEL_ARCH. On x86_64, the KERNEL_ARCH should really be "x86_64", but it was "x86" as the architecture sources/headers directory is shared between 32 and 64 bit. Should not be a functional change on any platform outside x86_64.
|
#
db0b7d84 |
|
06-Sep-2021 |
Augustin Cavalier <waddlesplash@gmail.com> |
build: Use $rmAttrs and $(RM) in more places instead of 'rm' directly. Should not result in a functional change in most cases, but it might on some systems without full xattrs or emulation.
|
#
f65d15c5 |
|
31-Aug-2021 |
Fredrik Holmqvist <fredrik.holmqvist@gmail.com> |
AARCH64: Do not add uboot to bootoloader Aiming for RPi4 and there we can do UEFI + ACPI: https://rpi4-uefi.dev/about/
|
#
73ff7f2e |
|
29-Jun-2021 |
Jérôme Duval <jerome.duval@gmail.com> |
boot/platform/efi: generate efi.map in the output directory Change-Id: Iefcf347bfb815efeabffd41b71130978be596891 Reviewed-on: https://review.haiku-os.org/c/haiku/+/4125 Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com> Reviewed-by: Panagiotis Vasilopoulos <hello@alwayslivid.com> Reviewed-by: Adrien Destugues <pulkomandy@gmail.com> Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
|
#
a182bd6e |
|
17-Apr-2021 |
X512 <danger_mail@list.ru> |
haiku_loader: initial support for RISC-V TinyEMU Change-Id: Ie102f466725f45072db25a9629fa8e28526484eb Reviewed-on: https://review.haiku-os.org/c/haiku/+/3882 Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
|
#
6cd49df6 |
|
22-Jan-2021 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
system/efi: ensure we include all rela and rel sections Change-Id: I44d8ee7a4c0a6b0cd5ed0fbc2201a1d63fd8dde6 Reviewed-on: https://review.haiku-os.org/c/haiku/+/3662 Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com> Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
|
#
47320dd0 |
|
06-Oct-2020 |
Augustin Cavalier <waddlesplash@gmail.com> |
configure & build: Rework legacy GCC detection to parse versions outside of Jam. Jam comparison logic is string-based, and so was detecting GCC >= 10 as being < 2. This rectifies that by removing the GCC version parsing from Jam logic entirely, and setting various BuildConfig variables instead. Change-Id: I0c0ae3b9002fb5e77f9ca7a78600c91871657f03 Reviewed-on: https://review.haiku-os.org/c/haiku/+/3293 Reviewed-by: Adrien Destugues <pulkomandy@gmail.com> Reviewed-by: Jérôme Duval <jerome.duval@gmail.com> Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
|
#
b24dbf95 |
|
27-Aug-2020 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
riscv64/boot: Add same u-boot potential that arm has, drop L_DYNAMIC * Tianocore is still in an early state for RISCV64 with a lot of work needed around qemu support. * u-boot however is working, and can load EFI binaries... so follow the arm model for now. (EFI via u-boot, or EFI via EFI Bios) Change-Id: I3dfde25db17b114aedce6faefc58d7556e17a46a Reviewed-on: https://review.haiku-os.org/c/haiku/+/3176 Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com> Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
|
#
b3cd2bdf |
|
21-Aug-2020 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
riscv64: Generate a bootable EFI MMC image * mmc might be not ideal. But raw is just a single partition and anyboot is heavily x86. MMC will technically work for now to get bootable images. * floppyboot isn't used on EFI platforms, since we call two different actions, just drop floppyboot altogether on EFI SD Images. Change-Id: Idabb5483304007dd601bf8a1158036ffd24f73aa Reviewed-on: https://review.haiku-os.org/c/haiku/+/3165 Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
|
#
21258e26 |
|
19-Aug-2020 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
riscv64: Fill in some missing CPU defines, advance build further Change-Id: Id050fad59ede444f2eab7eca681c6ec44612aaf9 Reviewed-on: https://review.haiku-os.org/c/haiku/+/3160 Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com> Reviewed-by: François Revol <revol@free.fr>
|
#
ec5a7997 |
|
02-Nov-2019 |
François Revol <revol@free.fr> |
m68k: add next_m68k boot platform Since the boot ROM API structure is declared with a custom alignment, we simulate it with padding bytes around, and use aligntest.prg to verify using ARAnyM + TOS/MiNT as we know how to link simple PRG files. It now prints something to the screen then panics when initializing the heap. For now one must insert the loader manually into an existing floppy image: dd if=generated-m68k/objects/haiku/m68k/release/system/boot/next_m68k/haiku_loader.next_m68k bs=$((0x8000)) seek=1 of=next_floppy.img conv=notrunc Change-Id: I06d74e9d85a352aab68dedce545bbe5fe9e990d5 Reviewed-on: https://review.haiku-os.org/c/haiku/+/2220 Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
|
#
c17fa274 |
|
09-Jul-2020 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
efi: Switch to direct EFI loader creation * efi-app-x86_64 is a undocumented legacy compatibility target from the early days of EFI. * This opens the door to native arm,arm64 loaders without the gnu-efi 'fake pe' stubs in the future. * This change also clairifies what's happening within the undocumented efi-app-x86_64 * Future as in binutils fixing these: https://sourceware.org/bugzilla/show_bug.cgi?id=26206 https://sourceware.org/bugzilla/show_bug.cgi?id=26218 Change-Id: I60b4a4f5ceb36059033debbe6bf5b01928d6b223 Reviewed-on: https://review.haiku-os.org/c/haiku/+/3016 Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com> Reviewed-by: Adrien Destugues <pulkomandy@gmail.com> Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
|
#
b4e10d71 |
|
29-Jun-2020 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
arm64: Attempt to build efi bootloader Change-Id: I90a9440898994459f8d6de922a3f363fbeddaaf4 Reviewed-on: https://review.haiku-os.org/c/haiku/+/2974 Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com> Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
|
#
9f739dd2 |
|
28-Jun-2020 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
u-boot/arm: Break script out of Jamfile. Add EFI support. * boot.scr was growing past Jam MAXLINE and was causing segfaults * Break out to tree, data/boot could be used for other arches * boot.scr is getting a bit complex, but supports the old u-boot haiku_loader, as well as u-boot starting our EFI loader. Change-Id: I93a3167ab0bc78747c1d70fedd08595e9ac89662 Reviewed-on: https://review.haiku-os.org/c/haiku/+/2963 Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
|
#
35323f65 |
|
28-Jun-2020 |
Heinrich Schuchardt <xypron.glpk@gmx.de> |
efi: create map file When debugging the EFI bootloader it is helpful to have a map file available. Write file efi.map when linking. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Change-Id: I6d566df50fb2713f53375970f6645353bac54042 Reviewed-on: https://review.haiku-os.org/c/haiku/+/2964 Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
|
#
398b7899 |
|
20-Jun-2020 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
arm: Generate proper mmc image * Stub out makebootable like on u-boot * Place haiku_loader.efi at EFI/BOOT/BOOTXXX.EFI * Generate boot.scr for u-boot + EFI * haiku-mmc.image now attempts to auto-boot in qemu-system-arm * Same code paths should roughly apply for arm64,riscv,etc Change-Id: I563ebd77422d9e5dfcfeeedadcbc60471e8a57f4 Reviewed-on: https://review.haiku-os.org/c/haiku/+/2938 Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com> Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
|
#
4f732f12 |
|
09-Mar-2020 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
efi: drop fdt and fdt drivers on arm Change-Id: I3a11e7b3aae043deb72a2dd0de543cb488d75eb6 Reviewed-on: https://review.haiku-os.org/c/haiku/+/2336 Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com> Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
|
#
494acd21 |
|
10-Nov-2018 |
François Revol <revol@free.fr> |
m68k: update build to support MultiBootSubDirSetup Change-Id: Idbbbb089286ad7d76f61993670a20d240bfe773c
|
#
128781e7 |
|
30-Aug-2019 |
Augustin Cavalier <waddlesplash@gmail.com> |
build/jam: Inline HOST_ADD_BUILD_COMPATIBILITY_LIB_DIR where possible. The "exec" tool can only handle one command with environs set at the beginning of the line, so now we set the ADD_BUILD_COMPAT... in this format. This also seems to be a general performance improvement to builds using real shells, too. Change-Id: If4b3117651b5475039d5e8116cd3de398582290a
|
#
076b1902 |
|
01-Jul-2019 |
Adrien Destugues <pulkomandy@pulkomandy.tk> |
elf2aout: import from FreeBSD The sparc openboot implementation can run executables in the a.out format. We used to generate these using objcopy, but this does not work anymore as binutils is deprecating a.out format support. - Import elf2aout from FreeBSD - Add some missing bits to our elf.h and have a copy of it in the build headers so it can be used to build elf2aout for the host platform (tested for Linux) - Use it to generate the sparc haiku_loader - Adjust the bootloader linker script to have two "program headers": one that is not loadable and contains the ELF headers, and the second one that is loadable and contains the actual code and data. Unlike objcopy, elf2aout relies only on the program headers to know what to put in its output file (sections are ignored), so this is required otherwise we end up with the ELF header nested inside the a.out file, and everything offset from the expected load address as a result. Confirmed that this allows to build the loader and run it as far as before, so I'm back to needing to implement some MMU support now. FreeBSD commit: 7551d83c353e040b32c6ac205e577dbc5f2c8955 Change-Id: I90b48e578fa7f148aeddd8c5998fdddc5cfa73fa Reviewed-on: https://review.haiku-os.org/c/1557 Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
|
#
94ba4f64 |
|
10-Apr-2019 |
PulkoMandy <pulkomandy@pulkomandy.tk> |
sparc: fix bootloader executable format - The entry point has to be at the start of the text section - Use the correct formqt ("impure") for the a.out file - Strip all symbols (the bootloader isn't relocatable) Change-Id: I2b973c39eaf1416f874bf1b2668b1e3090eb5f7b Reviewed-on: https://review.haiku-os.org/c/1468 Reviewed-by: waddlesplash <waddlesplash@gmail.com>
|
#
815a1596 |
|
03-Apr-2019 |
PulkoMandy <pulkomandy@pulkomandy.tk> |
openfirmware: support a.out bootloader Apparently each architecture and manufacturer uses a different binary format (I heard current POWER hardware uses elf). Change-Id: I4f1b9977d0a9d5a700c2d50b36844d6e4640b68b Reviewed-on: https://review.haiku-os.org/c/1365 Reviewed-by: waddlesplash <waddlesplash@gmail.com>
|
#
a87c7773 |
|
21-Nov-2018 |
Augustin Cavalier <waddlesplash@gmail.com> |
EFI: Make the loader build under Clang. Clang doesn't support -maccumulate-outgoing-args, -nostartfiles is not needed in LDFLAGS (and lld doesn't know about it anyway), and Clang uses .dynstr so we need to copy it also.
|
#
8522edfe |
|
19-Oct-2018 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
jam: Ensure common boot LDFLAGS and ASFLAGS get distributed
|
#
49223f54 |
|
18-Oct-2018 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
system/boot: Tab cleanup, sorry for spam Change-Id: If486b772f5d0d1f22ba7cf08363e9a16434b3912
|
#
dd45d433 |
|
18-Oct-2018 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
u-boot: Fix after multi-loader changes * Move MMU image to a real image define vs being crammed into the u-boot bootloader Jamfile * ARM not working yet, but better! * x86 still builds Change-Id: I3fb873dbac06fe2db893915b667bf3ce1df44686
|
#
1f96a3cb |
|
08-Oct-2018 |
Jessica Hamilton <jessica.l.hamilton@gmail.com> |
system/boot: Add support for multiple bootloaders
|
#
445b080e |
|
24-Dec-2016 |
Jessica Hamilton <jessica.l.hamilton@gmail.com> |
UEFI: support selecting video resolution & vesa settings file.
|
#
04f0d02a |
|
14-Nov-2016 |
Jessica Hamilton <jessica.l.hamilton@gmail.com> |
Jamfiles: fix TARGET_BOOT_PLATFORM tests to use = efi
|
#
c0bdc8be |
|
22-Apr-2016 |
Jessica Hamilton <jessica.l.hamilton@gmail.com> |
bootloader: build objects in $(TARGET_BOOT_PLATFORM) This separates the objects required for the various boot loaders, allowing the build system to be able to build for different targets alongside each other. Currently only done for bios_ia32 vs efi, as both loaders will be needed for the x86_64 images.
|
#
bd060476 |
|
06-Nov-2013 |
Fredrik Holmqvist <fredrik.holmqvist@gmail.com> |
Setup -fno-pic or -fpic in Architecture Rules. EFI boot needs -fpic but all boot code was built with -fno-pic. This is now set accordingly in HAIKU_BOOT_CCFLAGS and HAIKU_BOOT_C++FLAGS. Also setup compile flags for EFI platform.
|
#
211483cb |
|
14-Apr-2016 |
Fredrik Holmqvist <fredrik.holmqvist@gmail.com> |
EFI: Initial test EFI application * Only set HAIKU_BOOT_PLATFORM to bios_ia32 if not defined * Add gnuefi build feature * Introduce BOOT_LDFLAGS, and move options for passing to linker into ArchitectureSetup * x86_64 compile fixes for warnings in boot loader * loader/elf.cpp: don't include ELF32 support when targeting EFI * relocation_func.cpp: copy of the relocation code from gnuefi to make _relocate extern "C", and avoid including <efilib.h> * boot_loader_efi.ld: copy of gnuefi's elf_x86_64_efi.lds, modified to include support for C++ constructors, etc. Keep in sync with the gnuefi package Signed-off-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>
|
#
5c2425a6 |
|
21-Apr-2015 |
François Revol <revol@free.fr> |
PPC: fix COFF bootloader entry point The concept of entry point in COFF is actually different than in ELF. In COFF, the entry point is actually a "descriptor" (pointer) to the actual start code. So we patch the entry point address when calling objcopy. Now my old Performa 5400/180 actually starts the loader correctly \o/
|
#
d3b1caa6 |
|
25-Aug-2014 |
Paweł Dziepak <pdziepak@quarnos.org> |
kernel, libroot: use C++11 atomics in atomic_*() The less assembler in our sources the better. These functions wouldn't be used very much since SupportDef.h inlines them, but the symbols should be available. Signed-off-by: Paweł Dziepak <pdziepak@quarnos.org>
|
#
5e36a367 |
|
23-May-2014 |
Adrien Destugues <pulkomandy@pulkomandy.tk> |
Convert strdup.c to C++.
|
#
b0944c78 |
|
01-Aug-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
More work towards hybrid support * All packaging architecture dependent variables do now have a respective suffix and are set up for each configured packaging architecture, save for the kernel and boot loader variables, which are still only set up for the primary architecture. For convenience TARGET_PACKAGING_ARCH, TARGET_ARCH, TARGET_LIBSUPC++, and TARGET_LIBSTDC++ are set to the respective values for the primary packaging architecture by default. * Introduce a set of MultiArch* rules to help with building targets for multiple packaging architectures. Generally the respective targets are (additionally) gristed with the packaging architecture. For libraries the additional grist is usually omitted for the primary architecture (e.g. libroot.so and <x86>libroot.so for x86_gcc2/x86 hybrid), so that Jamfiles for targets built only for the primary architecture don't need to be changed. * Add multi-arch build support for all targets needed for the stage 1 cross devel package as well as for libbe (untested).
|
#
f0339bc9 |
|
24-Aug-2012 |
François Revol <revol@free.fr> |
haiku_loader: add memchr to the list of imported libroot objects * libfdt uses memchr, so add this function from the libroot objects (cherry picked from my sam460ex branch)
|
#
6955cba6 |
|
24-Aug-2012 |
François Revol <revol@free.fr> |
haiku_loader: add memchr to the list of imported libroot objects * libfdt uses memchr, so add this function from the libroot objects
|
#
da80a050 |
|
02-Jul-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Preparation for merge of x86 and x86_64 kernel sources. Since x86 and x86_64 share a lot of common code, x86_64 kernel sources/headers are going to reside under headers/private/kernel/arch/x86 and src/system/kernel/arch/x86 along with the existing x86 code. This commit changes the build system to handle this. A new variable, TARGET_KERNEL_ARCH, has been added. This is the name of the kernel/boot architecture directory name, set to x86 on both x86 and x86_64. This is now used in all places where TARGET_ARCH was used to get to kernel arch sources/headers (I've changed everything necessary as far as I can tell). Kernel won't build for x86_64 at the moment as the sources have not been merged, loader does.
|
#
65ad1ba3 |
|
26-May-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Made it possible to build the bootloader when targetting x86_64. * x86_64 is using the existing *_ia32 boot platforms. * Special flags are required when compiling the loader to get GCC to compile 32-bit code. This adds a new set of rules for compiling boot code rather than using the kernel rules, which compile using the necessary flags. * Some x86_64 private headers have been stubbed by #include'ing the x86 versions. These will be replaced later.
|
#
8ba02058 |
|
19-Jun-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Add atomic_*() functions to boot loader
|
#
b232be5a |
|
19-Jun-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Boot loader build: add strerror,... * Don't link against libsupc++ anymore. We use kernel_cpp.* instead. * Link twice against boot_loader.a, so undefined symbols in FSs are resolved.
|
#
bcd197ad |
|
12-Jan-2011 |
Philippe Houdoin <philippe.houdoin@gmail.com> |
Removed last video_rle.cpp reference and made boot_zlib.a requirment more factual. Thanks François for cleaning up after me. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40218 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5b086e27 |
|
05-Sep-2010 |
Andreas Färber <andreas.faerber@web.de> |
boot_net: Add iSCSI initiator support Add support for both discovery and regular iSCSI sessions. Command and status sequence numbers do differentiate between session and connection but only one connection per session is currently supported. Code is Big Endian for now, so compile it for ppc only. Based on RFC 3720 ff. Tested against OpenSolaris 2009.06. Resolves most of ticket #5319. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38536 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a3f66598 |
|
23-Jul-2010 |
Oliver Tappe <zooey@hirschkaefer.de> |
* reintegrated posix-locale git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37725 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1e33c113 |
|
12-Aug-2009 |
François Revol <revol@free.fr> |
[ARM] - cleanup, - moved the startup asm code to u-boot/arch/arm/shell.S - added netbsd loader entry point, - store the invocation type (0: standalone, 1: netbsd), - store the global data in a variable, - added some debug code to see what U-Boot gives us. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32291 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
feb750d3 |
|
12-Aug-2009 |
François Revol <revol@free.fr> |
[ARM] - consolidate board specific definitions into build/jam/board/*/BoardSetup to avoid duplicating address values everywhere, - add various addresses, boot script, custom C/C++ flags and SD card definition, - not sure BoardSetup is included at the best place though, - replaced board-specific ldscript with passing the loader address directly to LD from BoardSetup, - added haiku.mmc target which generates an mmc/SD card image with a FAT partition with the files needed to boot for the board, should later be integrated with haiku.image with the BFS partition offset passed to bfs_shell, requires apt:sfdisk,mtools on GNU/Linux, - added some more rules, one to build a script for the SD image, - fake a NetBSD loader for now, U-Boot doesn't know haiku, and we'll need a way to pass the tgz image and RAM size, we'll either use standlone way (usual C argv[]) or the NetBSD args, - style fixes, - 80 cols, /me pets Ingo. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32284 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e60a2810 |
|
08-Aug-2009 |
François Revol <revol@free.fr> |
[ARM] Include board-specific file from the u-boot ldscript, to allow linking to different load addresses. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32207 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ff638203 |
|
28-Apr-2009 |
François Revol <revol@free.fr> |
Build only the required part of zlib with correct options instead of reusing the userland version. This fixes some weird m68k issue, and still works on x86. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30482 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
317bd7dd |
|
03-Apr-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Changed directory structure as suggested on the mailing list. * Made the TimeZoneView less error prone, and also actually use Haiku code (the previous check didn't work since it used #if, not #ifdef). * Also took the liberty to rename our boot loader to haiku_loader, since I had to update the nasm binary anyway. Updated the assembly sources to nasm 2.0. * I haven't found where the synth location in the MIDI code is specified, though. * Also, NetBootArchive, and FloppyBootImage haven't been updated yet. Will do so next. * Some optional packages still put their license to beos/etc/licenses. I didn't update them yet, as we'll probably do so anyway at some point. Also, I think we might want to introduce a common/data/licenses instead for those. * If you encounter any problems, please tell! git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29876 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b641656c |
|
15-Jan-2009 |
François Revol <revol@free.fr> |
Make sure the hack-coff tool is built when needed. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28910 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
fd19697e |
|
11-Nov-2008 |
François Revol <revol@free.fr> |
Make use of hack-coff. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28623 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
11a47de3 |
|
11-Nov-2008 |
François Revol <revol@free.fr> |
Support creating a COFF bootloader from the ELF one, at least for ppc. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28611 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2cf4975b |
|
15-Oct-2008 |
François Revol <revol@free.fr> |
Add FAT32 support. This allows the bootloader to find a BFS image file (currently named BEOS\IMAGE.BE) and start booting for it, until the kernel tries to mount the boot partition. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28156 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b18c9b97 |
|
10-Oct-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Implemented x86 assembly version of memset(). * memset() is now available through the commpage. * CPU modules can provide a model-optimized memset(). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27952 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
379ad6d0 |
|
09-Oct-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Moved the arch specific stuff in src/system/kernel/lib into arch/... subdirectories. Also moved the x86 kernel arch_string.S there. * Moved memcpy.c from src/system/libroot/posix/string into the arch/generic subdirectory. * Dealt with the consequences of moving things around. Affected are also the boot loader and runtime loader builds. Adjust the m68k and ppc parts, too, but only the x86 build is tested. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27947 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6328832f |
|
30-Mar-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Changed get_boot_item() API: it now also can retrieve the size of the boot item entry. * The bios_ia32 video platform code now stores the available VESA modes in the new vesa_modes kernel_args field. * When configuring a VESA mode via settings file, it's no longer needed to specify the exact mode - the closest available mode is now used. This should help with bug #1962. * frame_buffer_console_init() now also creates a boot_item for the VESA modes in the kernel_args. * The VESA accelerant now filters the mode list to only contain modes that are actually supported. * Moved non-shared vesa driver data into its own file vesa_private.h. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24675 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
34b3b26b |
|
10-Jan-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Merged branch haiku/branches/developer/bonefish/optimization revision 23139 into trunk, with roughly the following changes (for details svn log the branch): * The int 99 syscall handler is now fully in assembly. * Added a sysenter/sysexit handler and use it on Pentiums that support it (via commpage). * Got rid of i386_handle_trap(). A bit of functionality was moved into the assembly handler which now uses a jump table to call C functions handling the respective interrupt. * Some optimizations to get user debugger support code out of the interrupt handling path. * Introduced a thread::flags fields which allows to skip handling of rare events (signals, user debug enabling/disabling) on the common interrupt handling path. * Got rid of the explicit iframe stack. The iframes can still be retrieved by iterating through the stack frames. * Made the commpage an architecture independent feature. It's used for the real time data stuff (instead of creating a separate area). * The x86 CPU modules can now provide processor optimized versions for common functions (currently memcpy() only). They are used in the kernel and are provided to the userland via commpage entries. * Introduced build system feature allowing easy use of C structure member offsets in assembly code. Changes after merging: * Fixed merge conflict in src/system/kernel/arch/x86/arch_debug.cpp (caused by refactoring and introduction of "call" debugger command). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23370 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
44211832 |
|
02-Oct-2007 |
Axel Dörfler <axeld@pinc-software.de> |
* Changed Ld rule to allow adding resource files. * Changed ResAttr rule to allow not deleting the file before writing the attributes. * Added application signatures for the runtime_loader and zbeos, just so that they may have an icon, too (hint, hint) :-) * As a side effect, this also let's FileTypes handle these two as apps (even though they aren't), so that I can close bug #606. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22412 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
831486a2 |
|
16-Apr-2007 |
Travis Geiselbrecht <geist@foobox.com> |
Turn the assembly optimized memcpy (simple rep movsd) back on for x86. Had to hack around the make system a bit, and the result is pretty nasty, specifically due to the amount of places in the system where various targets poke their fingers into the libroot directory. The solution is less than optimal, but should work for now. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20722 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
aa86f386 |
|
06-Jan-2007 |
Marcus Overhagen <marcusoverhagen@gmail.com> |
Cleanup naming of PXE stage2. It no longer interferes with zbeos build process. You can build it using: TARGET_BOOT_PLATFORM=pxe_ia32 jam pxehaiku-loader Building the PXE stage1 using: TARGET_BOOT_PLATFORM=pxe_ia32 jam pxehaiku is still broken. however, it can be build using: cd src/system/boot/platform/pxe_ia32/ as -o pxe_stage1.o pxe_stage1.S ld --oformat binary --Ttext 0x7C00 -o pxe_stage1.bin pxe_stage1.o cp pxe_stage1.bin /tftpboot/pxehaiku git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19722 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
fa38d533 |
|
25-Sep-2006 |
Marcus Overhagen <marcusoverhagen@gmail.com> |
make boot loader platform dependant git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18924 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
957a1b17 |
|
30-Dec-2005 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Introduced new build system variables {HAIKU,HOST,TARGET}_KERNEL_PIC_{CC,LINK}FLAGS which define the compiler/linker flags specifying the kind of position independence the kernel shall have. For x86 we had and still have -fno-pic, but the PPC kernel has -fPIE (position independent executable) now, as we need to relocate it. * The boot loader relocates the kernel now. Mostly copied the relocation code from the kernel ELF loader. Almost completely rewrote the PPC specific relocation code, though. It's more correct and more complete now (some things are still missing though). * Added boot platform awareness to the kernel. Moved the generic Open Firmware code (openfirmware.c/h) from the boot loader to the kernel. * The kernel PPC serial debug output is sent to the console for the time being. * The PPC boot loader counts the CPUs now and allocates the kernel stacks (made OF device iteration a bit more flexible on the way -- the search can be restricted to subtree). Furthermore we really enter the kernel... (Yay! :-) ... and crash in the first dprintf() (in the atomic_set() called by acquire_spinlock()). kprintf() works, though. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15756 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d561d0ad |
|
27-Dec-2005 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Added a mini networking stack to the boot loader. It speaks basic ARP, IP, and UDP, as well as a home brewn UDP based protocol, "remote disk", which provides random access to a single remote file/device. The Open Firmware flavored boot loader automatically initializes the net stack, searches for a remote disk, and tries to boot from it, if the boot device is a network device (e.g. when loading the boot loader via TFTP). This is quite nice for developing with a two-machine setup, since one doesn't even need to install Haiku on the test machine anymore, but can serve it directly from the development machine. When the networking support in the kernel is working, this method could even be used to fully boot, not just for loading kernel and initial modules. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15689 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7cc34f75 |
|
08-Dec-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Removed cpuid.o from boot loader build for PPC. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15412 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
353d20c0 |
|
27-Nov-2005 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* libroot and the runtime loader are no longer built with kernel rules. * New rule Ld, analogously to KernelLd. * Added StaticLibrary parameter for supplying additional objects. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15191 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
38f62644 |
|
26-Nov-2005 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Reorganized building of kernel, boot loader, and libroot. Each component is built in the respective subdirectory now and no longer in src/system/Jamfile. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15184 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c7b36669 |
|
26-Nov-2005 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Moved bin2h and bin2asm to src/tools/misc (no longer added to the build). We don't really need them any longer. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15181 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
cc38261b |
|
30-Oct-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Removed "arch" directory, and "makeflop" & "bootmaker" - they are all no longer in use. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14587 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
338b8dc3 |
|
29-Oct-2005 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Merged changes from branch build_system_redesign at revision 14573. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14574 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
718b5114 |
|
13-Apr-2005 |
Axel Dörfler <axeld@pinc-software.de> |
This should fix the build after all the kernel/system renaming. If anything is still broken (and was not before :)), please shout. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12361 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5af32e75 |
|
13-Apr-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Renamed src/kernel to src/system. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12359 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5c2425a61e38d8fda5011d1e34519fb51fe2952a |
|
21-Apr-2015 |
François Revol <revol@free.fr> |
PPC: fix COFF bootloader entry point The concept of entry point in COFF is actually different than in ELF. In COFF, the entry point is actually a "descriptor" (pointer) to the actual start code. So we patch the entry point address when calling objcopy. Now my old Performa 5400/180 actually starts the loader correctly \o/
|
#
d3b1caa62d83444c7c95a73cdc2094d2087fb818 |
|
25-Aug-2014 |
Paweł Dziepak <pdziepak@quarnos.org> |
kernel, libroot: use C++11 atomics in atomic_*() The less assembler in our sources the better. These functions wouldn't be used very much since SupportDef.h inlines them, but the symbols should be available. Signed-off-by: Paweł Dziepak <pdziepak@quarnos.org>
|
#
5e36a367d7edc677c0183c7a6fc6b6ec5bb40cf1 |
|
23-May-2014 |
Adrien Destugues <pulkomandy@pulkomandy.tk> |
Convert strdup.c to C++.
|
#
b0944c78b074a8110bd98e060415d0e8f38a7f65 |
|
01-Aug-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
More work towards hybrid support * All packaging architecture dependent variables do now have a respective suffix and are set up for each configured packaging architecture, save for the kernel and boot loader variables, which are still only set up for the primary architecture. For convenience TARGET_PACKAGING_ARCH, TARGET_ARCH, TARGET_LIBSUPC++, and TARGET_LIBSTDC++ are set to the respective values for the primary packaging architecture by default. * Introduce a set of MultiArch* rules to help with building targets for multiple packaging architectures. Generally the respective targets are (additionally) gristed with the packaging architecture. For libraries the additional grist is usually omitted for the primary architecture (e.g. libroot.so and <x86>libroot.so for x86_gcc2/x86 hybrid), so that Jamfiles for targets built only for the primary architecture don't need to be changed. * Add multi-arch build support for all targets needed for the stage 1 cross devel package as well as for libbe (untested).
|
#
f0339bc92cb040f61832ceffdb08e94517a59680 |
|
24-Aug-2012 |
François Revol <revol@free.fr> |
haiku_loader: add memchr to the list of imported libroot objects * libfdt uses memchr, so add this function from the libroot objects (cherry picked from my sam460ex branch)
|
#
6955cba65be7cbcfc1a81701f4e8571fba47c5cb |
|
24-Aug-2012 |
François Revol <revol@free.fr> |
haiku_loader: add memchr to the list of imported libroot objects * libfdt uses memchr, so add this function from the libroot objects
|
#
da80a0500c33176998887bcae22828d9e997477f |
|
02-Jul-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Preparation for merge of x86 and x86_64 kernel sources. Since x86 and x86_64 share a lot of common code, x86_64 kernel sources/headers are going to reside under headers/private/kernel/arch/x86 and src/system/kernel/arch/x86 along with the existing x86 code. This commit changes the build system to handle this. A new variable, TARGET_KERNEL_ARCH, has been added. This is the name of the kernel/boot architecture directory name, set to x86 on both x86 and x86_64. This is now used in all places where TARGET_ARCH was used to get to kernel arch sources/headers (I've changed everything necessary as far as I can tell). Kernel won't build for x86_64 at the moment as the sources have not been merged, loader does.
|
#
65ad1ba320d945c9626f471c4fb0972ae49440b5 |
|
26-May-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Made it possible to build the bootloader when targetting x86_64. * x86_64 is using the existing *_ia32 boot platforms. * Special flags are required when compiling the loader to get GCC to compile 32-bit code. This adds a new set of rules for compiling boot code rather than using the kernel rules, which compile using the necessary flags. * Some x86_64 private headers have been stubbed by #include'ing the x86 versions. These will be replaced later.
|
#
8ba02058b949cc9b6145cefe22d9c7a8f55a2f44 |
|
19-Jun-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Add atomic_*() functions to boot loader
|
#
b232be5a4773acadb1957fc609f73430c13e4821 |
|
19-Jun-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Boot loader build: add strerror,... * Don't link against libsupc++ anymore. We use kernel_cpp.* instead. * Link twice against boot_loader.a, so undefined symbols in FSs are resolved.
|
#
bcd197ad9b08a545da8679a9b09e18834f17f624 |
|
12-Jan-2011 |
Philippe Houdoin <philippe.houdoin@gmail.com> |
Removed last video_rle.cpp reference and made boot_zlib.a requirment more factual. Thanks François for cleaning up after me. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40218 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5b086e27e874a6c81f5d6043f7bbcf7643840553 |
|
05-Sep-2010 |
Andreas Färber <andreas.faerber@web.de> |
boot_net: Add iSCSI initiator support Add support for both discovery and regular iSCSI sessions. Command and status sequence numbers do differentiate between session and connection but only one connection per session is currently supported. Code is Big Endian for now, so compile it for ppc only. Based on RFC 3720 ff. Tested against OpenSolaris 2009.06. Resolves most of ticket #5319. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38536 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a3f665982e2e078ba42e7bf941bd5f3dd8989c55 |
|
23-Jul-2010 |
Oliver Tappe <zooey@hirschkaefer.de> |
* reintegrated posix-locale git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37725 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1e33c1136e6ee297334fdec121dfc5ba13616e06 |
|
12-Aug-2009 |
François Revol <revol@free.fr> |
[ARM] - cleanup, - moved the startup asm code to u-boot/arch/arm/shell.S - added netbsd loader entry point, - store the invocation type (0: standalone, 1: netbsd), - store the global data in a variable, - added some debug code to see what U-Boot gives us. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32291 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
feb750d3311808b62ca2e2f135f4a05a3608716e |
|
12-Aug-2009 |
François Revol <revol@free.fr> |
[ARM] - consolidate board specific definitions into build/jam/board/*/BoardSetup to avoid duplicating address values everywhere, - add various addresses, boot script, custom C/C++ flags and SD card definition, - not sure BoardSetup is included at the best place though, - replaced board-specific ldscript with passing the loader address directly to LD from BoardSetup, - added haiku.mmc target which generates an mmc/SD card image with a FAT partition with the files needed to boot for the board, should later be integrated with haiku.image with the BFS partition offset passed to bfs_shell, requires apt:sfdisk,mtools on GNU/Linux, - added some more rules, one to build a script for the SD image, - fake a NetBSD loader for now, U-Boot doesn't know haiku, and we'll need a way to pass the tgz image and RAM size, we'll either use standlone way (usual C argv[]) or the NetBSD args, - style fixes, - 80 cols, /me pets Ingo. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32284 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e60a2810f6c237e1c78c2916c3ea232cfcd4c8ef |
|
08-Aug-2009 |
François Revol <revol@free.fr> |
[ARM] Include board-specific file from the u-boot ldscript, to allow linking to different load addresses. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32207 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ff6382031e0bc9d2a2fac59772c87f96c9cde519 |
|
28-Apr-2009 |
François Revol <revol@free.fr> |
Build only the required part of zlib with correct options instead of reusing the userland version. This fixes some weird m68k issue, and still works on x86. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30482 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
317bd7dda3eb26d4d24ba5b0a831461119f70d34 |
|
03-Apr-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Changed directory structure as suggested on the mailing list. * Made the TimeZoneView less error prone, and also actually use Haiku code (the previous check didn't work since it used #if, not #ifdef). * Also took the liberty to rename our boot loader to haiku_loader, since I had to update the nasm binary anyway. Updated the assembly sources to nasm 2.0. * I haven't found where the synth location in the MIDI code is specified, though. * Also, NetBootArchive, and FloppyBootImage haven't been updated yet. Will do so next. * Some optional packages still put their license to beos/etc/licenses. I didn't update them yet, as we'll probably do so anyway at some point. Also, I think we might want to introduce a common/data/licenses instead for those. * If you encounter any problems, please tell! git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29876 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b641656c2b6ec8797a58a0c9dbd0b26b0aa62f43 |
|
15-Jan-2009 |
François Revol <revol@free.fr> |
Make sure the hack-coff tool is built when needed. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28910 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
fd19697e686daae3c5a1eb5ccbba7da1f13e0ce3 |
|
11-Nov-2008 |
François Revol <revol@free.fr> |
Make use of hack-coff. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28623 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
11a47de3742eaa711275a0fededa8355db319aba |
|
11-Nov-2008 |
François Revol <revol@free.fr> |
Support creating a COFF bootloader from the ELF one, at least for ppc. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28611 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2cf4975b4b706bcfb741d06d0e8deb8a4783a3f6 |
|
15-Oct-2008 |
François Revol <revol@free.fr> |
Add FAT32 support. This allows the bootloader to find a BFS image file (currently named BEOS\IMAGE.BE) and start booting for it, until the kernel tries to mount the boot partition. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28156 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b18c9b97aeb4a7af1c5bca0bc99f02ad19e716f4 |
|
10-Oct-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Implemented x86 assembly version of memset(). * memset() is now available through the commpage. * CPU modules can provide a model-optimized memset(). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27952 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
379ad6d0372d6b3242b4a56925f5b8512d63500f |
|
09-Oct-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Moved the arch specific stuff in src/system/kernel/lib into arch/... subdirectories. Also moved the x86 kernel arch_string.S there. * Moved memcpy.c from src/system/libroot/posix/string into the arch/generic subdirectory. * Dealt with the consequences of moving things around. Affected are also the boot loader and runtime loader builds. Adjust the m68k and ppc parts, too, but only the x86 build is tested. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27947 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6328832fba8f149074dbe7502dc0c180ff013263 |
|
30-Mar-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Changed get_boot_item() API: it now also can retrieve the size of the boot item entry. * The bios_ia32 video platform code now stores the available VESA modes in the new vesa_modes kernel_args field. * When configuring a VESA mode via settings file, it's no longer needed to specify the exact mode - the closest available mode is now used. This should help with bug #1962. * frame_buffer_console_init() now also creates a boot_item for the VESA modes in the kernel_args. * The VESA accelerant now filters the mode list to only contain modes that are actually supported. * Moved non-shared vesa driver data into its own file vesa_private.h. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24675 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
34b3b26b3b8c46ba46ddde037b10dd173f4936d6 |
|
10-Jan-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Merged branch haiku/branches/developer/bonefish/optimization revision 23139 into trunk, with roughly the following changes (for details svn log the branch): * The int 99 syscall handler is now fully in assembly. * Added a sysenter/sysexit handler and use it on Pentiums that support it (via commpage). * Got rid of i386_handle_trap(). A bit of functionality was moved into the assembly handler which now uses a jump table to call C functions handling the respective interrupt. * Some optimizations to get user debugger support code out of the interrupt handling path. * Introduced a thread::flags fields which allows to skip handling of rare events (signals, user debug enabling/disabling) on the common interrupt handling path. * Got rid of the explicit iframe stack. The iframes can still be retrieved by iterating through the stack frames. * Made the commpage an architecture independent feature. It's used for the real time data stuff (instead of creating a separate area). * The x86 CPU modules can now provide processor optimized versions for common functions (currently memcpy() only). They are used in the kernel and are provided to the userland via commpage entries. * Introduced build system feature allowing easy use of C structure member offsets in assembly code. Changes after merging: * Fixed merge conflict in src/system/kernel/arch/x86/arch_debug.cpp (caused by refactoring and introduction of "call" debugger command). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23370 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4421183286ff7b0d57da9c7692691936e98c80bb |
|
02-Oct-2007 |
Axel Dörfler <axeld@pinc-software.de> |
* Changed Ld rule to allow adding resource files. * Changed ResAttr rule to allow not deleting the file before writing the attributes. * Added application signatures for the runtime_loader and zbeos, just so that they may have an icon, too (hint, hint) :-) * As a side effect, this also let's FileTypes handle these two as apps (even though they aren't), so that I can close bug #606. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22412 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
831486a2d3ba8eb2a012bc59083f383811fff5a3 |
|
16-Apr-2007 |
Travis Geiselbrecht <geist@foobox.com> |
Turn the assembly optimized memcpy (simple rep movsd) back on for x86. Had to hack around the make system a bit, and the result is pretty nasty, specifically due to the amount of places in the system where various targets poke their fingers into the libroot directory. The solution is less than optimal, but should work for now. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20722 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
aa86f3868f3e2e9be2c2401da56a8d760067b3db |
|
06-Jan-2007 |
Marcus Overhagen <marcusoverhagen@gmail.com> |
Cleanup naming of PXE stage2. It no longer interferes with zbeos build process. You can build it using: TARGET_BOOT_PLATFORM=pxe_ia32 jam pxehaiku-loader Building the PXE stage1 using: TARGET_BOOT_PLATFORM=pxe_ia32 jam pxehaiku is still broken. however, it can be build using: cd src/system/boot/platform/pxe_ia32/ as -o pxe_stage1.o pxe_stage1.S ld --oformat binary --Ttext 0x7C00 -o pxe_stage1.bin pxe_stage1.o cp pxe_stage1.bin /tftpboot/pxehaiku git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19722 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
fa38d533747322cb444d949e3d5d8f3c5e8b5211 |
|
25-Sep-2006 |
Marcus Overhagen <marcusoverhagen@gmail.com> |
make boot loader platform dependant git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18924 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
957a1b17eb9d13d6dbf164145e82997e16742549 |
|
30-Dec-2005 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Introduced new build system variables {HAIKU,HOST,TARGET}_KERNEL_PIC_{CC,LINK}FLAGS which define the compiler/linker flags specifying the kind of position independence the kernel shall have. For x86 we had and still have -fno-pic, but the PPC kernel has -fPIE (position independent executable) now, as we need to relocate it. * The boot loader relocates the kernel now. Mostly copied the relocation code from the kernel ELF loader. Almost completely rewrote the PPC specific relocation code, though. It's more correct and more complete now (some things are still missing though). * Added boot platform awareness to the kernel. Moved the generic Open Firmware code (openfirmware.c/h) from the boot loader to the kernel. * The kernel PPC serial debug output is sent to the console for the time being. * The PPC boot loader counts the CPUs now and allocates the kernel stacks (made OF device iteration a bit more flexible on the way -- the search can be restricted to subtree). Furthermore we really enter the kernel... (Yay! :-) ... and crash in the first dprintf() (in the atomic_set() called by acquire_spinlock()). kprintf() works, though. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15756 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d561d0ad6889135e08b83c18dede8872a75c6d75 |
|
27-Dec-2005 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Added a mini networking stack to the boot loader. It speaks basic ARP, IP, and UDP, as well as a home brewn UDP based protocol, "remote disk", which provides random access to a single remote file/device. The Open Firmware flavored boot loader automatically initializes the net stack, searches for a remote disk, and tries to boot from it, if the boot device is a network device (e.g. when loading the boot loader via TFTP). This is quite nice for developing with a two-machine setup, since one doesn't even need to install Haiku on the test machine anymore, but can serve it directly from the development machine. When the networking support in the kernel is working, this method could even be used to fully boot, not just for loading kernel and initial modules. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15689 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7cc34f755b68498715530e6e34edc8b35802b021 |
|
08-Dec-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Removed cpuid.o from boot loader build for PPC. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15412 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
353d20c0c5f19d1120a8acb0f4f7f3b266da730f |
|
27-Nov-2005 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* libroot and the runtime loader are no longer built with kernel rules. * New rule Ld, analogously to KernelLd. * Added StaticLibrary parameter for supplying additional objects. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15191 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
38f62644541aaa3c1f4f363a3e3ab11b086b16d4 |
|
26-Nov-2005 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Reorganized building of kernel, boot loader, and libroot. Each component is built in the respective subdirectory now and no longer in src/system/Jamfile. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15184 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c7b36669c29f503b39086ddcbd0c7de43230ca75 |
|
26-Nov-2005 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Moved bin2h and bin2asm to src/tools/misc (no longer added to the build). We don't really need them any longer. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15181 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
cc38261bf4876c7fd2492852f6619215685abd53 |
|
30-Oct-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Removed "arch" directory, and "makeflop" & "bootmaker" - they are all no longer in use. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14587 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
338b8dc301721b1f472e8297a898d4eaa2f2ee3a |
|
29-Oct-2005 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Merged changes from branch build_system_redesign at revision 14573. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14574 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
718b5114e0613a5602d5d6296afeaa7f3ee4b576 |
|
13-Apr-2005 |
Axel Dörfler <axeld@pinc-software.de> |
This should fix the build after all the kernel/system renaming. If anything is still broken (and was not before :)), please shout. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12361 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5af32e752606778be5dd7379f319fe43cb3f6b8c |
|
13-Apr-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Renamed src/kernel to src/system. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12359 a95241bf-73f2-0310-859d-f6bbb57e9c96
|