09f4f326f1
Add ARM efi includes and libs.
2019-07-21 15:22:32 +01:00
6e7118f162
Removed docs from repo.
...
They're now in the Sync Wiki tab.
2019-07-21 15:22:02 +01:00
c7115993cb
OVMF for testing.
2019-07-21 01:32:56 +01:00
4b3d84a787
Rework build.sh script.
...
Mostly minor changes, but ¯\_(ツ)_/¯
2019-07-21 01:26:29 +01:00
ee0b7af396
Forgot the includes. Double oops.
2019-07-21 01:10:26 +01:00
be9044e79f
Forgot x86_64 GNU-EFI. Oops.
2019-07-21 01:08:57 +01:00
10e2112faf
Attempt to make a working build system for linux.
2019-07-21 00:27:20 +01:00
a3135a1c56
Visual Studio guff.
2019-07-21 00:26:56 +01:00
c2fc23c327
Minor grammar and bug fixes.
2019-07-21 00:26:09 +01:00
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.
2019-07-20 20:17:07 +01:00
581dd05244
Add new includes for Syncboot rewrite.
2019-07-20 20:15:45 +01:00
83bc1aab50
Shuffle EFI includes around.
...
Gotta keep them on their toes.
2019-07-20 20:15:29 +01:00
919234eddb
Finish migration of working UEFI app.
...
As you can probably tell, this is based on uefi-simple, by pete.akeo.ie.
2019-07-17 21:18:29 +01:00
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.
2019-07-17 21:10:29 +01:00
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.
2019-07-17 15:45:24 +01:00
ab9be9fd4f
Finalize removal of BIOS/GRUB artifacts.
2019-07-17 15:44:29 +01:00
c59a95ebfa
Populate UEFI entry point.
2019-07-17 15:17:01 +01:00
51641284bc
Removal of old LibC project.
...
That'll have its own branch in future.
2019-07-17 15:13:16 +01:00
e5d8c19422
Formatting and rebranding changes.
...
Multiboot.h is no longer needed.
2019-07-17 15:12:48 +01:00
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.
2019-07-17 15:11:52 +01:00
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.
2019-07-17 15:08:47 +01:00
d4e6dd4da8
Merge branch 'master' of http://git.gemwire.uk:3000/gwdev/sync
2019-07-17 02:08:03 +01:00
93729c40b5
Change branding, ProjectRED -> Sync.
...
Additionally, added header comments to all files.
The next few commits will likely be structure and comment-related.
2019-07-17 02:04:04 +01:00
dba3b4163e
Update 'README.md'
...
Brutal honesty is the best kind of honesty.
2019-07-17 01:27:35 +01:00
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.
2019-06-27 19:57:54 +01:00
022884e20d
Fixes and improvements.
...
Including a new, rewritten and restructured boot.s file, plus automagical Protected Mode.
2019-06-25 22:31:26 +01:00
dbce420e56
Cleanup, finalization and end of compiler issues
2019-06-22 19:08:56 +01:00
1ae4339d7a
Minor changes for parity
2019-06-22 18:54:21 +01:00
a1c00187c4
Add flag to tell linker not to add a build ID
2019-06-20 20:08:53 -04:00
b7eb10f77b
bochs weirdness
2019-06-21 00:59:39 +01:00
93f2fb7e44
kernel added briefly for testing
2019-06-21 00:53:42 +01:00
0a552f62d8
Fix stack error when compiling on Common-GCC
2019-06-20 23:39:18 +01:00
81d4d93c12
Fix issues with ASM
2019-06-20 23:32:03 +01:00
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.
2019-05-14 23:57:03 +01:00
64737e06e3
Remove duplicate vga.h
2019-05-14 23:41:09 +01:00
Jenny Curle
31d2e10b69
Implement a GDT, IDT with ISR and IRQ
...
Basically, added error handling, interrupts and basic hardware communication is now possible. Yay.
2019-04-07 23:43:09 +01:00
Jenny Curle
388834ef8a
Implement ISRs and fault handling
2019-04-07 19:25:27 +01:00
Jenny Curle
d845a64a4e
Update all essential code to working state
2019-04-07 16:58:36 +01:00
Jenny Curle
15dc60aa12
Fix GDT subroutine
...
Also made some type changes in serial.h
2019-04-07 16:36:51 +01:00
Jenny Curle
e4fcbb20b4
Implement Serial Console messaging.
...
Intended to be used for debugging, but it's useful.
2019-04-07 15:34:15 +01:00
Jenny Curle
245d09b056
Implemented IDT
...
But something's wrong with the GDT
Next up is a Serial Console
2019-04-07 13:16:53 +01:00
Jenny Curle
7c3dc4cacc
Finish GDT code
2019-04-06 20:25:31 +01:00
Jenny Curle
913c2d2844
Fix merge conflicts
2019-04-06 20:06:19 +01:00
Jenny Curle
a3e0852ec7
Begin support for Global Descriptor Tables
2019-04-06 20:00:11 +01:00
92a1a2fb80
Add .gitignore and remove ignored files
2019-04-03 17:49:38 -04:00
3fe2d7aa33
Format files
2019-04-03 17:46:58 -04:00
bc6f94e353
Finish initial ANSI Escape Sequence support - basic CSI sequences (cursor moving, line erasing) work
2019-04-03 16:44:48 -04:00
Jenny Curle
904cb38128
Add harware reading and writing functions
2019-04-03 09:51:46 +01:00
Jenny Curle
94c1eb2279
Begin ANSI Escape Sequence support
2019-04-02 22:46:37 +01:00
Jenny Curle
96ed9e6785
Update system to minimum working status
2019-04-01 12:46:40 +01:00