Commit Graph

44 Commits

Author SHA1 Message Date
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
Jenny Curle
da9283ebd1 Fix makefile merge issue 2019-04-01 12:25:38 +01:00
Jenny Curle
b01480d361 Initial update - fixed broken files, dependencies on outside libraries, \nThe system will now compile under 'make all', and no errors are thrown.\nThe system itself hasn't been tested, yet. Here goes... 2019-04-01 12:21:00 +01:00
Jenny Curle
a9d826c317 Hardcode target in makefile 2019-04-01 01:40:42 +00:00
Jenny Curle
26586447f5 Merge branch 'master' of https://gitlab.com/team-kitty/red
Initial merge - README and first files.
2019-04-01 02:30:37 +01:00
Jenny Curle
b7fe138549 First upload. Libc incomplete. 2019-04-01 02:18:48 +01:00
Jenny Curle
d29fea0a3a Initial commit 2019-04-01 00:11:45 +00:00