72 Commits (master)

Author SHA1 Message Date
Curle a06a298f8f Merge branch 'master' of https://git.gemwire.uk/gwdev/Syncboot 5 years ago
Curle 7601f3d93b Three very minor changes.
The bootloader is now functionally complete.

Some minor bugs may remain, but it now properly loads the Sync kernel on hardware.
5 years ago
Jessica Creighton 1bbcacb90e Add meson build and run scripts 5 years ago
Curle a07c29adf4 Adventures in getting the compilescript to work.
For some reason, git is now the only way for me to update the files.
Annoying, but okay.
5 years ago
Curle 3b3e94a644 Improve buildscript.
Hopefully it should now be able to automagically build the bootloader for Jenkins automation.
5 years ago
Curle 895d4496e2 Merge branch 'master' of https://git.gemwire.uk/gwdev/Syncboot 5 years ago
Curle be1e07d46f Minor changes 5 years ago
Curle 0eb8a5ec94 Add a hang loop for possible future GDB debugging 5 years ago
Curle 568bb11573 Compile scripts added. 5 years ago
Curle 3426e81869 Update 'README.md'
Starting integration with CI.
5 years ago
Curle 440b4998e3 Have no idea what the changes here are. 5 years ago
Curle e10f110a1f Fix some smol issues 5 years ago
Curle 862a6e0c7c Bug fixes and improvements.
Now to fix the kernel!
5 years ago
Curle 1ad2841819 Update README
Removed all Visual Studio stuff, so the line about SLN is inconsistent
5 years ago
Curle f3d06a12fb Remove all VS stuff. 5 years ago
Curle 65d6129103 Minor file updates 5 years ago
Curle 09f4f326f1 Add ARM efi includes and libs. 5 years ago
Curle 6e7118f162 Removed docs from repo.
They're now in the Sync Wiki tab.
5 years ago
Curle c7115993cb OVMF for testing. 5 years ago
Curle 4b3d84a787 Rework build.sh script.
Mostly minor changes, but ¯\_(ツ)_/¯
5 years ago
Curle ee0b7af396 Forgot the includes. Double oops. 5 years ago
Curle be9044e79f Forgot x86_64 GNU-EFI. Oops. 5 years ago
Curle 10e2112faf Attempt to make a working build system for linux. 5 years ago
Curle a3135a1c56 Visual Studio guff. 5 years ago
Curle c2fc23c327 Minor grammar and bug fixes. 5 years ago
Curle cfdb21e905 Source of new Syncbootloader.
Needs commented. Badly.

There will still be some weirdness with linebreaks missing in Print() statements.
Overall, seems to work. It doesn't access QEMU's video buffers, though.
Will work on adding a valid Makefile target for Syncboot soon.
5 years ago
Curle 581dd05244 Add new includes for Syncboot rewrite. 5 years ago
Curle 83bc1aab50 Shuffle EFI includes around.
Gotta keep them on their toes.
5 years ago
Curle 919234eddb Finish migration of working UEFI app.
As you can probably tell, this is based on uefi-simple, by pete.akeo.ie.
5 years ago
Curle d588e232c4 Major overhaul of this branch.
This branch has been dedicated to purely the UEFI bootloader.
As such, all other code has been removed.

This code can be compiled with Visual Studio, gcc or llvm.
5 years ago
Curle 352db828e7 Modify existing Makefile to allow compilation of UEFI app.
Added targets for the main files - BOOTX64.EFI, data.c and entry.c
Also minor formatting changes, but whatever.
5 years ago
Curle ab9be9fd4f Finalize removal of BIOS/GRUB artifacts. 5 years ago
Curle c59a95ebfa Populate UEFI entry point. 5 years ago
Curle 51641284bc Removal of old LibC project.
That'll have its own branch in future.
5 years ago
Curle e5d8c19422 Formatting and rebranding changes.
Multiboot.h is no longer needed.
5 years ago
Curle 4300dc655c Add EFI documentation, libraries and includes.
The lib/inc folders are from the GNU-EFI project.
The documentation is from the uefi.org site.

Yes, I know there are duplicate includes. I have a plan for them.
5 years ago
Curle 8f0de18b37 Begin transition to UEFI.
The current system of separating x86 and x86_64 is no longer
feasible with UEFI implementation. UEFI must have its own entry point.

To this end, some optimisations have been implemented in the ASM files.
Everything related to setup has been removed, leaving only the IDT and GDT utility functions.

The linker may be required for the other files, though.
5 years ago
Curle d4e6dd4da8 Merge branch 'master' of http://git.gemwire.uk:3000/gwdev/sync 5 years ago
Curle 93729c40b5 Change branding, ProjectRED -> Sync.
Additionally, added header comments to all files.
The next few commits will likely be structure and comment-related.
5 years ago
Curle dba3b4163e Update 'README.md'
Brutal honesty is the best kind of honesty.
5 years ago
Curle 4edd4b7cc8 Major refactor. Major improvements.
All ISR/IRQ stuff moved into its own header and source.

Comments added on all major parts.

Some optimisations in important functions.

All ASM removed for ISR and IRQ, instead using new GCC directives.
5 years ago
Curle 022884e20d Fixes and improvements.
Including a new, rewritten and restructured boot.s file, plus automagical Protected Mode.
5 years ago
Curle dbce420e56 Cleanup, finalization and end of compiler issues 5 years ago
Curle 1ae4339d7a Minor changes for parity 5 years ago
Jessica Creighton a1c00187c4 Add flag to tell linker not to add a build ID 5 years ago
Curle b7eb10f77b bochs weirdness 5 years ago
Curle 93f2fb7e44 kernel added briefly for testing 5 years ago
Curle 0a552f62d8 Fix stack error when compiling on Common-GCC 5 years ago
Curle 81d4d93c12 Fix issues with ASM 5 years ago
Curle f5dc9b961b Collate ASM files
All ASM now uses Intel syntax.
isr.s and gdt.s are now collated into the main file.
It's bulky, but ¯\_(ツ)_/¯
UNTESTED, cause i'm thick.
5 years ago