Hagfish
11 months agoAdd missing typedefs for core data master release2020-03-23
Daniel Schwyn [Fri, 4 Oct 2019 21:36:22 +0000]
Add missing typedefs for core data

Signed-off-by: Daniel Schwyn <daniel.schwyn@inf.ethz.ch>

11 months agoDon't hardcode core boot cmd line buffer size
Daniel Schwyn [Mon, 17 Jun 2019 07:26:06 +0000]
Don't hardcode core boot cmd line buffer size

Signed-off-by: Daniel Schwyn <daniel.schwyn@inf.ethz.ch>

11 months agoClean up Hagfish.c
Daniel Schwyn [Tue, 11 Jun 2019 10:24:38 +0000]
Clean up Hagfish.c

Signed-off-by: Daniel Schwyn <daniel.schwyn@inf.ethz.ch>

11 months agoPass physical addresses to kernel
Daniel Schwyn [Fri, 7 Jun 2019 16:54:12 +0000]
Pass physical addresses to kernel

Signed-off-by: Daniel Schwyn <daniel.schwyn@inf.ethz.ch>

11 months agoPass armv8_core_data struct to boot driver
Daniel Schwyn [Wed, 5 Jun 2019 13:54:43 +0000]
Pass armv8_core_data struct to boot driver

Signed-off-by: Daniel Schwyn <daniel.schwyn@inf.ethz.ch>

11 months agoAdd build environment setup script
Daniel Schwyn [Fri, 4 Oct 2019 15:52:04 +0000]
Add build environment setup script

Signed-off-by: Daniel Schwyn <daniel.schwyn@inf.ethz.ch>

11 months agoConvert README to markdown
Daniel Schwyn [Thu, 3 Oct 2019 14:10:04 +0000]
Convert README to markdown

Signed-off-by: Daniel Schwyn <daniel.schwyn@inf.ethz.ch>

11 months agoUpdate build steps
Daniel Schwyn [Thu, 13 Jun 2019 12:49:23 +0000]
Update build steps

Signed-off-by: Daniel Schwyn <daniel.schwyn@inf.ethz.ch>

11 months agoRevert "Pass armv8_core_data struct to boot driver"
Daniel Schwyn [Fri, 4 Oct 2019 20:40:24 +0000]
Revert "Pass armv8_core_data struct to boot driver"

This reverts commit 38a05813a9bee6d355b7be2f920f999203bc3c82.

Signed-off-by: Daniel Schwyn <daniel.schwyn@inf.ethz.ch>

15 months agoPass armv8_core_data struct to boot driver
Daniel Schwyn [Wed, 5 Jun 2019 13:54:43 +0000]
Pass armv8_core_data struct to boot driver

Signed-off-by: Daniel Schwyn <daniel.schwyn@inf.ethz.ch>

15 months agoFix memory map relocation
Daniel Schwyn [Tue, 4 Jun 2019 08:20:22 +0000]
Fix memory map relocation

Signed-off-by: Daniel Schwyn <daniel.schwyn@inf.ethz.ch>

15 months agoMake Hagfish build with GCC 7 and current EDK II master
Daniel Schwyn [Wed, 29 May 2019 15:09:53 +0000]
Make Hagfish build with GCC 7 and current EDK II master

Signed-off-by: Daniel Schwyn <daniel.schwyn@inf.ethz.ch>

23 months agoFixing the Multiboot2 structure
Adam Turowski [Thu, 4 Oct 2018 15:15:05 +0000]
Fixing the Multiboot2 structure

Signed-off-by: Adam Turowski <adam.turowski@inf.ethz.ch>

3 years agoPrint stack range and size
Reto Achermann [Thu, 16 Mar 2017 12:16:40 +0000]
Print stack range and size

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

3 years agoACPI: don't dump entries
Reto Achermann [Thu, 16 Mar 2017 12:16:19 +0000]
ACPI: don't dump entries

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

3 years agocopy the full RSDP
Reto Achermann [Mon, 13 Mar 2017 15:34:28 +0000]
copy the full RSDP

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

3 years agoadding support for parsing ACPI tables to get parking protocol pages
Reto Achermann [Fri, 10 Mar 2017 15:56:12 +0000]
adding support for parsing ACPI tables to get parking protocol pages

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

3 years agoadding support for loading cpu + boot driver
Reto Achermann [Wed, 8 Mar 2017 17:43:50 +0000]
adding support for loading cpu + boot driver

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

3 years agoupdate README to use ubuntu's default compiler
Reto Achermann [Wed, 8 Mar 2017 17:42:50 +0000]
update README to use ubuntu's default compiler

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

3 years agoadding cavium workarounds
Reto Achermann [Wed, 22 Feb 2017 09:08:18 +0000]
adding cavium workarounds

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

3 years agodisable verbose prints
Reto Achermann [Wed, 22 Feb 2017 09:08:03 +0000]
disable verbose prints

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

3 years agoHagfish: use new call to update mmap and exit boot services
Reto Achermann [Wed, 22 Feb 2017 08:55:57 +0000]
Hagfish: use new call to update mmap and exit boot services

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

3 years agoMemory: adding function to update memory map and exit bootservices
Reto Achermann [Wed, 22 Feb 2017 08:45:23 +0000]
Memory: adding function to update memory map and exit bootservices

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

3 years agoupdating readme
Reto Achermann [Tue, 21 Feb 2017 07:54:13 +0000]
updating readme

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

3 years agoupdating readme
Reto Achermann [Tue, 21 Feb 2017 07:53:23 +0000]
updating readme

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

3 years agoupdate readme
Reto Achermann [Tue, 21 Feb 2017 07:39:14 +0000]
update readme

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

3 years agoChange PCE file name to hagfish.cfg.IP
Moritz Hoffmann [Thu, 17 Nov 2016 13:22:47 +0000]
Change PCE file name to hagfish.cfg.IP

Signed-off-by: Moritz Hoffmann <moritz.hoffmann@inf.ethz.ch>

3 years agoLoader: Remove debugging output
Moritz Hoffmann [Wed, 16 Nov 2016 13:15:36 +0000]
Loader: Remove debugging output

Signed-off-by: Moritz Hoffmann <moritz.hoffmann@inf.ethz.ch>

3 years agoConfig: Fix config file parsing/assertions. Fixes T296
Moritz Hoffmann [Wed, 16 Nov 2016 13:15:22 +0000]
Config: Fix config file parsing/assertions. Fixes T296

Signed-off-by: Moritz Hoffmann <moritz.hoffmann@inf.ethz.ch>

3 years agoRevert "Config: Use menu.lst.$IP layout as tftp boot config file"
Moritz Hoffmann [Wed, 16 Nov 2016 13:08:43 +0000]
Revert "Config: Use menu.lst.$IP layout as tftp boot config file"

This reverts commit d025f90dd9a0e818a963cbb6f1f0349cb417b13b.

Signed-off-by: Moritz Hoffmann <moritz.hoffmann@inf.ethz.ch>

3 years agoConfig: Use menu.lst.$IP layout as tftp boot config file
Moritz Hoffmann [Tue, 15 Nov 2016 16:30:25 +0000]
Config: Use menu.lst.$IP layout as tftp boot config file

Signed-off-by: Moritz Hoffmann <moritz.hoffmann@inf.ethz.ch>

3 years agoaarch64: Map only known RAM cached, all other memory is considered device memory
Moritz Hoffmann [Wed, 9 Nov 2016 09:51:26 +0000]
aarch64: Map only known RAM cached, all other memory is considered device memory

Signed-off-by: Moritz Hoffmann <moritz.hoffmann@inf.ethz.ch>

3 years agobugfix with checksum and removing one printf
Reto Achermann [Wed, 5 Oct 2016 09:17:47 +0000]
bugfix with checksum and removing one printf

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

3 years agoUsing actual multiboot_header for the first fields
Reto Achermann [Wed, 5 Oct 2016 08:26:29 +0000]
Using actual multiboot_header for the first fields

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

4 years agomultiboot headers algined
Reto Achermann [Tue, 2 Aug 2016 16:12:14 +0000]
multiboot headers algined

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

4 years agoactually call acpi_search()
Reto Achermann [Tue, 19 Jul 2016 16:41:11 +0000]
actually call acpi_search()

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

4 years agoDisabling assertion as some kernels have more loadable segments
Reto Achermann [Tue, 19 Jul 2016 12:48:30 +0000]
Disabling assertion as some kernels have more loadable segments

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

4 years agoAdding comment stating the assumptions when leaving Hagfish
Reto Achermann [Tue, 19 Jul 2016 12:45:30 +0000]
Adding comment stating the assumptions when leaving Hagfish

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

4 years agoAdding instructions on how to Debug Hagfish in GDB.
Reto Achermann [Mon, 18 Jul 2016 08:45:04 +0000]
Adding instructions on how to Debug Hagfish in GDB.

This also adds a new configuration option, WAIT_FOR_GDB, that
enables a loop until a variable is set to false from GDB.

Signed-off-by: Reto Achermann <reto.achermann@inf.ethz.ch>

4 years agoSort mmap. qemu-efi for aarch64 doesn't return a sorted list.
Moritz Hoffmann [Wed, 13 Jul 2016 00:21:13 +0000]
Sort mmap. qemu-efi for aarch64 doesn't return a sorted list.

Signed-off-by: Moritz Hoffmann <moritz.hoffmann@hpe.com>

4 years agoEFI on Qemu boots into EL1, support that in Hagfish.
Moritz Hoffmann [Tue, 12 Jul 2016 16:19:56 +0000]
EFI on Qemu boots into EL1, support that in Hagfish.

Signed-off-by: Moritz Hoffmann <moritz.hoffmann@hpe.com>

4 years agoEnable EFI runtime services by providing a correctly relocated memory map.
Moritz Hoffmann [Tue, 12 Jul 2016 16:18:50 +0000]
Enable EFI runtime services by providing a correctly relocated memory map.

Signed-off-by: Moritz Hoffmann <moritz.hoffmann@hpe.com>

4 years agoCorrect shareability for l1 blocks. Need to figure out what we actually want.
Moritz Hoffmann [Tue, 12 Jul 2016 16:17:40 +0000]
Correct shareability for l1 blocks. Need to figure out what we actually want.

Signed-off-by: Moritz Hoffmann <moritz.hoffmann@hpe.com>

4 years agoHagfish/aarch64: Improve mapping device sections non-cachable.
Moritz Hoffmann [Wed, 15 Jun 2016 16:16:07 +0000]
Hagfish/aarch64: Improve mapping device sections non-cachable.

Signed-off-by: Moritz Hoffmann <moritz.hoffmann@hpe.com>

4 years agoHagfish/pxe: Fix null pointer dereference.
Moritz Hoffmann [Wed, 15 Jun 2016 16:12:45 +0000]
Hagfish/pxe: Fix null pointer dereference.

Signed-off-by: Moritz Hoffmann <moritz.hoffmann@hpe.com>

4 years agoHagfish: Relocate kernel to KERNEL_OFFSET.
Moritz Hoffmann [Wed, 15 Jun 2016 16:12:21 +0000]
Hagfish: Relocate kernel to KERNEL_OFFSET.

While this works for TMAS, it might not for other architectures.

Signed-off-by: Moritz Hoffmann <moritz.hoffmann@hpe.com>

4 years agoEnable PXE when shell service unavailable.
Moritz Hoffmann [Thu, 9 Jun 2016 00:06:08 +0000]
Enable PXE when shell service unavailable.

Signed-off-by: Moritz Hoffmann <moritz.hoffmann@hpe.com>

4 years agoInclude EFI mmap in multiboot image.
Moritz Hoffmann [Wed, 8 Jun 2016 23:46:39 +0000]
Include EFI mmap in multiboot image.

Signed-off-by: Moritz Hoffmann <moritz.hoffmann@hpe.com>

4 years agoPrefer PXE when no shell service or argc != 2.
Moritz Hoffmann [Wed, 8 Jun 2016 23:46:16 +0000]
Prefer PXE when no shell service or argc != 2.

Signed-off-by: Moritz Hoffmann <moritz.hoffmann@hpe.com>

4 years agoRemove debug prints.
Moritz Hoffmann [Tue, 7 Jun 2016 22:03:08 +0000]
Remove debug prints.

Signed-off-by: Moritz Hoffmann <moritz.hoffmann@hpe.com>

4 years agoSet correct page table attrindex for device regions.
Moritz Hoffmann [Tue, 7 Jun 2016 22:02:50 +0000]
Set correct page table attrindex for device regions.

Signed-off-by: Moritz Hoffmann <moritz.hoffmann@hpe.com>

4 years agoUpdate copyright notices.
Moritz Hoffmann [Fri, 3 Jun 2016 23:44:05 +0000]
Update copyright notices.

Signed-off-by: Moritz Hoffmann <moritz.hoffmann@hpe.com>

4 years agoloader: Use config file name from command line.
Moritz Hoffmann [Fri, 3 Jun 2016 23:36:39 +0000]
loader: Use config file name from command line.

Signed-off-by: Moritz Hoffmann <moritz.hoffmann@hpe.com>

4 years agoHagfish: Implement loading through fs instead of network.
Moritz Hoffmann [Tue, 31 May 2016 22:57:45 +0000]
Hagfish: Implement loading through fs instead of network.

Signed-off-by: Moritz Hoffmann <moritz@dhcp-16-111-6-143.labs.hpecorp.net>
Signed-off-by: Moritz Hoffmann <moritz.hoffmann@hpe.com>

4 years agoRevert "Allocate pages < 4GB to avoid physical addresses > 32b"
Moritz Hoffmann [Tue, 7 Jun 2016 20:32:58 +0000]
Revert "Allocate pages < 4GB to avoid physical addresses > 32b"

This reverts commit 8ec1c28c53aff774a497adeaf8c24530744b4749.

Signed-off-by: Moritz Hoffmann <moritz.hoffmann@hpe.com>

4 years agoRevert "page_tables: construct page tables according to memory regions obtained from...
Moritz Hoffmann [Tue, 7 Jun 2016 20:31:53 +0000]
Revert "page_tables: construct page tables according to memory regions obtained from EFI"

This reverts commit dd16e96cf4d49ae828734a7c68d3b7913c77463c.

Signed-off-by: Moritz Hoffmann <moritz.hoffmann@hpe.com>

4 years agoHagfish: fix multiboot size calculation.
Moritz Hoffmann [Tue, 31 May 2016 18:35:04 +0000]
Hagfish: fix multiboot size calculation.

Signed-off-by: Moritz Hoffmann <moritz.hoffmann@hpe.com>

4 years agomultiboot: Fix wrong type in sizeof calculation.
Moritz Hoffmann [Tue, 24 May 2016 22:39:49 +0000]
multiboot: Fix wrong type in sizeof calculation.

Signed-off-by: Moritz Hoffmann <moritz.hoffmann@hpe.com>

4 years agopage_tables: construct page tables according to memory regions obtained from EFI
Moritz Hoffmann [Tue, 24 May 2016 22:37:34 +0000]
page_tables: construct page tables according to memory regions obtained from EFI

Signed-off-by: Moritz Hoffmann <moritz.hoffmann@hpe.com>

4 years agoAllocate pages < 4GB to avoid physical addresses > 32b
Moritz Hoffmann [Wed, 18 May 2016 00:41:34 +0000]
Allocate pages < 4GB to avoid physical addresses > 32b

Signed-off-by: Moritz Hoffmann <moritz.hoffmann@hpe.com>

4 years agoLibrary/EFL: aarch64-linux-gnu Ubuntu 16.04 toolchain compatibility fix.
Moritz Hoffmann [Thu, 12 May 2016 17:12:28 +0000]
Library/EFL: aarch64-linux-gnu Ubuntu 16.04 toolchain compatibility fix.

Signed-off-by: Moritz Hoffmann <moritz.hoffmann@hpe.com>

4 years agoHagfish::prepare_kernel: Fix ehdr->e_entry and phdr.p_vaddr comparison.
Moritz Hoffmann [Thu, 12 May 2016 17:11:33 +0000]
Hagfish::prepare_kernel: Fix ehdr->e_entry and phdr.p_vaddr comparison.

Signed-off-by: Moritz Hoffmann <moritz.hoffmann@hpe.com>

4 years agoConfig::free_bookkeeping: Do not free cfg as it is being used later on.
Moritz Hoffmann [Thu, 12 May 2016 17:09:38 +0000]
Config::free_bookkeeping: Do not free cfg as it is being used later on.

Signed-off-by: Moritz Hoffmann <moritz.hoffmann@hpe.com>

4 years agoConfig::free_bookkeeping: Fix use-after-free when freeing components.
Moritz Hoffmann [Thu, 12 May 2016 17:09:14 +0000]
Config::free_bookkeeping: Fix use-after-free when freeing components.

Signed-off-by: Moritz Hoffmann <moritz.hoffmann@hpe.com>

5 years agoRestore the top half of Hagfish.c
David Cock [Fri, 18 Sep 2015 09:10:48 +0000]
Restore the top half of Hagfish.c

Signed-off-by: David Cock <david.cock@inf.ethz.ch>

5 years agoBuild instructions, and README
David Cock [Wed, 12 Aug 2015 13:08:32 +0000]
Build instructions, and README

Signed-off-by: David Cock <david.cock@inf.ethz.ch>

5 years agoLicense tags
David Cock [Wed, 12 Aug 2015 12:30:39 +0000]
License tags

Signed-off-by: David Cock <david.cock@inf.ethz.ch>

5 years agoAdded ELF section headers to multiboot structure
David Cock [Fri, 3 Jul 2015 12:38:37 +0000]
Added ELF section headers to multiboot structure

5 years ago.gitignore editor backups
David Cock [Fri, 3 Jul 2015 09:56:48 +0000]
.gitignore editor backups

5 years agoNicer output when loading modules.
David Cock [Fri, 3 Jul 2015 09:56:26 +0000]
Nicer output when loading modules.

5 years agoHagfish now relocates the kernel image
David Cock [Fri, 3 Jul 2015 09:45:30 +0000]
Hagfish now relocates the kernel image

5 years agoLoads CPU driver under new translations
David Cock [Wed, 1 Jul 2015 15:30:34 +0000]
Loads CPU driver under new translations

5 years agoRenamed PageTables.{c,h}, to better reflect contents.
David Cock [Wed, 1 Jul 2015 14:56:32 +0000]
Renamed PageTables.{c,h}, to better reflect contents.

5 years agoHagfish switches to its own kernel page tables
David Cock [Wed, 1 Jul 2015 14:53:02 +0000]
Hagfish switches to its own kernel page tables

5 years agoRefactored to make allocation flow simpler
David Cock [Tue, 30 Jun 2015 13:02:44 +0000]
Refactored to make allocation flow simpler

5 years agoFixed a config parsing bug.
David Cock [Mon, 29 Jun 2015 15:18:28 +0000]
Fixed a config parsing bug.

5 years agoASSERT() works, DebugPrint() used as appropriate.
David Cock [Mon, 29 Jun 2015 15:14:08 +0000]
ASSERT() works, DebugPrint() used as appropriate.

5 years agoBuilds with EDK LibC
David Cock [Mon, 29 Jun 2015 09:13:34 +0000]
Builds with EDK LibC

5 years agoRemoved duplicated headers
David Cock [Fri, 26 Jun 2015 14:46:40 +0000]
Removed duplicated headers

5 years agoFactored more arch-specific stuff out
David Cock [Fri, 26 Jun 2015 14:10:45 +0000]
Factored more arch-specific stuff out

5 years agoSplit memory region code out
David Cock [Fri, 26 Jun 2015 12:04:22 +0000]
Split memory region code out

5 years agoArchitecture-agnostic include paths
David Cock [Thu, 25 Jun 2015 15:07:11 +0000]
Architecture-agnostic include paths

5 years agoFactored allocation and config parsing out
David Cock [Thu, 25 Jun 2015 15:02:36 +0000]
Factored allocation and config parsing out

5 years agoBuild Arch64 kernel page table
David Cock [Thu, 25 Jun 2015 13:51:14 +0000]
Build Arch64 kernel page table

5 years agoLoading with Multiboot2 modified for AArch64
David Cock [Tue, 23 Jun 2015 09:24:03 +0000]
Loading with Multiboot2 modified for AArch64

 * Added 64-bit address module tag to multiboot.h
 * Boots the CPU driver successfully.

5 years agoMultiboot header construction and image loading
David Cock [Tue, 23 Jun 2015 08:25:28 +0000]
Multiboot header construction and image loading

5 years agoElf loading works
David Cock [Fri, 19 Jun 2015 13:49:38 +0000]
Elf loading works

5 years agoGNU/GRUB multiboot 2 header
David Cock [Fri, 19 Jun 2015 09:00:02 +0000]
GNU/GRUB multiboot 2 header

5 years agoUse ELF library in Hagfish app
David Cock [Thu, 18 Jun 2015 13:05:46 +0000]
Use ELF library in Hagfish app

5 years agoAdded libelf from BSD elftoolchain
David Cock [Thu, 18 Jun 2015 09:18:51 +0000]
Added libelf from BSD elftoolchain

5 years agoLoads and runs a raw binary
David Cock [Wed, 17 Jun 2015 11:39:18 +0000]
Loads and runs a raw binary

5 years agoSuccessfuly TFTP-loads an image
David Cock [Wed, 17 Jun 2015 09:29:48 +0000]
Successfuly TFTP-loads an image

5 years agoPackage & module initialised from MdeModulePkg
David Cock [Thu, 11 Jun 2015 13:54:47 +0000]
Package & module initialised from MdeModulePkg