├── .github └── FUNDING.yml ├── .gitignore ├── .travis.yml ├── BuildConf └── amd64 │ ├── Makefile.cfg │ └── default.mk ├── CODE_OF_CONDUCT.md ├── CODING_CONVENTIONS.md ├── Externals └── CrossCompiler │ ├── Makefile │ └── Patches │ └── binutils │ ├── bfd │ └── config.bfd.patch │ ├── config.sub.patch │ ├── gas │ └── configure.tgt.patch │ └── ld │ ├── Makefile.in.patch │ ├── configure.tgt.patch │ └── emulparams │ └── elf_x86_64_trinix.sh ├── Kernel ├── Core │ └── Runtime.cxx ├── Makefile ├── arch │ └── amd64 │ │ ├── Core │ │ ├── Paging.dx │ │ └── time.dx │ │ ├── boot │ │ ├── boot.s │ │ └── load.s │ │ ├── gdt.d │ │ ├── globals.d │ │ ├── idt.d │ │ ├── kernel.ld │ │ ├── low_level.s │ │ ├── main.d │ │ ├── msr.d │ │ ├── pic.d │ │ ├── pit.d │ │ ├── registers.d │ │ ├── sse.d │ │ ├── syscall_handler.d │ │ └── tss.d ├── common │ ├── address.d │ ├── bitfield.d │ ├── number.d │ ├── package.d │ └── text.d ├── invariant.d ├── io │ ├── ioport.d │ ├── log.d │ └── vga.d ├── kernel_main.d ├── memory │ └── frame_allocator.d ├── object.d ├── process_manager │ ├── process.d │ ├── scheduler.d │ ├── signal.d │ └── thread.d ├── system │ └── syscalls.d └── utils.d ├── LICENCE ├── Makefile ├── Makefile.Version.cfg ├── Makefile.cfg ├── README.md ├── Root └── System │ ├── Boot │ └── grub2 │ │ ├── fonts │ │ └── unicode.pf2 │ │ ├── grub.cfg │ │ ├── grubenv │ │ ├── i386-pc │ │ ├── 915resolution.mod │ │ ├── acpi.mod │ │ ├── adler32.mod │ │ ├── affs.mod │ │ ├── afs.mod │ │ ├── ahci.mod │ │ ├── all_video.mod │ │ ├── aout.mod │ │ ├── archelp.mod │ │ ├── at_keyboard.mod │ │ ├── ata.mod │ │ ├── backtrace.mod │ │ ├── bfs.mod │ │ ├── biosdisk.mod │ │ ├── bitmap.mod │ │ ├── bitmap_scale.mod │ │ ├── blocklist.mod │ │ ├── boot.mod │ │ ├── bsd.mod │ │ ├── btrfs.mod │ │ ├── bufio.mod │ │ ├── cat.mod │ │ ├── cbfs.mod │ │ ├── cbls.mod │ │ ├── cbmemc.mod │ │ ├── cbtable.mod │ │ ├── cbtime.mod │ │ ├── chain.mod │ │ ├── cmdline_cat_test.mod │ │ ├── cmosdump.mod │ │ ├── cmostest.mod │ │ ├── cmp.mod │ │ ├── command.lst │ │ ├── configfile.mod │ │ ├── cpio.mod │ │ ├── cpio_be.mod │ │ ├── cpuid.mod │ │ ├── crc64.mod │ │ ├── crypto.lst │ │ ├── crypto.mod │ │ ├── cryptodisk.mod │ │ ├── cs5536.mod │ │ ├── date.mod │ │ ├── datehook.mod │ │ ├── datetime.mod │ │ ├── disk.mod │ │ ├── diskfilter.mod │ │ ├── div_test.mod │ │ ├── dm_nv.mod │ │ ├── drivemap.mod │ │ ├── echo.mod │ │ ├── efiemu.mod │ │ ├── ehci.mod │ │ ├── elf.mod │ │ ├── eval.mod │ │ ├── exfat.mod │ │ ├── exfctest.mod │ │ ├── ext2.mod │ │ ├── extcmd.mod │ │ ├── fat.mod │ │ ├── file.mod │ │ ├── font.mod │ │ ├── freedos.mod │ │ ├── fs.lst │ │ ├── fshelp.mod │ │ ├── functional_test.mod │ │ ├── gcry_arcfour.mod │ │ ├── gcry_blowfish.mod │ │ ├── gcry_camellia.mod │ │ ├── gcry_cast5.mod │ │ ├── gcry_crc.mod │ │ ├── gcry_des.mod │ │ ├── gcry_dsa.mod │ │ ├── gcry_idea.mod │ │ ├── gcry_md4.mod │ │ ├── gcry_md5.mod │ │ ├── gcry_rfc2268.mod │ │ ├── gcry_rijndael.mod │ │ ├── gcry_rmd160.mod │ │ ├── gcry_rsa.mod │ │ ├── gcry_seed.mod │ │ ├── gcry_serpent.mod │ │ ├── gcry_sha1.mod │ │ ├── gcry_sha256.mod │ │ ├── gcry_sha512.mod │ │ ├── gcry_tiger.mod │ │ ├── gcry_twofish.mod │ │ ├── gcry_whirlpool.mod │ │ ├── gdb.mod │ │ ├── geli.mod │ │ ├── gettext.mod │ │ ├── gfxmenu.mod │ │ ├── gfxterm.mod │ │ ├── gfxterm_background.mod │ │ ├── gfxterm_menu.mod │ │ ├── gptsync.mod │ │ ├── gzio.mod │ │ ├── halt.mod │ │ ├── hashsum.mod │ │ ├── hdparm.mod │ │ ├── hello.mod │ │ ├── help.mod │ │ ├── hexdump.mod │ │ ├── hfs.mod │ │ ├── hfsplus.mod │ │ ├── hfspluscomp.mod │ │ ├── http.mod │ │ ├── hwmatch.mod │ │ ├── iorw.mod │ │ ├── iso9660.mod │ │ ├── jfs.mod │ │ ├── jpeg.mod │ │ ├── keylayouts.mod │ │ ├── keystatus.mod │ │ ├── ldm.mod │ │ ├── legacy_password_test.mod │ │ ├── legacycfg.mod │ │ ├── linux.mod │ │ ├── linux16.mod │ │ ├── loadenv.mod │ │ ├── loopback.mod │ │ ├── ls.mod │ │ ├── lsacpi.mod │ │ ├── lsapm.mod │ │ ├── lsmmap.mod │ │ ├── lspci.mod │ │ ├── luks.mod │ │ ├── lvm.mod │ │ ├── lzopio.mod │ │ ├── macbless.mod │ │ ├── macho.mod │ │ ├── mda_text.mod │ │ ├── mdraid09.mod │ │ ├── mdraid09_be.mod │ │ ├── mdraid1x.mod │ │ ├── memdisk.mod │ │ ├── memrw.mod │ │ ├── minicmd.mod │ │ ├── minix.mod │ │ ├── minix2.mod │ │ ├── minix2_be.mod │ │ ├── minix3.mod │ │ ├── minix3_be.mod │ │ ├── minix_be.mod │ │ ├── mmap.mod │ │ ├── moddep.lst │ │ ├── modinfo.sh │ │ ├── morse.mod │ │ ├── mpi.mod │ │ ├── msdospart.mod │ │ ├── multiboot.mod │ │ ├── multiboot2.mod │ │ ├── nativedisk.mod │ │ ├── net.mod │ │ ├── newc.mod │ │ ├── nilfs2.mod │ │ ├── normal.mod │ │ ├── ntfs.mod │ │ ├── ntfscomp.mod │ │ ├── ntldr.mod │ │ ├── odc.mod │ │ ├── offsetio.mod │ │ ├── ohci.mod │ │ ├── part_acorn.mod │ │ ├── part_amiga.mod │ │ ├── part_apple.mod │ │ ├── part_bsd.mod │ │ ├── part_dfly.mod │ │ ├── part_dvh.mod │ │ ├── part_gpt.mod │ │ ├── part_msdos.mod │ │ ├── part_plan.mod │ │ ├── part_sun.mod │ │ ├── part_sunpc.mod │ │ ├── partmap.lst │ │ ├── parttool.lst │ │ ├── parttool.mod │ │ ├── password.mod │ │ ├── password_pbkdf2.mod │ │ ├── pata.mod │ │ ├── pbkdf2.mod │ │ ├── pbkdf2_test.mod │ │ ├── pci.mod │ │ ├── pcidump.mod │ │ ├── plan9.mod │ │ ├── play.mod │ │ ├── png.mod │ │ ├── priority_queue.mod │ │ ├── probe.mod │ │ ├── procfs.mod │ │ ├── progress.mod │ │ ├── pxe.mod │ │ ├── pxechain.mod │ │ ├── raid5rec.mod │ │ ├── raid6rec.mod │ │ ├── read.mod │ │ ├── reboot.mod │ │ ├── regexp.mod │ │ ├── reiserfs.mod │ │ ├── relocator.mod │ │ ├── romfs.mod │ │ ├── scsi.mod │ │ ├── search.mod │ │ ├── search_fs_file.mod │ │ ├── search_fs_uuid.mod │ │ ├── search_label.mod │ │ ├── sendkey.mod │ │ ├── serial.mod │ │ ├── setjmp.mod │ │ ├── setjmp_test.mod │ │ ├── setpci.mod │ │ ├── sfs.mod │ │ ├── signature_test.mod │ │ ├── sleep.mod │ │ ├── sleep_test.mod │ │ ├── spkmodem.mod │ │ ├── squash4.mod │ │ ├── syslinuxcfg.mod │ │ ├── tar.mod │ │ ├── terminal.lst │ │ ├── terminal.mod │ │ ├── terminfo.mod │ │ ├── test.mod │ │ ├── test_blockarg.mod │ │ ├── testload.mod │ │ ├── testspeed.mod │ │ ├── tftp.mod │ │ ├── tga.mod │ │ ├── time.mod │ │ ├── tr.mod │ │ ├── trig.mod │ │ ├── true.mod │ │ ├── truecrypt.mod │ │ ├── udf.mod │ │ ├── ufs1.mod │ │ ├── ufs1_be.mod │ │ ├── ufs2.mod │ │ ├── uhci.mod │ │ ├── usb.mod │ │ ├── usb_keyboard.mod │ │ ├── usbms.mod │ │ ├── usbserial_common.mod │ │ ├── usbserial_ftdi.mod │ │ ├── usbserial_pl2303.mod │ │ ├── usbserial_usbdebug.mod │ │ ├── usbtest.mod │ │ ├── vbe.mod │ │ ├── verify.mod │ │ ├── vga.mod │ │ ├── vga_text.mod │ │ ├── video.lst │ │ ├── video.mod │ │ ├── video_bochs.mod │ │ ├── video_cirrus.mod │ │ ├── video_colors.mod │ │ ├── video_fb.mod │ │ ├── videoinfo.mod │ │ ├── videotest.mod │ │ ├── videotest_checksum.mod │ │ ├── xfs.mod │ │ ├── xnu.mod │ │ ├── xnu_uuid.mod │ │ ├── xnu_uuid_test.mod │ │ ├── xzio.mod │ │ ├── zfs.mod │ │ ├── zfscrypt.mod │ │ └── zfsinfo.mod │ │ └── locale │ │ ├── en_AU.mo │ │ ├── en_CA.mo │ │ ├── en_GB.mo │ │ ├── es.mo │ │ └── zh_CN.mo │ └── Library │ └── Fonts │ ├── Hiragino-kaku-gothic-pro-w3.otf │ ├── Maya.ttf │ ├── MesloLGSDZ-Bold.ttf │ ├── MesloLGSDZ-BoldItalic.ttf │ ├── MesloLGSDZ-Italic.ttf │ ├── MesloLGSDZ-Regular.ttf │ ├── System-Bold.ttf │ ├── System-Light.ttf │ ├── System-Medium.ttf │ └── System-Regular.ttf ├── Tools └── Garbage │ ├── CPU.d │ ├── File.d │ ├── FileSystem │ ├── DevFS.d │ ├── NullDev.d │ ├── RandomDev.d │ ├── TmpFS.d │ ├── ZeroDev.d │ └── package.d │ ├── LibraryLoader.dx │ ├── Linker │ ├── BinaryLoader.d │ ├── ElfLoader.d │ └── package.d │ ├── Modules │ ├── Display │ │ ├── BochsGA │ │ │ ├── BochsGA.dproj │ │ │ ├── DriverInfo.d │ │ │ ├── Main.d │ │ │ └── Makefile │ │ └── Makefile.tpl │ ├── FileSystem │ │ ├── Ext2 │ │ │ ├── DriverInfo.d │ │ │ ├── Ext2.mdproj │ │ │ ├── Ext2.visualdproj │ │ │ ├── Ext2BlockNode.d │ │ │ ├── Ext2CharNode.d │ │ │ ├── Ext2DirectoryNode.d │ │ │ ├── Ext2FileNode.d │ │ │ ├── Ext2FileSystem.d │ │ │ ├── Ext2PipeNode.d │ │ │ ├── Ext2SocketNode.d │ │ │ ├── Ext2SymLinkNode.d │ │ │ ├── Main.d │ │ │ ├── Makefile │ │ │ └── package.d │ │ └── Makefile.tpl │ ├── Input │ │ ├── Keyboard │ │ │ ├── DriverInfo.d │ │ │ ├── Keyboard.mdproj │ │ │ ├── Keyboard.visualdproj │ │ │ ├── Keysyms.d │ │ │ ├── Main.d │ │ │ ├── Makefile │ │ │ └── package.d │ │ ├── Makefile.tpl │ │ ├── Mouse │ │ │ ├── DriverInfo.d │ │ │ ├── Main.d │ │ │ ├── Makefile │ │ │ ├── Mouse.mdproj │ │ │ ├── Mouse.visualdproj │ │ │ └── package.d │ │ └── PS2KeyboardMouse │ │ │ ├── DriverInfo.d │ │ │ ├── KBC8042.d │ │ │ ├── KeyboardTransTab.d │ │ │ ├── Main.d │ │ │ ├── Makefile │ │ │ ├── PS2Keyboard.d │ │ │ ├── PS2KeyboardMouse.mdproj │ │ │ ├── PS2KeyboardMouse.visualdproj │ │ │ ├── PS2Mouse.d │ │ │ └── package.d │ ├── LinkerScript.ld │ ├── Makefile.tpl │ └── Storage │ │ ├── ATA │ │ ├── ATA.mdproj │ │ ├── ATA.visualdproj │ │ ├── ATAController.d │ │ ├── ATADrive.d │ │ ├── DriverInfo.d │ │ ├── Main.d │ │ └── Makefile │ │ └── Makefile.tpl │ ├── ObjectManager │ ├── DeviceManager.d │ ├── IBlockDevice.d │ ├── ModuleManager.d │ ├── Resource.d │ ├── ResourceManager.d │ └── package.d │ ├── Property.d │ ├── StringBuilder.d │ ├── TaskManager │ ├── EventWaitHandle.d │ ├── Mutex.d │ ├── Process.d │ ├── Process.s │ ├── ReaderWriterLock.d │ ├── Semaphore.d │ ├── SharedMemory.d │ ├── Task.d │ ├── Thread.d │ └── package.d │ ├── Terminal │ ├── Makefile.tpl │ └── VTY │ │ ├── DriverInfo.d │ │ ├── Main.d │ │ └── Makefile │ ├── Termios.d │ ├── VFSManager │ ├── BlockCache.d │ ├── BlockNode.d │ ├── CharNode.d │ ├── DirectoryNode.d │ ├── FSNode.d │ ├── FileAttributes.d │ ├── FileNode.d │ ├── IFileSystem.d │ ├── MemoryNode.d │ ├── Partition.d │ ├── PipeNode.d │ ├── SocketNode.d │ ├── SymLinkNode.d │ ├── VFS.d │ └── package.d │ └── proxy.d ├── Userspace ├── Application │ └── Test │ │ ├── Makefile │ │ └── main.d ├── Binary │ └── NOTHING ├── Bundle │ └── NOTHING ├── FileSystem │ └── Makefile ├── Framework │ └── NOTHING ├── Library │ ├── Makefile │ ├── Makefile.cfg │ └── crt0.o_src │ │ ├── Makefile │ │ ├── crt0.c │ │ ├── crt0S.c │ │ ├── crti.s │ │ └── crtn.s ├── Makefile.cfg └── common_settings.mk └── old ├── Library ├── Array.d ├── BitArray.d ├── Casters.d ├── LinkedList.d ├── List.d ├── SpinLock.d ├── String.d └── package.d ├── Log.d ├── MemoryManager ├── Heap.d ├── IPaging.d ├── PhysicalMemory.d ├── VirtualMemory.d └── package.d ├── Multiboot.d └── package.d /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: rikarin # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] 4 | patreon: # Replace with a single Patreon username 5 | open_collective: # Replace with a single Open Collective username 6 | ko_fi: # Replace with a single Ko-fi username 7 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel 8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 9 | liberapay: # Replace with a single Liberapay username 10 | issuehunt: # Replace with a single IssueHunt username 11 | otechie: # Replace with a single Otechie username 12 | custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] 13 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.o 2 | *.map 3 | *.log 4 | *.userprefs 5 | *.dynlib 6 | *.dsm 7 | *.gz 8 | *.dep 9 | *.kext.* 10 | *.xo.* 11 | *.bz2 12 | *.DS_Store 13 | *.bin 14 | *.img 15 | 16 | /Externals/Output 17 | /Externals/CrossCompiler/binutils-* 18 | /Externals/CrossCompiler/build-* 19 | /KernelLand/Kernel/obj-* -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: false 2 | dist: trusty 3 | 4 | language: d 5 | 6 | d: 7 | - ldc 8 | 9 | before_install: 10 | - sudo apt-get update -qq 11 | - sudo apt-get install -y nasm 12 | 13 | install: 14 | # - wget -O doveralls https://github.com/ColdenCullen/doveralls/releases/download/v1.1.5/doveralls_linux_travis 15 | 16 | script: 17 | - "make" 18 | # - dub test -b unittest-cov 19 | # - ./doveralls 20 | -------------------------------------------------------------------------------- /BuildConf/amd64/Makefile.cfg: -------------------------------------------------------------------------------- 1 | # 2 | # amd64 Configuration 3 | # 4 | 5 | EXTERNAL_TARGET = x86_64-unknown-linux 6 | #PREFIX = $(EXTERNAL_TARGET)- 7 | 8 | AS = $(PREFIX)nasm 9 | DD = $(PREFIX)ldc2 10 | CC = $(PREFIX)clang 11 | LD = $(PREFIX)ld 12 | STRIP = $(PREFIX)strip 13 | 14 | KERNEL_ASFLAGS := -felf64 15 | KERNEL_LDFLAGS := -nodefaultlibs 16 | KERNEL_CFLAGS := -mcmodel=kernel -nostdlib -ffreestanding -mno-red-zone -Wall -O3 \ 17 | -fno-stack-protector 18 | KERNEL_DFLAGS := -debuglib= -defaultlib= -code-model=kernel -disable-red-zone \ 19 | -w -wi -de -O3 -mattr=-sse 20 | 21 | DYNMOD_DFLAGS := -debuglib= -defaultlib= -disable-red-zone -w -wi -de -O3 -mattr=-sse \ 22 | -relocation-model=pic 23 | -------------------------------------------------------------------------------- /BuildConf/amd64/default.mk: -------------------------------------------------------------------------------- 1 | # Libraries .dylib .a .o 2 | LIBRARIES += 3 | 4 | # Binaries 5 | BINARIES += 6 | 7 | # Applications .app (Compositor required) 8 | APPLICATIONS += 9 | 10 | # Frameworks .framework (Compositor required) 11 | FRAMEWORKS += 12 | 13 | # Bundle .bundle (Autonomus system (bin, lib, doc, share, etc) for ported apps like llvm, ldc, etc.) 14 | BUNDLES += -------------------------------------------------------------------------------- /Externals/CrossCompiler/Patches/binutils/bfd/config.bfd.patch: -------------------------------------------------------------------------------- 1 | --- binutils-2.24/bfd/config.bfd 2013-11-04 16:33:37.000000000 +0100 2 | +++ config.bfd 2014-11-15 18:41:37.118358400 +0100 3 | @@ -1640,6 +1640,12 @@ 4 | w65-*-*) 5 | targ_defvec=w65_vec 6 | ;; 7 | + 8 | + x86_64-*-trinix*) 9 | + targ_defvec=bfd_elf64_x86_64_vec 10 | + targ_selvecs=bfd_elf32_i386_vec 11 | + want64=true 12 | + ;; 13 | 14 | xgate-*-*) 15 | targ_defvec=bfd_elf32_xgate_vec 16 | -------------------------------------------------------------------------------- /Externals/CrossCompiler/Patches/binutils/config.sub.patch: -------------------------------------------------------------------------------- 1 | --- binutils-2.24/config.sub 2013-11-26 12:37:33.000000000 +0100 2 | +++ config.sub 2014-11-15 18:33:55.787443800 +0100 3 | @@ -1356,6 +1356,7 @@ 4 | | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ 5 | | -sym* | -kopensolaris* | -plan9* \ 6 | | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ 7 | + | -trinix* \ 8 | | -aos* | -aros* \ 9 | | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ 10 | | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ 11 | -------------------------------------------------------------------------------- /Externals/CrossCompiler/Patches/binutils/gas/configure.tgt.patch: -------------------------------------------------------------------------------- 1 | --- binutils-2.24/gas/configure.tgt 2013-11-04 16:33:37.000000000 +0100 2 | +++ configure.tgt 2014-11-15 18:46:01.546644700 +0100 3 | @@ -200,6 +200,7 @@ 4 | 5 | i370-*-elf* | i370-*-linux*) fmt=elf ;; 6 | 7 | + i386-*-trinix*) fmt=elf ;; 8 | i386-ibm-aix*) fmt=coff em=i386aix ;; 9 | i386-sequent-bsd*) fmt=aout em=dynix ;; 10 | i386-*-beospe*) fmt=coff em=pe ;; 11 | -------------------------------------------------------------------------------- /Externals/CrossCompiler/Patches/binutils/ld/Makefile.in.patch: -------------------------------------------------------------------------------- 1 | --- binutils-2.24/ld/Makefile.in 2013-11-26 12:37:33.000000000 +0100 2 | +++ Makefile.in 2014-11-16 17:37:00.577923777 +0100 3 | @@ -830,6 +830,7 @@ 4 | eelf_k1om.c \ 5 | eelf_k1om_fbsd.c \ 6 | eelf_x86_64.c \ 7 | + eelf_x86_64_trinix.c \ 8 | eelf_x86_64_fbsd.c \ 9 | eelf_x86_64_nacl.c \ 10 | eelf_x86_64_sol2.c \ 11 | @@ -3622,6 +3623,9 @@ 12 | eelf_x86_64.c: $(srcdir)/emulparams/elf_x86_64.sh \ 13 | $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} 14 | ${GENSCRIPTS} elf_x86_64 "$(tdir_elf_x86_64)" 15 | +eelf_x86_64_trinix.c: $(srcdir)/emulparams/elf_x86_64_trinix.sh \ 16 | + $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} 17 | + ${GENSCRIPTS} elf_x86_64_trinix "$(tdir_elf_x86_64_trinix)" 18 | eelf_x86_64_fbsd.c: $(srcdir)/emulparams/elf_x86_64_fbsd.sh \ 19 | $(srcdir)/emulparams/elf_x86_64.sh \ 20 | $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} 21 | -------------------------------------------------------------------------------- /Externals/CrossCompiler/Patches/binutils/ld/configure.tgt.patch: -------------------------------------------------------------------------------- 1 | --- binutils-2.24/ld/configure.tgt 2013-11-26 12:37:33.000000000 +0100 2 | +++ configure.tgt 2014-11-15 18:53:00.046631300 +0100 3 | @@ -732,6 +732,7 @@ 4 | targ_extra_emuls="elf64tilegx elf32tilegx elf32tilegx_be" 5 | targ_extra_libpath=$targ_extra_emuls ;; 6 | tilepro-*-*) targ_emul=elf32tilepro ;; 7 | +x86_64-*-trinix*) targ_emul=elf_x86_64_trinix ;; 8 | v850*-*-*) targ_emul=v850_rh850 9 | targ_extra_emuls=v850 10 | ;; 11 | -------------------------------------------------------------------------------- /Externals/CrossCompiler/Patches/binutils/ld/emulparams/elf_x86_64_trinix.sh: -------------------------------------------------------------------------------- 1 | SCRIPT_NAME=elf 2 | ELFSIZE=64 3 | OUTPUT_FORMAT="elf64-x86-64" 4 | TEXT_START_ADDR=0x400000 5 | MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" 6 | COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)" 7 | ARCH="i386:x86-64" 8 | MACHINE= 9 | TEMPLATE_NAME=elf32 10 | GENERATE_SHLIB_SCRIPT=yes 11 | GENERATE_PIE_SCRIPT=yes 12 | NO_SMALL_DATA=yes 13 | SEPARATE_GOTPLT="SIZEOF (.got.plt) >= 24 ? 24 : 0" 14 | NOP=0x90909090 15 | 16 | ELF_INTERPRETER_NAME=\"/System/Library/Linker.so\" -------------------------------------------------------------------------------- /Kernel/arch/amd64/boot/load.s: -------------------------------------------------------------------------------- 1 | ;;; 2 | ; Copyright (c) Rikarin and contributors. All rights reserved. 3 | ; 4 | ; This source code is licensed under the MIT license found in the 5 | ; LICENSE file in the root directory of this source tree. 6 | ;; 7 | 8 | [bits 64] 9 | 10 | %define INITIAL_KSTACK_SIZE 8 11 | KERNEL_BASE equ 0xFFFFFFFF80000000 12 | 13 | [extern main] 14 | 15 | [extern __multiboot_ptr] 16 | [extern __multiboot_magic] 17 | 18 | [section .text] 19 | [global start64] 20 | start64: 21 | ; Load Registers 22 | mov ax, 0x10 23 | mov ds, ax 24 | mov ss, ax 25 | mov es, ax 26 | mov fs, ax 27 | mov gs, ax 28 | 29 | ; Go to high memory 30 | mov rax, start64.himem 31 | jmp rax 32 | 33 | .himem: 34 | xor rax, rax 35 | mov dr0, rax ; Set CPU0 36 | 37 | ; Set kernel stack 38 | mov rsp, 0xFFFFFFFF80010000 + INITIAL_KSTACK_SIZE * 0x1000 39 | 40 | ; Call main 41 | mov edi, [__multiboot_magic - KERNEL_BASE] 42 | mov esi, [__multiboot_ptr - KERNEL_BASE] 43 | call main 44 | 45 | cli 46 | .hlt: 47 | hlt 48 | jmp .hlt -------------------------------------------------------------------------------- /Kernel/arch/amd64/globals.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | module arch.amd64.globals; 8 | 9 | 10 | abstract final class LinkerScript { 11 | static: 12 | @trusted: nothrow: @nogc: 13 | const(void *) kernelBase() { 14 | return cast(void *)&__linker_kernel_start; 15 | } 16 | 17 | const(void *) kernelEnd() { 18 | return cast(void *)&__linker_kernel_end; 19 | } 20 | } 21 | 22 | private extern(C) extern __gshared { 23 | ubyte __linker_kernel_start; 24 | ubyte __linker_kernel_end; 25 | } -------------------------------------------------------------------------------- /Kernel/arch/amd64/kernel.ld: -------------------------------------------------------------------------------- 1 | ENTRY(lstart) 2 | 3 | 4 | __linker_kernel_start = 0xFFFFFFFF80000000; 5 | lstart = start - __linker_kernel_start; 6 | 7 | 8 | SECTIONS { 9 | . = SIZEOF_HEADERS; 10 | __load_addr = .; 11 | 12 | .multiboot : AT(ADDR(.multiboot)) { 13 | *(.multiboot) 14 | } 15 | 16 | . += 0x100000; 17 | . += __linker_kernel_start; 18 | 19 | .text ALIGN(0x1000) : AT(ADDR(.text) - __linker_kernel_start) { 20 | *(.text .text.*) 21 | } 22 | 23 | .rodata ALIGN(0x1000) : AT(ADDR(.rodata) - __linker_kernel_start) { 24 | *(.initpd) 25 | *(.rodata .rodata.*) 26 | *(.rdata) 27 | } 28 | 29 | .minfo ALIGN(0x1000) : AT(ADDR(.minfo) - __linker_kernel_start) { 30 | *(.minfo) 31 | } 32 | 33 | .deh_eh ALIGN(0x1000) : AT(ADDR(.deh_eh) - __linker_kernel_start) { 34 | *(.deh_eh) 35 | } 36 | 37 | .dtors.d_dso_dtor ALIGN(0x1000) : AT(ADDR(.dtors.d_dso_dtor) - __linker_kernel_start) { 38 | *(.dtors .dtors.*) 39 | *(.dtors.d_dso_dtor) 40 | } 41 | 42 | .ctors.d_dso_ctor ALIGN(0x1000) : AT(ADDR(.ctors.d_dso_ctor) - __linker_kernel_start) { 43 | *(.ctors .ctors.*) 44 | *(.ctors.d_dso_ctor) 45 | } 46 | 47 | .eh_frame ALIGN(0x1000) : AT(ADDR(.eh_frame) - __linker_kernel_start) { 48 | *(.eh_frame) 49 | } 50 | 51 | .data ALIGN(0x1000) : AT(ADDR(.data) - __linker_kernel_start) { 52 | *(.padata) 53 | *(.data .data.*) 54 | } 55 | 56 | .tdata ALIGN(0x1000) : AT(ADDR(.tdata) - __linker_kernel_start) { 57 | *(.tdata .tdata.*) 58 | } 59 | 60 | .got ALIGN(0x1000) : AT(ADDR(.got) - __linker_kernel_start) { 61 | *(.got) 62 | *(.got.plt) 63 | } 64 | 65 | .bss : AT(ADDR(.bss) - __linker_kernel_start) { 66 | __bss_start = .; 67 | *(.COMMON) 68 | *(.bss) 69 | } 70 | 71 | .tbss : AT(ADDR(.tbss) - __linker_kernel_start) { 72 | *(.tbss .tbss.*) 73 | } 74 | 75 | __linker_kernel_end = (. + 0xFFF) & 0xFFFFFFFFFFFFF000; 76 | 77 | /DISCARD/ : { 78 | *(.comment) 79 | *(.note .note.*) 80 | *(.rela.*) 81 | } 82 | } -------------------------------------------------------------------------------- /Kernel/arch/amd64/low_level.s: -------------------------------------------------------------------------------- 1 | [bits 64] 2 | [global __sse_save] 3 | [global __sse_enable] 4 | [global __sse_restore] 5 | [global __sse_disable] 6 | [global __sse_initialize] 7 | 8 | [global __read_rip] 9 | [global __refresh_iretq] 10 | 11 | [global __get_cr0] 12 | [global __get_cr2] 13 | [global __get_cr3] 14 | [global __get_cr4] 15 | 16 | 17 | __sse_initialize: 18 | mov rax, cr4 19 | or ax, (1 << 9)|(1 << 10) 20 | mov cr4, rax 21 | mov rax, cr0 22 | and ax, ~(1 << 2) 23 | or rax, (1 << 1) 24 | mov rax, cr0 25 | ret 26 | 27 | __sse_disable: 28 | mov rax, cr0 29 | or ax, 1 << 3 30 | mov cr0, rax 31 | ret 32 | 33 | __sse_enable: 34 | mov rax, cr0 35 | and ax, ~(1 << 3) 36 | mov cr0, rax 37 | ret 38 | 39 | __sse_save: 40 | fxsave [rdi] 41 | ret 42 | 43 | __sse_restore: 44 | fxrstor [rdi] 45 | ret 46 | 47 | __read_rip: 48 | pop rax 49 | jmp rax 50 | 51 | __refresh_iretq: 52 | mov RAX, 0x10 53 | mov DS, AX 54 | mov ES, AX 55 | mov SS, AX 56 | 57 | mov RDX, RSP 58 | push RAX 59 | push RDX 60 | pushfq 61 | push 0x08 62 | 63 | mov RAX, .r 64 | push RAX 65 | iretq 66 | 67 | .r: 68 | ret 69 | 70 | __get_cr0: 71 | mov RAX, CR1 72 | ret 73 | 74 | __get_cr2: 75 | mov RAX, CR2 76 | ret 77 | 78 | __get_cr3: 79 | mov RAX, CR3 80 | ret 81 | 82 | __get_cr4: 83 | mov RAX, CR4 84 | ret -------------------------------------------------------------------------------- /Kernel/arch/amd64/main.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | module arch.amd64.main; 8 | 9 | import arch.amd64.gdt; 10 | import arch.amd64.idt; 11 | import arch.amd64.pit; 12 | import arch.amd64.syscall_handler; 13 | import kernel_main; 14 | 15 | 16 | extern(C) void main(uint magic, void* info) @safe nothrow { // TODO: nogc? 17 | GDT.init(); 18 | IDT.init(); 19 | PIT.init(); 20 | SyscallHandler.init(); 21 | 22 | kernelMain(); 23 | } 24 | -------------------------------------------------------------------------------- /Kernel/arch/amd64/msr.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | module arch.amd64.msr; 8 | 9 | 10 | abstract final class MSR { 11 | static: 12 | @safe: nothrow: @nogc: 13 | void write(MSRRegister register, ulong value) { 14 | ulong hi, lo; 15 | lo = value & 0xFFFFFFFF; 16 | hi = value >> 32UL; 17 | 18 | asm nothrow @nogc @trusted { 19 | mov RDX, hi; 20 | mov RAX, lo; 21 | mov RCX, register; 22 | wrmsr; 23 | } 24 | } 25 | 26 | ulong read(MSRRegister register) { 27 | uint hi, lo; 28 | 29 | asm nothrow @nogc @trusted { 30 | mov RCX, register; 31 | rdmsr; 32 | mov lo, RAX; 33 | mov hi, RDX; 34 | } 35 | 36 | ulong ret = hi; 37 | ret <<= 32; 38 | ret |= lo; 39 | 40 | return ret; 41 | } 42 | } 43 | 44 | 45 | enum MSRRegister : uint { 46 | ApicBase = 0x1B, 47 | Efer = 0xC0000080, 48 | Star = 0xC0000081, 49 | LStar = 0xC0000082, 50 | CStar = 0xC0000083, 51 | SFMask = 0xC0000084, 52 | FSBase = 0xC0000100, 53 | GSBase = 0xC0000101 54 | } 55 | -------------------------------------------------------------------------------- /Kernel/arch/amd64/pic.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | module arch.amd64.pic; 8 | 9 | import io.ioport; 10 | 11 | 12 | final abstract class PIC { 13 | static: 14 | @safe: nothrow: @nogc: 15 | private enum MasterPort = 0x21; 16 | private enum SlavePort = 0xA1; 17 | 18 | ref bool isEnabled() @trusted { 19 | __gshared bool enabled = true; 20 | return enabled; 21 | } 22 | 23 | void disable() { 24 | outPort!ubyte(MasterPort, 0xFF); 25 | outPort!ubyte(SlavePort, 0xFF); 26 | 27 | isEnabled = false; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /Kernel/arch/amd64/pit.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | module arch.amd64.pit; 8 | 9 | import arch.amd64.idt; 10 | import arch.amd64.registers; 11 | import io.ioport; 12 | 13 | 14 | final abstract class PIT { 15 | static: 16 | @safe: nothrow: @nogc: 17 | private __gshared bool m_enabled; 18 | private __gshared uint m_freqency; 19 | private __gshared size_t m_counter; 20 | 21 | private enum Scale = 1193180; 22 | 23 | private enum Register { 24 | A = 0x40, 25 | B = 0x41, 26 | C = 0x42, 27 | Control = 0x43, 28 | Set = 0x36 29 | } 30 | 31 | void init(uint frequency = 1000) @trusted { 32 | IDT.register(irq(0), &onTick); 33 | 34 | m_freqency = frequency; 35 | uint divisor = Scale / frequency; 36 | 37 | outPort(Register.Control, Register.Set); 38 | outPort(Register.A, divisor & 0xFF); 39 | outPort(Register.A, (divisor >> 8) & 0xFF); 40 | } 41 | 42 | void earlySleep(size_t amount) @trusted { 43 | size_t endAt = m_counter + amount; 44 | 45 | while (m_counter < endAt) { 46 | asm pure nothrow @nogc { 47 | hlt; 48 | } 49 | } 50 | } 51 | 52 | private void onTick(scope Registers* r) @trusted { 53 | m_counter++; 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /Kernel/arch/amd64/registers.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | module arch.amd64.registers; 8 | 9 | 10 | struct Registers { 11 | @safe: nothrow: @nogc: 12 | align(1): 13 | ulong r15, r14, r13, r12, r11, r10, r9, r8; 14 | ulong rbp, rdi, rsi, rdx, rcx, rbx, rax; 15 | ulong intNumber, errorCode; 16 | ulong rip, cs, flags, rsp, ss; 17 | 18 | ulong cr0() { 19 | return __get_cr0(); 20 | } 21 | 22 | ulong cr2() { 23 | return __get_cr2(); 24 | } 25 | 26 | ulong cr3() { 27 | return __get_cr3(); 28 | } 29 | 30 | ulong cr4() { 31 | return __get_cr4(); 32 | } 33 | } 34 | 35 | private extern(C) extern nothrow @trusted @nogc { 36 | ulong __get_cr0(); 37 | ulong __get_cr2(); 38 | ulong __get_cr3(); 39 | ulong __get_cr4(); 40 | } 41 | -------------------------------------------------------------------------------- /Kernel/arch/amd64/sse.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | module arch.amd64.sse; 8 | 9 | 10 | final abstract class SSE { 11 | static: 12 | @safe: nothrow: @nogc: 13 | void init() { 14 | __sse_initialize(); 15 | } 16 | 17 | void enable() { 18 | __sse_enable(); 19 | } 20 | 21 | void disable() { 22 | __sse_disable(); 23 | } 24 | 25 | void save(void* ptr) { 26 | __sse_save(ptr); 27 | } 28 | 29 | void restore(void* ptr) { 30 | __sse_restore(ptr); 31 | } 32 | } 33 | 34 | private extern(C) extern nothrow @trusted @nogc { 35 | void __sse_enable(); 36 | void __sse_disable(); 37 | void __sse_initialize(); 38 | void __sse_save(void* ptr); 39 | void __sse_restore(void* ptr); 40 | } 41 | -------------------------------------------------------------------------------- /Kernel/arch/amd64/tss.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | module arch.amd64.tss; 8 | 9 | import common.address; 10 | import common.bitfield; 11 | 12 | 13 | struct TaskStateSegment { 14 | align(1): 15 | private uint _reserved_0; 16 | VAddr[3] rsp; 17 | private ulong _reserved_1; 18 | VAddr[7] ist; 19 | private ulong _reserved_2; 20 | private ushort _reserved_3; 21 | 22 | ushort ioPermBitMapOffset = ioBitmap.offsetof; 23 | align(4096) ubyte[1 << 16] ioBitmap; 24 | ubyte stopper = 0xFF; 25 | } 26 | 27 | struct TSSDescriptor1 { 28 | @trusted: nothrow: @nogc: 29 | align(1): 30 | ushort limit0 = 0x67; 31 | ushort base0; 32 | ubyte base16; 33 | 34 | private ubyte flags1; 35 | mixin(bitfield!(flags1, "type", 4, "res0", 1, "dpl", 2, "present", 1)); 36 | 37 | private ubyte flags2; 38 | mixin(bitfield!(flags2, "limit16", 4, "available", 1, "res1", 2, "granularity", 1)); 39 | 40 | ubyte base24; 41 | 42 | this(ref TaskStateSegment tss) { 43 | type = 9; 44 | present = 1; 45 | available = 1; 46 | 47 | ulong ptr = cast(ulong)&tss; 48 | base0 = ptr & 0xFFFF; 49 | base16 = (ptr >> 16) & 0xFF; 50 | base24 = (ptr >> 24) & 0xFF; 51 | } 52 | } 53 | 54 | struct TSSDescriptor2 { 55 | @trusted: nothrow: @nogc: 56 | align(1): 57 | uint base32; 58 | private uint _reserved_0; 59 | 60 | this(ref TaskStateSegment tss) { 61 | base32 = cast(ulong)(&tss) >> 0x20; 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /Kernel/common/address.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | module common.address; 8 | 9 | 10 | // TODO: implement this in the future 11 | alias VAddr = ulong; 12 | alias PAddr = ulong; 13 | alias PAddr32 = uint; 14 | -------------------------------------------------------------------------------- /Kernel/common/bitfield.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | module common.bitfield; 8 | 9 | 10 | template bitfield(alias data, args...) { 11 | const char[] bitfield = bitfieldShim!((typeof(data)).stringof, data, args).ret; 12 | } 13 | 14 | template bitfieldShim(const char[] typeStr, alias data, args...) { 15 | const char[] name = data.stringof; 16 | const char[] ret = bitfieldImpl!(typeStr, name, 0, args).ret; 17 | } 18 | 19 | template bitfieldImpl(const char[] typeStr, const char[] nameStr, int offset, args...) { 20 | static if (!args.length) { 21 | const char[] ret = ""; 22 | } else { 23 | const name = args[0]; 24 | const size = args[1]; 25 | const mask = bitmask!size; 26 | 27 | const char[] getter = typeStr ~ " " ~ name ~ "() { return (" ~ nameStr ~ " >> " ~ itoh!(offset) ~ ") & " ~ itoh!(mask) ~ "; }\n"; 28 | 29 | const char[] setter = "void " ~ name ~ "(" ~ typeStr ~ " val) { " ~ nameStr ~ " = (" ~ nameStr ~ " & " ~ itoh!(~(mask << offset)) 30 | ~ ") | ((val & " ~ itoh!(mask) ~ ") << " ~ itoh!(offset) ~ "); }\n"; 31 | 32 | const char[] ret = getter ~ setter ~ bitfieldImpl!(typeStr, nameStr, offset + size, args[2 .. $]).ret; 33 | } 34 | } 35 | 36 | template bitmask(long size) { 37 | const long bitmask = (1UL << size) - 1; 38 | } 39 | 40 | template itoh(long i) { 41 | const char[] itoh = "0x" ~ intToStr!(i, 16); 42 | } 43 | 44 | template digits(long i) { 45 | const char[] digits = "0123456789abcdefghijklmnopqrstuvwxyz"[0 .. i]; 46 | } 47 | 48 | template intToStr(ulong i, int base) { 49 | static if(i >= base) { 50 | const char[] intToStr = intToStr!(i / base, base) ~ digits!base[i % base]; 51 | } else { 52 | const char[] intToStr = "" ~ digits!base[i % base]; 53 | } 54 | } -------------------------------------------------------------------------------- /Kernel/common/number.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | module common.number; 8 | 9 | 10 | T min(T)(T a, T b) { 11 | return a < b ? a : b; 12 | } 13 | 14 | T max(T)(T a, T b) { 15 | return a > b ? a : b; 16 | } 17 | -------------------------------------------------------------------------------- /Kernel/common/package.d: -------------------------------------------------------------------------------- 1 | module common; 2 | 3 | public import common.address; 4 | public import common.bitfield; 5 | public import common.number; -------------------------------------------------------------------------------- /Kernel/common/text.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | module common.text; 8 | 9 | 10 | struct BinaryNumer { 11 | ulong value; 12 | } 13 | 14 | BinaryNumer bin(ulong value) { 15 | return BinaryNumer(value); 16 | } 17 | 18 | struct HexNumer { 19 | ulong value; 20 | } 21 | 22 | HexNumer bin(ulong value) { 23 | return HexNumer(value); 24 | } 25 | -------------------------------------------------------------------------------- /Kernel/invariant.d: -------------------------------------------------------------------------------- 1 | void _d_invariant(Object o) { 2 | } -------------------------------------------------------------------------------- /Kernel/io/ioport.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | module io.ioport; 8 | 9 | 10 | T inPort(T = byte)(ushort port) @trusted nothrow { 11 | T ret; 12 | asm @safe nothrow @nogc { 13 | mov DX, port; 14 | } 15 | 16 | static if (is(T == byte) || is(T == ubyte)) { 17 | asm @safe nothrow @nogc { 18 | in AL, DX; 19 | mov ret, AL; 20 | } 21 | } else static if (is(T == short) || is(T == ushort)) { 22 | asm @safe nothrow @nogc { 23 | in AX, DX; 24 | mov ret, AX; 25 | } 26 | } else static if (is(T == int) || is(T == uint)) { 27 | asm @safe nothrow @nogc { 28 | in EAX, DX; 29 | mov ret, EAX; 30 | } 31 | } 32 | 33 | return ret; 34 | } 35 | 36 | void outPort(T = byte)(ushort port, int data) @trusted nothrow { 37 | asm @safe nothrow @nogc { 38 | mov EAX, data; 39 | mov DX, port; 40 | } 41 | 42 | static if (is(T == byte) || is(T == ubyte)) { 43 | asm @safe nothrow @nogc { 44 | out DX, AL; 45 | } 46 | } else static if (is(T == short) || is(T == ushort)) { 47 | asm @safe nothrow @nogc { 48 | out DX, AX; 49 | } 50 | } else static if (is(T == int) || is(T == uint)) { 51 | asm @safe nothrow @nogc { 52 | out DX, EAX; 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /Kernel/io/log.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | module io.log; 8 | 9 | 10 | final abstract class Log { 11 | @safe: nothrow: 12 | static void init() { 13 | 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Kernel/kernel_main.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | module kernel_main; 8 | 9 | import io.log; 10 | import io.vga; 11 | import memory.frame_allocator; 12 | import process_manager.scheduler; 13 | 14 | 15 | void kernelMain() @safe nothrow { 16 | Log.init(); 17 | VGA.init(); 18 | 19 | //Log.write("Trinix is starting up..."); 20 | //Log("version: %d.%d.%d", 0, 1, cast(int)giBuildNumber); // TODO 21 | 22 | FrameAllocator.init(); 23 | 24 | // multiboot2 mem tables 25 | // preallocate frames for mem tables 26 | // init paging 27 | // init heap 28 | // init tls 29 | // parse multiboot 2 30 | // ACPI 31 | // IOAPIC 32 | // LAPIC and calibration 33 | // multi cpu/thread 34 | Scheduler.init(); 35 | // we are done! Run init.d 36 | 37 | 38 | //Log("multiboot2"); 39 | //Multiboot.ParseHeader(magic, info); 40 | 41 | 42 | 43 | 44 | /** 45 | * TODO: 46 | * o Handle memory block from multiboot2 header 47 | * o Allocate correct size of BitArray 48 | * o Check if memory mapped regions work properly 49 | * + o Make interface for Paging and move Paging.d to the arch-specific folder 50 | */ 51 | //Log("Physical Memory"); 52 | //PhysicalMemory.Initialize(); 53 | 54 | /** 55 | * TOOD: 56 | * - Size(const void * ptr) - will return the size of allocateds memory in heap 57 | * o Implement GC from druntime library 58 | * 59 | */ 60 | //Log("Virtual Memory"); 61 | //VirtualMemory.Initialize(); 62 | } 63 | 64 | /*void RemapPIC() { 65 | Port.Write(0x20, 0x11); 66 | Port.Write(0xA0, 0x11); 67 | Port.Write(0x21, 0x20); 68 | Port.Write(0xA1, 0x28); 69 | Port.Write(0x21, 0x04); 70 | Port.Write(0xA1, 0x02); 71 | Port.Write(0x21, 0x01); 72 | Port.Write(0xA1, 0x01); 73 | Port.Write(0x21, 0x00); 74 | Port.Write(0xA1, 0x00); 75 | }*/ 76 | 77 | extern(C) extern immutable(char)* TrinixVersion; 78 | -------------------------------------------------------------------------------- /Kernel/memory/frame_allocator.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | module memory.frame_allocator; 8 | 9 | 10 | final abstract class FrameAllocator { 11 | @safe: nothrow: 12 | static void init() { 13 | 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Kernel/process_manager/process.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | module process_manager.process; 8 | 9 | 10 | class Process { 11 | 12 | 13 | } 14 | -------------------------------------------------------------------------------- /Kernel/process_manager/scheduler.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | module process_manager.scheduler; 8 | 9 | 10 | final abstract class Scheduler { 11 | @safe: nothrow: 12 | static void init() { 13 | 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Kernel/process_manager/signal.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | module process_manager.signal; 8 | 9 | 10 | enum Signal { 11 | Invalid, 12 | HangUp, 13 | Interrupt, 14 | Quit, 15 | IllegalInstruction, 16 | Trap, 17 | Abort, 18 | EmulationTrap, 19 | ArithmeticException, 20 | Kill, 21 | BusError, 22 | SegmentationFault, 23 | BadSysCall, 24 | BrokenPipe, 25 | Alarm, 26 | Terminated, 27 | User1, 28 | SUser2, 29 | ChildStatus, 30 | PowerFail, 31 | WindowSizeChange, 32 | UrgentSocketCondition, 33 | Poll, 34 | Stop, 35 | Suspend, 36 | // Continue, 37 | // SIGTTIN, /* TTY input has stopped */ 38 | // SIGTTOUT, /* TTY output has stopped */ 39 | // SIGVTALRM, /* Virtual timer has expired */ 40 | // SIGPROF, /* Profiling timer expired */ 41 | // SIGXCPU, /* CPU time limit exceeded */ 42 | // SIGXFSZ /* File size limit exceeded */ 43 | } -------------------------------------------------------------------------------- /Kernel/process_manager/thread.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | module process_manager.thread; 8 | 9 | 10 | class Thread { 11 | 12 | } 13 | -------------------------------------------------------------------------------- /Kernel/system/syscalls.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | module system.syscalls; 8 | 9 | 10 | enum Syscall : ulong { 11 | Nop = 0x000, 12 | 13 | MessageCurrent = 0x100, 14 | MessageSend = 0x101, 15 | MessageError = 0x102, 16 | MessageReceive = 0x103, 17 | MessageReply = 0x104, 18 | MessageRead = 0x105, 19 | MessageWrite = 0x106, 20 | MessageInfo = 0x107, 21 | MessageSendPulse = 0x108, 22 | MessageDeliverEvent = 0x109, 23 | MessageKeyData = 0x110, 24 | MessageReadIO = 0x111, 25 | MessageReceivePulse = 0x112, 26 | MessageVerifyEvent = 0x113, 27 | 28 | SignalEmit = 0x200, 29 | SignalAttach = 0x201, 30 | SignalProcMask = 0x202, 31 | SignalSuspend = 0x203, 32 | SignalWaitInfo = 0x204, 33 | 34 | ChannelCreate = 0x300, 35 | ChannelDestroy = 0x301, 36 | 37 | ConnectAttach = 0x400, 38 | ConnectDetach = 0x401, 39 | ConnectServerInfo = 0x402, 40 | ConnectClientInfo = 0x403, 41 | ConnectFlags = 0x404, 42 | 43 | ThreadCreate = 0x500, 44 | ThreadDestroy = 0x501, 45 | ThreadDestroyAll = 0x502, 46 | ThreadDetach = 0x503, 47 | ThreadJoin = 0x504, 48 | ThreadCancel = 0x505, 49 | ThreadControl = 0x506, 50 | 51 | InterruptAttach = 0x601, 52 | InterruptDetach = 0x602, 53 | InterruptWait = 0x603, 54 | InterruptMask = 0x604, 55 | InterruptUnmask = 0x605, 56 | 57 | ClockTime = 0x700, 58 | ClockAdjust = 0x701, 59 | ClockPeriod = 0x702, 60 | ClockId = 0x703, 61 | 62 | TimerCreate = 0x800, 63 | TimerDestroy = 0x801, 64 | TimerSetTime = 0x802, 65 | TimerInfo = 0x803, 66 | TimerAlarm = 0x804, 67 | TimerTimeout = 0x805, 68 | 69 | SyncCreate = 0x900, 70 | SyncDestroy = 0x901, 71 | SyncMutexLock = 0x902, 72 | SyncMutexUnlock = 0x903, 73 | SyncMutexRevive = 0x904, 74 | SyncCondVarWait = 0x905, 75 | SyncCondVarSignal = 0x906, 76 | SyncSemaphorePost = 0x907, 77 | SyncSemaphoreWait = 0x908, 78 | SyncControl = 0x909, 79 | 80 | SchedulerGet = 0x1000, 81 | SchedulerSet = 0x1001, 82 | SchedulerYield = 0x1002, 83 | SchedulerInfo = 0x1003, 84 | SchedulerControl = 0x1004, 85 | } 86 | -------------------------------------------------------------------------------- /Kernel/utils.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | module utils; 8 | 9 | int memcmp(const(void)* src1, const(void)* src2, size_t size) @trusted @nogc pure nothrow { 10 | const(ubyte)* p1 = cast(const(ubyte)*)src1; 11 | const(ubyte)* p2 = cast(const(ubyte)*)src2; 12 | while (size--) { 13 | if (*p1 < *p2) 14 | return -1; 15 | else if (*p1 > *p2) 16 | return 1; 17 | 18 | p1++; 19 | p2++; 20 | } 21 | return 0; 22 | } 23 | 24 | size_t memcpy(void* dest, const(void)* src, size_t size) @trusted @nogc pure nothrow { 25 | ubyte* d = cast(ubyte*)dest; 26 | const(ubyte)* s = cast(const(ubyte)*)src; 27 | size_t n = size; 28 | while (n--) 29 | *(d++) = *(s++); 30 | 31 | return size; 32 | } 33 | 34 | size_t strlen(const(char)* str) @trusted @nogc pure nothrow { 35 | if (!str) { 36 | return 0; 37 | } 38 | 39 | size_t count; 40 | while (*(str++)) { 41 | count++; 42 | } 43 | 44 | return count; 45 | } 46 | -------------------------------------------------------------------------------- /LICENCE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2013-2017 Rikarin and contributors. All rights reserved. 2 | 3 | Permission is hereby granted, free of charge, to any person 4 | obtaining a copy of this software and associated documentation 5 | files (the "Software"), to deal in the Software without 6 | restriction, including without limitation the rights to use, 7 | copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | copies of the Software, and to permit persons to whom the 9 | Software is furnished to do so, subject to the following 10 | conditions: 11 | 12 | The above copyright notice and this permission notice shall be 13 | included in all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 16 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 17 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 18 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 19 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 20 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 21 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 | OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /Makefile.Version.cfg: -------------------------------------------------------------------------------- 1 | TRAVIS_BUILD_NUMBER ?= 0 2 | SYSTEM_VERSION = 0.1.${TRAVIS_BUILD_NUMBER} 3 | RC_VERSION = 0 4 | 5 | 6 | ifeq ($(BUILD_TYPE),rc) 7 | SYSTEM_VERSION := $(SYSTEM_VERSION)-rc$(RC_VERSION) 8 | endif 9 | 10 | ifeq ($(BUILD_TYPE),release) 11 | SYSTEM_VERSION := $(SYSTEM_VERSION) 12 | endif 13 | -------------------------------------------------------------------------------- /Makefile.cfg: -------------------------------------------------------------------------------- 1 | # 2 | # System Build Configuration 3 | # 4 | # 5 | 6 | SYS_DIR := $(dir $(lastword $(MAKEFILE_LIST))) 7 | SYS_DIR := $(shell cd $(SYS_DIR) && pwd) 8 | 9 | ROOT_DIR := $(SYS_DIR)/Root 10 | COMPILER_DIR := $(SYS_DIR)/Externals/Output 11 | 12 | # Default build programs 13 | PATH := $(COMPILER_DIR)/bin:$(PATH) 14 | RM := rm -rf 15 | MKDIR := mkdir -p 16 | GZIP := tar -czf 17 | 18 | # Setup default compilation options 19 | ifndef $(BUILD_TYPE) 20 | BUILD_TYPE := debug 21 | endif 22 | 23 | ifeq ($(ARCH),) 24 | ARCH := amd64 25 | endif 26 | 27 | ifeq ($(PLATFORM),) 28 | PLATFORM := default 29 | endif 30 | 31 | -include $(SYS_DIR)/Makefile.Version.cfg 32 | -include $(SYS_DIR)/BuildConf/$(ARCH)/Makefile.cfg 33 | -include $(SYS_DIR)/BuildConf/$(ARCH)/$(PLATFORM).mk 34 | -------------------------------------------------------------------------------- /Root/System/Boot/grub2/fonts/unicode.pf2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/fonts/unicode.pf2 -------------------------------------------------------------------------------- /Root/System/Boot/grub2/grub.cfg: -------------------------------------------------------------------------------- 1 | set timeout=0 2 | set default=0 3 | 4 | menuentry "Trinix" { 5 | multiboot2 /System/Trinix.gz root=/System/Devices/hda0 6 | boot 7 | } 8 | 9 | #module2 /System/Modules/Filesystem_Ext2.kext.gz cmdtest2 10 | #module2 /System/Modules/a.gz testicek 11 | #module2 /System/Modules/b.gz test9 -------------------------------------------------------------------------------- /Root/System/Boot/grub2/grubenv: -------------------------------------------------------------------------------- 1 | # GRUB Environment Block 2 | ####################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################### -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/915resolution.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/915resolution.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/acpi.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/acpi.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/adler32.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/adler32.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/affs.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/affs.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/afs.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/afs.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/ahci.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/ahci.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/all_video.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/all_video.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/aout.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/aout.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/archelp.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/archelp.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/at_keyboard.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/at_keyboard.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/ata.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/ata.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/backtrace.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/backtrace.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/bfs.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/bfs.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/biosdisk.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/biosdisk.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/bitmap.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/bitmap.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/bitmap_scale.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/bitmap_scale.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/blocklist.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/blocklist.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/boot.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/boot.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/bsd.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/bsd.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/btrfs.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/btrfs.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/bufio.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/bufio.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/cat.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/cat.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/cbfs.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/cbfs.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/cbls.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/cbls.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/cbmemc.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/cbmemc.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/cbtable.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/cbtable.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/cbtime.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/cbtime.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/chain.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/chain.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/cmdline_cat_test.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/cmdline_cat_test.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/cmosdump.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/cmosdump.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/cmostest.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/cmostest.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/cmp.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/cmp.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/configfile.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/configfile.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/cpio.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/cpio.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/cpio_be.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/cpio_be.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/cpuid.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/cpuid.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/crc64.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/crc64.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/crypto.lst: -------------------------------------------------------------------------------- 1 | RIJNDAEL: gcry_rijndael 2 | RIJNDAEL192: gcry_rijndael 3 | RIJNDAEL256: gcry_rijndael 4 | AES128: gcry_rijndael 5 | AES-128: gcry_rijndael 6 | AES-192: gcry_rijndael 7 | AES-256: gcry_rijndael 8 | ADLER32: adler32 9 | CRC64: crc64 10 | ARCFOUR: gcry_arcfour 11 | BLOWFISH: gcry_blowfish 12 | CAMELLIA128: gcry_camellia 13 | CAMELLIA192: gcry_camellia 14 | CAMELLIA256: gcry_camellia 15 | CAST5: gcry_cast5 16 | CRC32: gcry_crc 17 | CRC32RFC1510: gcry_crc 18 | CRC24RFC2440: gcry_crc 19 | DES: gcry_des 20 | 3DES: gcry_des 21 | DSA: gcry_dsa 22 | IDEA: gcry_idea 23 | MD4: gcry_md4 24 | MD5: gcry_md5 25 | RFC2268_40: gcry_rfc2268 26 | AES: gcry_rijndael 27 | AES192: gcry_rijndael 28 | AES256: gcry_rijndael 29 | RIPEMD160: gcry_rmd160 30 | RSA: gcry_rsa 31 | SEED: gcry_seed 32 | SERPENT128: gcry_serpent 33 | SERPENT192: gcry_serpent 34 | SERPENT256: gcry_serpent 35 | SHA1: gcry_sha1 36 | SHA224: gcry_sha256 37 | SHA256: gcry_sha256 38 | SHA512: gcry_sha512 39 | SHA384: gcry_sha512 40 | TIGER192: gcry_tiger 41 | TIGER: gcry_tiger 42 | TIGER2: gcry_tiger 43 | TWOFISH: gcry_twofish 44 | TWOFISH128: gcry_twofish 45 | WHIRLPOOL: gcry_whirlpool 46 | -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/crypto.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/crypto.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/cryptodisk.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/cryptodisk.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/cs5536.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/cs5536.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/date.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/date.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/datehook.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/datehook.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/datetime.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/datetime.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/disk.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/disk.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/diskfilter.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/diskfilter.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/div_test.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/div_test.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/dm_nv.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/dm_nv.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/drivemap.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/drivemap.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/echo.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/echo.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/efiemu.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/efiemu.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/ehci.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/ehci.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/elf.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/elf.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/eval.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/eval.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/exfat.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/exfat.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/exfctest.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/exfctest.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/ext2.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/ext2.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/extcmd.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/extcmd.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/fat.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/fat.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/file.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/file.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/font.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/font.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/freedos.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/freedos.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/fs.lst: -------------------------------------------------------------------------------- 1 | affs 2 | afs 3 | bfs 4 | btrfs 5 | cbfs 6 | cpio 7 | cpio_be 8 | exfat 9 | ext2 10 | fat 11 | hfs 12 | hfsplus 13 | iso9660 14 | jfs 15 | minix 16 | minix2 17 | minix2_be 18 | minix3 19 | minix3_be 20 | minix_be 21 | newc 22 | nilfs2 23 | ntfs 24 | odc 25 | procfs 26 | reiserfs 27 | romfs 28 | sfs 29 | squash4 30 | tar 31 | udf 32 | ufs1 33 | ufs1_be 34 | ufs2 35 | xfs 36 | zfs 37 | -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/fshelp.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/fshelp.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/functional_test.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/functional_test.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/gcry_arcfour.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/gcry_arcfour.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/gcry_blowfish.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/gcry_blowfish.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/gcry_camellia.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/gcry_camellia.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/gcry_cast5.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/gcry_cast5.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/gcry_crc.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/gcry_crc.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/gcry_des.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/gcry_des.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/gcry_dsa.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/gcry_dsa.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/gcry_idea.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/gcry_idea.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/gcry_md4.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/gcry_md4.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/gcry_md5.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/gcry_md5.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/gcry_rfc2268.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/gcry_rfc2268.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/gcry_rijndael.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/gcry_rijndael.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/gcry_rmd160.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/gcry_rmd160.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/gcry_rsa.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/gcry_rsa.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/gcry_seed.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/gcry_seed.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/gcry_serpent.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/gcry_serpent.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/gcry_sha1.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/gcry_sha1.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/gcry_sha256.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/gcry_sha256.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/gcry_sha512.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/gcry_sha512.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/gcry_tiger.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/gcry_tiger.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/gcry_twofish.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/gcry_twofish.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/gcry_whirlpool.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/gcry_whirlpool.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/gdb.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/gdb.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/geli.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/geli.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/gettext.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/gettext.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/gfxmenu.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/gfxmenu.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/gfxterm.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/gfxterm.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/gfxterm_background.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/gfxterm_background.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/gfxterm_menu.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/gfxterm_menu.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/gptsync.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/gptsync.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/gzio.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/gzio.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/halt.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/halt.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/hashsum.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/hashsum.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/hdparm.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/hdparm.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/hello.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/hello.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/help.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/help.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/hexdump.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/hexdump.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/hfs.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/hfs.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/hfsplus.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/hfsplus.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/hfspluscomp.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/hfspluscomp.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/http.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/http.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/hwmatch.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/hwmatch.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/iorw.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/iorw.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/iso9660.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/iso9660.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/jfs.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/jfs.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/jpeg.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/jpeg.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/keylayouts.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/keylayouts.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/keystatus.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/keystatus.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/ldm.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/ldm.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/legacy_password_test.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/legacy_password_test.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/legacycfg.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/legacycfg.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/linux.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/linux.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/linux16.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/linux16.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/loadenv.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/loadenv.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/loopback.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/loopback.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/ls.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/ls.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/lsacpi.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/lsacpi.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/lsapm.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/lsapm.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/lsmmap.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/lsmmap.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/lspci.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/lspci.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/luks.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/luks.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/lvm.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/lvm.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/lzopio.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/lzopio.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/macbless.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/macbless.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/macho.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/macho.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/mda_text.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/mda_text.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/mdraid09.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/mdraid09.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/mdraid09_be.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/mdraid09_be.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/mdraid1x.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/mdraid1x.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/memdisk.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/memdisk.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/memrw.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/memrw.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/minicmd.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/minicmd.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/minix.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/minix.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/minix2.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/minix2.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/minix2_be.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/minix2_be.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/minix3.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/minix3.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/minix3_be.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/minix3_be.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/minix_be.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/minix_be.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/mmap.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/mmap.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/modinfo.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # User-controllable options 4 | grub_modinfo_target_cpu=i386 5 | grub_modinfo_platform=pc 6 | grub_disk_cache_stats=0 7 | grub_boot_time_stats=0 8 | grub_have_font_source=1 9 | 10 | # Autodetected config 11 | grub_have_asm_uscore=0 12 | grub_i8086_addr32="addr32" 13 | grub_i8086_data32="data32" 14 | grub_bss_start_symbol="__bss_start" 15 | grub_end_symbol="end" 16 | 17 | # Build environment 18 | grub_target_cc='gcc-4.7' 19 | grub_target_cc_version='gcc-4.7 (Ubuntu/Linaro 4.7.3-12ubuntu1) 4.7.3' 20 | grub_target_cflags=' -Os -Wall -W -Wshadow -Wpointer-arith -Wundef -Wchar-subscripts -Wcomment -Wdeprecated-declarations -Wdisabled-optimization -Wdiv-by-zero -Wfloat-equal -Wformat-extra-args -Wformat-security -Wformat-y2k -Wimplicit -Wimplicit-function-declaration -Wimplicit-int -Wmain -Wmissing-braces -Wmissing-format-attribute -Wmultichar -Wparentheses -Wreturn-type -Wsequence-point -Wshadow -Wsign-compare -Wswitch -Wtrigraphs -Wunknown-pragmas -Wunused -Wunused-function -Wunused-label -Wunused-parameter -Wunused-value -Wunused-variable -Wwrite-strings -Wnested-externs -Wstrict-prototypes -g -Wredundant-decls -Wmissing-prototypes -Wmissing-declarations -Wextra -Wattributes -Wendif-labels -Winit-self -Wint-to-pointer-cast -Winvalid-pch -Wmissing-field-initializers -Wnonnull -Woverflow -Wvla -Wpointer-to-int-cast -Wstrict-aliasing -Wvariadic-macros -Wvolatile-register-var -Wpointer-sign -Wmissing-prototypes -Wmissing-declarations -Wformat=2 -march=i386 -m32 -mrtd -mregparm=3 -falign-jumps=1 -falign-loops=1 -falign-functions=1 -freg-struct-return -mno-mmx -mno-sse -mno-sse2 -mno-3dnow -fno-dwarf2-cfi-asm -fno-asynchronous-unwind-tables -Qn -fno-stack-protector -Wtrampolines -Werror' 21 | grub_target_cppflags='-Wno-unused-but-set-variable -Wall -W -I$(top_srcdir)/include -I$(top_builddir)/include -DGRUB_MACHINE_PCBIOS=1 -DGRUB_MACHINE=I386_PC -m32 -nostdinc -isystem /usr/lib/gcc/x86_64-linux-gnu/4.7/include' 22 | grub_target_ccasflags=' -g -m32' 23 | grub_target_ldflags=' -m32 -Wl,-melf_i386 -Wl,--build-id=none' 24 | grub_target_strip='strip' 25 | grub_target_nm='nm' 26 | grub_target_ranlib='ranlib' 27 | grub_target_objconf='' 28 | grub_target_obj2elf='' 29 | 30 | # Version 31 | grub_version="2.02~beta2" 32 | grub_package="grub" 33 | grub_package_string="GRUB 2.02~beta2-9" 34 | grub_package_version="2.02~beta2-9" 35 | grub_package_name="GRUB" 36 | grub_package_bugreport="bug-grub@gnu.org" 37 | -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/morse.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/morse.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/mpi.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/mpi.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/msdospart.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/msdospart.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/multiboot.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/multiboot.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/multiboot2.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/multiboot2.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/nativedisk.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/nativedisk.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/net.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/net.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/newc.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/newc.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/nilfs2.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/nilfs2.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/normal.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/normal.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/ntfs.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/ntfs.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/ntfscomp.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/ntfscomp.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/ntldr.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/ntldr.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/odc.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/odc.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/offsetio.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/offsetio.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/ohci.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/ohci.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/part_acorn.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/part_acorn.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/part_amiga.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/part_amiga.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/part_apple.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/part_apple.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/part_bsd.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/part_bsd.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/part_dfly.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/part_dfly.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/part_dvh.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/part_dvh.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/part_gpt.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/part_gpt.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/part_msdos.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/part_msdos.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/part_plan.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/part_plan.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/part_sun.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/part_sun.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/part_sunpc.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/part_sunpc.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/partmap.lst: -------------------------------------------------------------------------------- 1 | part_acorn 2 | part_amiga 3 | part_apple 4 | part_bsd 5 | part_dfly 6 | part_dvh 7 | part_gpt 8 | part_msdos 9 | part_plan 10 | part_sun 11 | part_sunpc 12 | -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/parttool.lst: -------------------------------------------------------------------------------- 1 | msdos: msdospart 2 | -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/parttool.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/parttool.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/password.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/password.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/password_pbkdf2.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/password_pbkdf2.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/pata.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/pata.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/pbkdf2.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/pbkdf2.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/pbkdf2_test.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/pbkdf2_test.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/pci.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/pci.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/pcidump.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/pcidump.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/plan9.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/plan9.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/play.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/play.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/png.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/png.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/priority_queue.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/priority_queue.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/probe.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/probe.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/procfs.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/procfs.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/progress.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/progress.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/pxe.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/pxe.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/pxechain.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/pxechain.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/raid5rec.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/raid5rec.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/raid6rec.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/raid6rec.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/read.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/read.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/reboot.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/reboot.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/regexp.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/regexp.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/reiserfs.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/reiserfs.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/relocator.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/relocator.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/romfs.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/romfs.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/scsi.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/scsi.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/search.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/search.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/search_fs_file.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/search_fs_file.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/search_fs_uuid.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/search_fs_uuid.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/search_label.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/search_label.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/sendkey.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/sendkey.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/serial.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/serial.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/setjmp.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/setjmp.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/setjmp_test.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/setjmp_test.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/setpci.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/setpci.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/sfs.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/sfs.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/signature_test.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/signature_test.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/sleep.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/sleep.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/sleep_test.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/sleep_test.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/spkmodem.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/spkmodem.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/squash4.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/squash4.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/syslinuxcfg.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/syslinuxcfg.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/tar.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/tar.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/terminal.lst: -------------------------------------------------------------------------------- 1 | iat_keyboard: at_keyboard 2 | iserial: serial 3 | iserial_*: serial 4 | oaudio: morse 5 | ocbmemc: cbmemc 6 | ogfxterm: gfxterm 7 | omda_text: mda_text 8 | oserial: serial 9 | oserial_*: serial 10 | ospkmodem: spkmodem 11 | ovga_text: vga_text 12 | -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/terminal.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/terminal.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/terminfo.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/terminfo.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/test.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/test.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/test_blockarg.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/test_blockarg.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/testload.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/testload.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/testspeed.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/testspeed.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/tftp.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/tftp.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/tga.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/tga.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/time.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/time.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/tr.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/tr.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/trig.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/trig.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/true.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/true.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/truecrypt.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/truecrypt.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/udf.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/udf.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/ufs1.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/ufs1.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/ufs1_be.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/ufs1_be.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/ufs2.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/ufs2.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/uhci.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/uhci.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/usb.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/usb.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/usb_keyboard.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/usb_keyboard.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/usbms.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/usbms.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/usbserial_common.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/usbserial_common.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/usbserial_ftdi.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/usbserial_ftdi.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/usbserial_pl2303.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/usbserial_pl2303.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/usbserial_usbdebug.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/usbserial_usbdebug.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/usbtest.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/usbtest.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/vbe.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/vbe.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/verify.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/verify.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/vga.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/vga.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/vga_text.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/vga_text.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/video.lst: -------------------------------------------------------------------------------- 1 | vbe 2 | vga 3 | video_bochs 4 | video_cirrus 5 | -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/video.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/video.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/video_bochs.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/video_bochs.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/video_cirrus.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/video_cirrus.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/video_colors.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/video_colors.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/video_fb.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/video_fb.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/videoinfo.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/videoinfo.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/videotest.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/videotest.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/videotest_checksum.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/videotest_checksum.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/xfs.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/xfs.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/xnu.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/xnu.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/xnu_uuid.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/xnu_uuid.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/xnu_uuid_test.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/xnu_uuid_test.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/xzio.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/xzio.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/zfs.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/zfs.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/zfscrypt.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/zfscrypt.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/i386-pc/zfsinfo.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/i386-pc/zfsinfo.mod -------------------------------------------------------------------------------- /Root/System/Boot/grub2/locale/en_AU.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/locale/en_AU.mo -------------------------------------------------------------------------------- /Root/System/Boot/grub2/locale/en_CA.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/locale/en_CA.mo -------------------------------------------------------------------------------- /Root/System/Boot/grub2/locale/en_GB.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/locale/en_GB.mo -------------------------------------------------------------------------------- /Root/System/Boot/grub2/locale/es.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/locale/es.mo -------------------------------------------------------------------------------- /Root/System/Boot/grub2/locale/zh_CN.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Boot/grub2/locale/zh_CN.mo -------------------------------------------------------------------------------- /Root/System/Library/Fonts/Hiragino-kaku-gothic-pro-w3.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Library/Fonts/Hiragino-kaku-gothic-pro-w3.otf -------------------------------------------------------------------------------- /Root/System/Library/Fonts/Maya.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Library/Fonts/Maya.ttf -------------------------------------------------------------------------------- /Root/System/Library/Fonts/MesloLGSDZ-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Library/Fonts/MesloLGSDZ-Bold.ttf -------------------------------------------------------------------------------- /Root/System/Library/Fonts/MesloLGSDZ-BoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Library/Fonts/MesloLGSDZ-BoldItalic.ttf -------------------------------------------------------------------------------- /Root/System/Library/Fonts/MesloLGSDZ-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Library/Fonts/MesloLGSDZ-Italic.ttf -------------------------------------------------------------------------------- /Root/System/Library/Fonts/MesloLGSDZ-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Library/Fonts/MesloLGSDZ-Regular.ttf -------------------------------------------------------------------------------- /Root/System/Library/Fonts/System-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Library/Fonts/System-Bold.ttf -------------------------------------------------------------------------------- /Root/System/Library/Fonts/System-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Library/Fonts/System-Light.ttf -------------------------------------------------------------------------------- /Root/System/Library/Fonts/System-Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Library/Fonts/System-Medium.ttf -------------------------------------------------------------------------------- /Root/System/Library/Fonts/System-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Root/System/Library/Fonts/System-Regular.ttf -------------------------------------------------------------------------------- /Tools/Garbage/File.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | module Library.File; 9 | 10 | import VFSManager; 11 | 12 | 13 | class File { 14 | FSNode m_node; 15 | long m_pos; 16 | 17 | this(FSNode node) { 18 | m_node = node; 19 | } 20 | 21 | @property ref long Position() { return m_pos; } 22 | 23 | long Read(byte[] buffer) { 24 | long len = m_node.Read(m_pos, buffer); 25 | m_pos += len; 26 | 27 | return len; 28 | } 29 | 30 | void Write(byte[] buffer) { 31 | long len = m_node.Write(m_pos, buffer); 32 | m_pos += len; 33 | } 34 | } -------------------------------------------------------------------------------- /Tools/Garbage/FileSystem/DevFS.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | module FileSystem.DevFS; 9 | 10 | import VFSManager; 11 | 12 | 13 | final class DevFS : IFileSystem { 14 | private DirectoryNode m_rootNode; 15 | 16 | @property Partition GetPartition() { return null; } 17 | @property bool IsWritable() { return true; } 18 | @property DirectoryNode RootNode() { return m_rootNode; } 19 | 20 | private this() { } 21 | bool Unmount() { return true; } 22 | bool LoadContent(DirectoryNode node) { return true; } 23 | 24 | FSNode Create(DirectoryNode parent, FileAttributes attributes) { 25 | switch (attributes.Type) { 26 | case FileType.Directory: 27 | return new DirectoryNode(parent, attributes); 28 | 29 | default: 30 | return null; 31 | } 32 | } 33 | 34 | bool Remove(FSNode node) { 35 | switch (node.Attributes.Type) { 36 | case FileType.Directory: 37 | if (!(cast(DirectoryNode)node).Childrens.Count) { 38 | delete node; 39 | return true; 40 | } 41 | break; 42 | 43 | default: 44 | delete node; 45 | return true; 46 | } 47 | 48 | return false; 49 | } 50 | 51 | static DevFS Mount(DirectoryNode mountpoint) { 52 | if (mountpoint is null || !mountpoint.IsMountpointable) 53 | return null; 54 | 55 | DevFS ret = new DevFS(); 56 | ret.m_rootNode = new DirectoryNode(null, FileAttributes("/")); 57 | ret.m_rootNode.FileSystem = ret; 58 | 59 | if (!mountpoint.Mount(ret.m_rootNode)) { 60 | delete ret; 61 | return null; 62 | } 63 | 64 | return ret; 65 | } 66 | 67 | bool AddDevice(FSNode dev) { 68 | return false; 69 | } 70 | } -------------------------------------------------------------------------------- /Tools/Garbage/FileSystem/NullDev.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | module FileSystem.NullDev; 9 | 10 | import VFSManager; 11 | 12 | 13 | final class NullDev : CharNode { 14 | this(DirectoryNode parent, string name) { 15 | super(parent, FileAttributes(name)); 16 | } 17 | 18 | override ulong Read(long offset, byte[] data) { 19 | return 0; 20 | } 21 | 22 | override ulong Write(long offset, byte[] data) { 23 | return 0; 24 | } 25 | } -------------------------------------------------------------------------------- /Tools/Garbage/FileSystem/RandomDev.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | module FileSystem.RandomDev; 9 | 10 | import VFSManager; 11 | import Architecture; 12 | 13 | 14 | final class RandomDev : CharNode { 15 | private __gshared ulong m_number; 16 | 17 | this(DirectoryNode parent, string name) { 18 | super(parent, FileAttributes(name)); 19 | 20 | m_attributes.Length = 1024; 21 | } 22 | 23 | override ulong Read(long offset, byte[] data) { 24 | foreach (ref x; data) { 25 | m_number = (Rand1() - Rand2() + Rand3()) * Time.Now; 26 | x = cast(byte)(m_number & 0xFF); 27 | } 28 | 29 | return data.length; 30 | } 31 | 32 | override ulong Write(long offset, byte[] data) { 33 | return 0; 34 | } 35 | 36 | private ulong Rand1() { return (m_number * 125) % 2796203; } 37 | private ulong Rand2() { return (m_number * 32719 + 3) % 32749; } 38 | private ulong Rand3() { return (((m_number * 214013L + 2531011L) >> 16) & 32767); } 39 | } -------------------------------------------------------------------------------- /Tools/Garbage/FileSystem/ZeroDev.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | module FileSystem.ZeroDev; 9 | 10 | import VFSManager; 11 | 12 | 13 | final class ZeroDev : CharNode { 14 | this(DirectoryNode parent, string name) { 15 | super(parent, FileAttributes(name)); 16 | } 17 | 18 | override ulong Read(long offset, byte[] data) { 19 | if (data.length < 1) 20 | return 0; 21 | 22 | data[0] = 1; 23 | return 1; 24 | } 25 | 26 | override ulong Write(long offset, byte[] data) { 27 | return 0; 28 | } 29 | } -------------------------------------------------------------------------------- /Tools/Garbage/FileSystem/package.d: -------------------------------------------------------------------------------- 1 | module FileSystem; 2 | 3 | public import FileSystem.DevFS; 4 | public import FileSystem.TmpFS; 5 | public import FileSystem.NullDev; 6 | public import FileSystem.ZeroDev; 7 | public import FileSystem.RandomDev; -------------------------------------------------------------------------------- /Tools/Garbage/LibraryLoader.dx: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | module Library.LibraryLoader; 9 | 10 | import Library; 11 | 12 | 13 | abstract class LibraryLoader { 14 | private __gshared LinkedList!LibraryLoader _libraries; 15 | 16 | private string _name; 17 | protected void* _base; 18 | 19 | protected bool CheckMagic(); 20 | protected void* Relocate(string[] args); 21 | protected bool GetSymbol(string name, ref void* ret, ref long size); 22 | 23 | protected this(/* atring searchDir, string[] args*/) { 24 | _libraries.Add(this); 25 | } 26 | 27 | protected ~this() { 28 | _libraries.Remove(this); 29 | } 30 | 31 | 32 | 33 | 34 | static LibraryLoader Load(string name, string searchDir, string[] args) { 35 | 36 | //relocate... 37 | //if ok _libra..Add... 38 | return null; 39 | } 40 | 41 | static LibraryLoader Find(string name) { 42 | foreach (x; _libraries) { 43 | if (x.Value._name == name) 44 | return x.Value; 45 | } 46 | 47 | return null; 48 | } 49 | 50 | static bool GetSymbol(string name, ref void* value, ref long size, void* ignoreBase) { 51 | //Local exports... 52 | 53 | foreach(x; _libraries) { 54 | if (x.Value._base == ignoreBase) 55 | continue; 56 | 57 | if (x.Value.GetSymbol(name, value, size)) 58 | return true; 59 | } 60 | 61 | return false; 62 | } 63 | } -------------------------------------------------------------------------------- /Tools/Garbage/Linker/package.d: -------------------------------------------------------------------------------- 1 | module Linker; 2 | 3 | public import Linker.ElfLoader; 4 | public import Linker.BinaryLoader; -------------------------------------------------------------------------------- /Tools/Garbage/Modules/Display/BochsGA/BochsGA.dproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Debug 5 | AnyCPU 6 | {856021B5-4537-44A6-A830-814FE5B39E8C} 7 | . 8 | DMD2 9 | true 10 | true 11 | true 12 | 13 | 14 | true 15 | bin\Debug 16 | true 17 | Executable 18 | BochsGA 19 | false 20 | false 21 | obj\Debug 22 | 0 23 | 24 | 25 | bin\Release 26 | true 27 | Executable 28 | BochsGA 29 | false 30 | false 31 | obj\Release 32 | 0 33 | 34 | 35 | true 36 | bin\Unittest 37 | true 38 | Executable 39 | BochsGA 40 | true 41 | false 42 | obj\Unittest 43 | 0 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /Tools/Garbage/Modules/Display/BochsGA/DriverInfo.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | module Modules.Display.BochsGA.DriverInfo; 9 | 10 | import ObjectManager; 11 | import Modules.Display.BochsGA.Main; 12 | 13 | 14 | extern(C) const ModuleDef _DriverInfo_Display_BochsGA = { 15 | Magic: MODULE_MAGIC, 16 | Type: DeviceType.Video, 17 | Architecture: ModuleArch.x86_64, 18 | Flags: 0x00, 19 | Version: 0x01, 20 | Name: "Bochs Graphic Adapter", 21 | Identifier: "com.modules.Display.BochsGA", 22 | Initialize: &BochsGA.Initialize, 23 | Finalize: &BochsGA.Finalize 24 | }; -------------------------------------------------------------------------------- /Tools/Garbage/Modules/Display/BochsGA/Main.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | module Modules.Display.BochsGA.Main; 9 | 10 | import Core; 11 | import Architecture; 12 | import ObjectManager; 13 | import MemoryManager; 14 | 15 | 16 | class BochsGA { 17 | enum BochsDispi { 18 | IndexID, 19 | IndexXRes, 20 | IndexYRes, 21 | IndexBpp, 22 | IndexEnable, 23 | IndexBank, 24 | IndexVirtWidth, 25 | IndexVirtHeight, 26 | IndexXOffset, 27 | IndexYOffset, 28 | 29 | BankAddress = 0xA0000, 30 | LFBPhysicalAddress = 0xE0000000, 31 | IOPortIndex = 0x01CE, 32 | IOPortData = 0x01CF, 33 | Disabled = 0x00, 34 | Enabled = 0x01, 35 | LFBEnabled = 0x40, 36 | NoClearMemory = 0x80 37 | 38 | } 39 | 40 | static ModuleResult Initialize(string[] args) { 41 | Log("test 42 pica: %x", ReadRegister(BochsDispi.IndexID)); 42 | 43 | VirtualMemory.MapRegion(cast(p_addr)(BochsDispi.LFBPhysicalAddress), 1); 44 | 45 | //mem[0] = 0; 46 | 47 | // Log("len: %x", mem.length); 48 | 49 | 50 | /*foreach (ref x; mem) { 51 | x = 0; 52 | }*/ 53 | 54 | return ModuleResult.Successful; 55 | } 56 | 57 | static ModuleResult Finalize() { 58 | 59 | return ModuleResult.Successful; 60 | } 61 | 62 | 63 | static void WriteRegister(ushort register, ushort value) { 64 | Port.Write!ushort(BochsDispi.IOPortIndex, register); 65 | Port.Write!ushort(BochsDispi.IOPortData, value); 66 | } 67 | 68 | static ushort ReadRegister(ushort register) { 69 | Port.Write!ushort(BochsDispi.IOPortIndex, register); 70 | return Port.Read!ushort(BochsDispi.IOPortData); 71 | } 72 | } -------------------------------------------------------------------------------- /Tools/Garbage/Modules/Display/BochsGA/Makefile: -------------------------------------------------------------------------------- 1 | NAME = BochsGA 2 | OBJ += $(addsuffix .o,$(shell find * -name "*.d")) 3 | 4 | -include ../Makefile.tpl -------------------------------------------------------------------------------- /Tools/Garbage/Modules/Display/Makefile.tpl: -------------------------------------------------------------------------------- 1 | CATEGORY = Display 2 | 3 | -include ../../Makefile.tpl -------------------------------------------------------------------------------- /Tools/Garbage/Modules/FileSystem/Ext2/DriverInfo.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | module Modules.FileSystem.Ext2.DriverInfo; 9 | 10 | import ObjectManager; 11 | import Modules.FileSystem.Ext2; 12 | 13 | 14 | extern(C) const ModuleDef _DriverInfo_FileSystem_Ext2 = { 15 | Magic: MODULE_MAGIC, 16 | Type: DeviceType.FileSystem, 17 | Architecture: ModuleArch.x86_64, 18 | Flags: 0x00, 19 | Version: 0x01, 20 | Name: "Ext2 FileSystem Module", 21 | Identifier: "com.modules.FileSystem.Ext2", 22 | Initialize: &Ext2.Initialize, 23 | Finalize: &Ext2.Finalize 24 | }; -------------------------------------------------------------------------------- /Tools/Garbage/Modules/FileSystem/Ext2/Ext2.mdproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Default 5 | AnyCPU 6 | GenericProject 7 | {C3B6FE2A-E046-477B-9DE5-BFB862FE3298} 8 | 9 | 10 | . 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /Tools/Garbage/Modules/FileSystem/Ext2/Ext2BlockNode.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | module Modules.FileSystem.Ext2.Ext2BlockNode; 9 | 10 | import VFSManager; 11 | import Modules.FileSystem.Ext2; 12 | 13 | 14 | final class Ext2BlockNode : BlockNode { 15 | private DiskNode m_node; 16 | private bool m_loadedAttribs; 17 | 18 | @property override long Blocks() { return -1; } 19 | @property override long BlockSize() { return -1; } 20 | @property auto Node() { return m_node; } 21 | 22 | this(int inode, DirectoryNode parent, FileAttributes attributes) { 23 | m_node = DiskNode(parent, inode); 24 | super(parent, attributes); 25 | } 26 | 27 | @property override FileAttributes Attributes() { 28 | /* if (!m_loadedAttribs && m_parent !is null && m_parent.FileSystem !is null) { 29 | auto attribs = (cast(Ext2FileSystem)m_parent.FileSystem).GetAttributes(Node.Inode); 30 | attribs.Name = m_attributes.Name; 31 | attribs.Type = m_attributes.Type; 32 | 33 | m_attributes = attribs; 34 | m_loadedAttribs = true; 35 | }*/ 36 | 37 | return m_attributes; 38 | } 39 | 40 | @property override void Attributes(FileAttributes value) { 41 | m_attributes = value; 42 | 43 | if (m_parent !is null && m_parent.FileSystem !is null) 44 | (cast(Ext2FileSystem)m_parent.FileSystem).SetAttributes(Node, m_attributes); 45 | } 46 | 47 | override ulong Read(long offset, byte[] data) { 48 | if (m_parent is null || m_parent.FileSystem is null) 49 | return 0; 50 | 51 | return (cast(Ext2FileSystem)m_parent.FileSystem).Read(Node.Node, offset, data); 52 | } 53 | 54 | override ulong Write(long offset, byte[] data) { 55 | if (m_parent is null || m_parent.FileSystem is null) 56 | return 0; 57 | 58 | return (cast(Ext2FileSystem)m_parent.FileSystem).Write(Node.Node, offset, data); 59 | } 60 | } -------------------------------------------------------------------------------- /Tools/Garbage/Modules/FileSystem/Ext2/Ext2CharNode.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | module Modules.FileSystem.Ext2.Ext2CharNode; 9 | 10 | import VFSManager; 11 | import Modules.FileSystem.Ext2; 12 | 13 | 14 | final class Ext2CharNode : CharNode { 15 | private DiskNode m_node; 16 | private bool m_loadedAttribs; 17 | 18 | @property auto Node() { return m_node; } 19 | 20 | this(int inode, DirectoryNode parent, FileAttributes attributes) { 21 | m_node = DiskNode(parent, inode); 22 | super(parent, attributes); 23 | } 24 | 25 | @property override FileAttributes Attributes() { 26 | /* if (!m_loadedAttribs && m_parent !is null && m_parent.FileSystem !is null) { 27 | auto attribs = (cast(Ext2FileSystem)m_parent.FileSystem).GetAttributes(Node.Inode); 28 | attribs.Name = m_attributes.Name; 29 | attribs.Type = m_attributes.Type; 30 | 31 | m_attributes = attribs; 32 | m_loadedAttribs = true; 33 | }*/ 34 | 35 | return m_attributes; 36 | } 37 | 38 | @property override void Attributes(FileAttributes value) { 39 | m_attributes = value; 40 | 41 | if (m_parent !is null && m_parent.FileSystem !is null) 42 | (cast(Ext2FileSystem)m_parent.FileSystem).SetAttributes(Node, m_attributes); 43 | } 44 | 45 | override ulong Read(long offset, byte[] data) { 46 | if (m_parent is null || m_parent.FileSystem is null) 47 | return 0; 48 | 49 | return (cast(Ext2FileSystem)m_parent.FileSystem).Read(Node.Node, offset, data); 50 | } 51 | 52 | override ulong Write(long offset, byte[] data) { 53 | if (m_parent is null || m_parent.FileSystem is null) 54 | return 0; 55 | 56 | return (cast(Ext2FileSystem)m_parent.FileSystem).Write(Node.Node, offset, data); 57 | } 58 | } -------------------------------------------------------------------------------- /Tools/Garbage/Modules/FileSystem/Ext2/Ext2DirectoryNode.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | module Modules.FileSystem.Ext2.Ext2DirectoryNode; 9 | 10 | import VFSManager; 11 | import Modules.FileSystem.Ext2; 12 | 13 | 14 | final class Ext2DirectoryNode : DirectoryNode { 15 | package DiskNode m_node; 16 | private bool m_loadedAttribs; 17 | 18 | @property auto Node() { return m_node; } 19 | 20 | this(int inode, DirectoryNode parent, FileAttributes attributes) { 21 | m_node = DiskNode(parent, inode); 22 | super(parent, attributes); 23 | } 24 | 25 | @property override FileAttributes Attributes() { 26 | /* if (!m_loadedAttribs && FileSystem !is null) { 27 | auto attribs = (cast(Ext2FileSystem)FileSystem).GetAttributes(Node.Inode); 28 | attribs.Name = m_attributes.Name; 29 | attribs.Type = m_attributes.Type; 30 | 31 | m_attributes = attribs; 32 | m_loadedAttribs = true; 33 | }*/ 34 | 35 | return m_attributes; 36 | } 37 | 38 | @property override void Attributes(FileAttributes value) { 39 | m_attributes = value; 40 | 41 | if (m_parent !is null && m_parent.FileSystem !is null) 42 | (cast(Ext2FileSystem)m_parent.FileSystem).SetAttributes(Node, m_attributes); 43 | } 44 | } -------------------------------------------------------------------------------- /Tools/Garbage/Modules/FileSystem/Ext2/Ext2FileNode.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | module Modules.FileSystem.Ext2.Ext2FileNode; 9 | 10 | import VFSManager; 11 | import Modules.FileSystem.Ext2; 12 | 13 | 14 | final class Ext2FileNode : FileNode { 15 | private DiskNode m_node; 16 | private bool m_loadedAttribs; 17 | 18 | @property auto Node() { return m_node; } 19 | 20 | this(int inode, DirectoryNode parent, FileAttributes attributes) { 21 | m_node = DiskNode(parent, inode); 22 | super(parent, attributes); 23 | } 24 | 25 | @property override FileAttributes Attributes() { 26 | /* if (!m_loadedAttribs && m_parent !is null && m_parent.FileSystem !is null) { 27 | auto attribs = (cast(Ext2FileSystem)m_parent.FileSystem).GetAttributes(Node.Inode); 28 | attribs.Name = m_attributes.Name; 29 | attribs.Type = m_attributes.Type; 30 | 31 | m_attributes = attribs; 32 | m_loadedAttribs = true; 33 | }*/ 34 | 35 | return m_attributes; 36 | } 37 | 38 | @property override void Attributes(FileAttributes value) { 39 | m_attributes = value; 40 | 41 | if (m_parent !is null && m_parent.FileSystem !is null) 42 | (cast(Ext2FileSystem)m_parent.FileSystem).SetAttributes(Node, m_attributes); 43 | } 44 | 45 | override ulong Read(long offset, byte[] data) { 46 | if (m_parent is null || m_parent.FileSystem is null) 47 | return 0; 48 | 49 | return (cast(Ext2FileSystem)m_parent.FileSystem).Read(Node.Node, offset, data); 50 | } 51 | 52 | override ulong Write(long offset, byte[] data) { 53 | if (m_parent is null || m_parent.FileSystem is null) 54 | return 0; 55 | 56 | return (cast(Ext2FileSystem)m_parent.FileSystem).Write(Node.Node, offset, data); 57 | } 58 | } -------------------------------------------------------------------------------- /Tools/Garbage/Modules/FileSystem/Ext2/Ext2PipeNode.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | module Modules.FileSystem.Ext2.Ext2PipeNode; 9 | 10 | import VFSManager; 11 | import Modules.FileSystem.Ext2; 12 | 13 | 14 | final class Ext2PipeNode : PipeNode { 15 | private DiskNode m_node; 16 | private bool m_loadedAttribs; 17 | 18 | @property auto Node() { return m_node; } 19 | 20 | this(int inode, DirectoryNode parent, FileAttributes attributes) { 21 | m_node = DiskNode(parent, inode); 22 | super(parent, attributes); 23 | } 24 | 25 | @property override FileAttributes Attributes() { 26 | /* if (!m_loadedAttribs && m_parent !is null && m_parent.FileSystem !is null) { 27 | auto attribs = (cast(Ext2FileSystem)m_parent.FileSystem).GetAttributes(Node.Inode); 28 | attribs.Name = m_attributes.Name; 29 | attribs.Type = m_attributes.Type; 30 | 31 | m_attributes = attribs; 32 | m_loadedAttribs = true; 33 | }*/ 34 | 35 | return m_attributes; 36 | } 37 | 38 | @property override void Attributes(FileAttributes value) { 39 | m_attributes = value; 40 | 41 | if (m_parent !is null && m_parent.FileSystem !is null) 42 | (cast(Ext2FileSystem)m_parent.FileSystem).SetAttributes(Node, m_attributes); 43 | } 44 | 45 | override ulong Read(long offset, byte[] data) { 46 | if (m_parent is null || m_parent.FileSystem is null) 47 | return 0; 48 | 49 | return (cast(Ext2FileSystem)m_parent.FileSystem).Read(Node.Node, offset, data); 50 | } 51 | 52 | override ulong Write(long offset, byte[] data) { 53 | if (m_parent is null || m_parent.FileSystem is null) 54 | return 0; 55 | 56 | return (cast(Ext2FileSystem)m_parent.FileSystem).Write(Node.Node, offset, data); 57 | } 58 | } -------------------------------------------------------------------------------- /Tools/Garbage/Modules/FileSystem/Ext2/Ext2SocketNode.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | module Modules.FileSystem.Ext2.Ext2SocketNode; 9 | 10 | import VFSManager; 11 | import Modules.FileSystem.Ext2; 12 | 13 | 14 | final class Ext2SocketNode : SocketNode { 15 | private DiskNode m_node; 16 | private bool m_loadedAttribs; 17 | 18 | @property auto Node() { return m_node; } 19 | 20 | this(int inode, DirectoryNode parent, FileAttributes attributes) { 21 | m_node = DiskNode(parent, inode); 22 | super(parent, attributes); 23 | } 24 | 25 | @property override FileAttributes Attributes() { 26 | /* if (!m_loadedAttribs && m_parent !is null && m_parent.FileSystem !is null) { 27 | auto attribs = (cast(Ext2FileSystem)m_parent.FileSystem).GetAttributes(Node.Inode); 28 | attribs.Name = m_attributes.Name; 29 | attribs.Type = m_attributes.Type; 30 | 31 | m_attributes = attribs; 32 | m_loadedAttribs = true; 33 | }*/ 34 | 35 | return m_attributes; 36 | } 37 | 38 | @property override void Attributes(FileAttributes value) { 39 | m_attributes = value; 40 | 41 | if (m_parent !is null && m_parent.FileSystem !is null) 42 | (cast(Ext2FileSystem)m_parent.FileSystem).SetAttributes(Node, m_attributes); 43 | } 44 | 45 | override ulong Read(long offset, byte[] data) { 46 | if (m_parent is null || m_parent.FileSystem is null) 47 | return 0; 48 | 49 | return (cast(Ext2FileSystem)m_parent.FileSystem).Read(Node.Node, offset, data); 50 | } 51 | 52 | override ulong Write(long offset, byte[] data) { 53 | if (m_parent is null || m_parent.FileSystem is null) 54 | return 0; 55 | 56 | return (cast(Ext2FileSystem)m_parent.FileSystem).Write(Node.Node, offset, data); 57 | } 58 | } -------------------------------------------------------------------------------- /Tools/Garbage/Modules/FileSystem/Ext2/Ext2SymLinkNode.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | module Modules.FileSystem.Ext2.Ext2SymLinkNode; 9 | 10 | import VFSManager; 11 | import Modules.FileSystem.Ext2; 12 | 13 | 14 | final class Ext2SymLinkNode : SymLinkNode { 15 | private DiskNode m_node; 16 | private bool m_loadedAttribs; 17 | 18 | @property auto Node() { return m_node; } 19 | 20 | this(int inode, DirectoryNode parent, FileAttributes attributes) { 21 | m_node = DiskNode(parent, inode); 22 | super(parent, attributes); 23 | } 24 | 25 | @property override FileAttributes Attributes() { 26 | /* if (!m_loadedAttribs && m_parent !is null && m_parent.FileSystem !is null) { 27 | auto attribs = (cast(Ext2FileSystem)m_parent.FileSystem).GetAttributes(Node.Inode); 28 | attribs.Name = m_attributes.Name; 29 | attribs.Type = m_attributes.Type; 30 | 31 | m_attributes = attribs; 32 | m_loadedAttribs = true; 33 | }*/ 34 | 35 | return m_attributes; 36 | } 37 | 38 | @property override void Attributes(FileAttributes value) { 39 | m_attributes = value; 40 | 41 | if (m_parent !is null && m_parent.FileSystem !is null) 42 | (cast(Ext2FileSystem)m_parent.FileSystem).SetAttributes(Node, m_attributes); 43 | } 44 | 45 | override ulong Read(long offset, byte[] data) { 46 | if (m_parent is null || m_parent.FileSystem is null) 47 | return 0; 48 | 49 | return (cast(Ext2FileSystem)m_parent.FileSystem).Read(Node.Node, offset, data); 50 | } 51 | 52 | override ulong Write(long offset, byte[] data) { 53 | if (m_parent is null || m_parent.FileSystem is null) 54 | return 0; 55 | 56 | return (cast(Ext2FileSystem)m_parent.FileSystem).Write(Node.Node, offset, data); 57 | } 58 | } -------------------------------------------------------------------------------- /Tools/Garbage/Modules/FileSystem/Ext2/Main.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | module Modules.FileSystem.Ext2.Main; 9 | 10 | import Core; 11 | import VFSManager; 12 | import ObjectManager; 13 | import Modules.FileSystem.Ext2; 14 | 15 | 16 | class Ext2 { 17 | private static const FSDriver info = { 18 | Name: "ext2", 19 | Detect: &Ext2FileSystem.Detect, 20 | Mount: &Ext2FileSystem.Mount, 21 | Create: &Ext2FileSystem.Create 22 | }; 23 | 24 | static ModuleResult Initialize(string[] args) { 25 | VFS.AddDriver(info); 26 | 27 | return ModuleResult.Successful; 28 | } 29 | 30 | static ModuleResult Finalize() { 31 | VFS.RemoveDriver("ext2"); 32 | 33 | return ModuleResult.Successful; 34 | } 35 | } -------------------------------------------------------------------------------- /Tools/Garbage/Modules/FileSystem/Ext2/Makefile: -------------------------------------------------------------------------------- 1 | NAME = Ext2 2 | OBJ += $(addsuffix .o,$(shell find * -name "*.d")) 3 | 4 | -include ../Makefile.tpl -------------------------------------------------------------------------------- /Tools/Garbage/Modules/FileSystem/Ext2/package.d: -------------------------------------------------------------------------------- 1 | module Modules.FileSystem.Ext2; 2 | 3 | public import Modules.FileSystem.Ext2.Main; 4 | public import Modules.FileSystem.Ext2.DriverInfo; 5 | public import Modules.FileSystem.Ext2.Ext2PipeNode; 6 | public import Modules.FileSystem.Ext2.Ext2FileNode; 7 | public import Modules.FileSystem.Ext2.Ext2CharNode; 8 | public import Modules.FileSystem.Ext2.Ext2BlockNode; 9 | public import Modules.FileSystem.Ext2.Ext2SocketNode; 10 | public import Modules.FileSystem.Ext2.Ext2FileSystem; 11 | public import Modules.FileSystem.Ext2.Ext2SymLinkNode; 12 | public import Modules.FileSystem.Ext2.Ext2DirectoryNode; -------------------------------------------------------------------------------- /Tools/Garbage/Modules/FileSystem/Makefile.tpl: -------------------------------------------------------------------------------- 1 | CATEGORY = FileSystem 2 | 3 | -include ../../Makefile.tpl -------------------------------------------------------------------------------- /Tools/Garbage/Modules/Input/Keyboard/DriverInfo.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | module Modules.Input.Keyboard.DriverInfo; 9 | 10 | import ObjectManager; 11 | import Modules.Input.Keyboard; 12 | 13 | 14 | extern(C) const ModuleDef _DriverInfo_Input_Keyboard = { 15 | Magic: MODULE_MAGIC, 16 | Type: DeviceType.Input, 17 | Architecture: ModuleArch.x86_64, 18 | Flags: 0x00, 19 | Version: 0x01, 20 | Name: "Keyboard Input Module", 21 | Identifier: "com.modules.Input.Keyboard" 22 | }; -------------------------------------------------------------------------------- /Tools/Garbage/Modules/Input/Keyboard/Keyboard.mdproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Default 5 | AnyCPU 6 | GenericProject 7 | {7DF2A99B-0DD7-4D6D-9EBB-14FA67DC4716} 8 | 9 | 10 | . 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /Tools/Garbage/Modules/Input/Keyboard/Main.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | module Modules.Input.Keyboard.Main; 9 | 10 | import Core; 11 | import Diagnostics; 12 | import ObjectManager; 13 | 14 | import Modules.Input.Keyboard; 15 | 16 | 17 | class Keyboard : Resource { 18 | this(string identifier, long ver, int maxSym) { 19 | static const CallTable[] callTable = [ 20 | 21 | ]; 22 | 23 | super(DeviceType.Input, identifier, ver, callTable); 24 | Debugger.Log(LogLevel.Info, "Keyboard", "%s (version: %d) was registered", identifier, ver); 25 | } 26 | 27 | void HandleEvent(int hidCode) { 28 | Log("Hit %d", hidCode); 29 | } 30 | } -------------------------------------------------------------------------------- /Tools/Garbage/Modules/Input/Keyboard/Makefile: -------------------------------------------------------------------------------- 1 | NAME = Keyboard 2 | OBJ += $(addsuffix .o,$(shell find * -name "*.d")) 3 | 4 | -include ../Makefile.tpl -------------------------------------------------------------------------------- /Tools/Garbage/Modules/Input/Keyboard/package.d: -------------------------------------------------------------------------------- 1 | module Modules.Input.Keyboard; 2 | 3 | public import Modules.Input.Keyboard.Main; 4 | public import Modules.Input.Keyboard.Keysyms; 5 | public import Modules.Input.Keyboard.DriverInfo; -------------------------------------------------------------------------------- /Tools/Garbage/Modules/Input/Makefile.tpl: -------------------------------------------------------------------------------- 1 | CATEGORY = Input 2 | 3 | -include ../../Makefile.tpl -------------------------------------------------------------------------------- /Tools/Garbage/Modules/Input/Mouse/DriverInfo.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | module Modules.Input.Mouse.DriverInfo; 9 | 10 | import ObjectManager; 11 | import Modules.Input.Mouse.Main; 12 | 13 | 14 | extern(C) const ModuleDef _DriverInfo_Input_Mouse = { 15 | Magic: MODULE_MAGIC, 16 | Type: DeviceType.Input, 17 | Architecture: ModuleArch.x86_64, 18 | Flags: 0x00, 19 | Version: 0x01, 20 | Name: "Mouse Input Module", 21 | Identifier: "com.modules.Input.Mouse" 22 | }; -------------------------------------------------------------------------------- /Tools/Garbage/Modules/Input/Mouse/Main.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | module Modules.Input.Mouse.Main; 9 | 10 | import ObjectManager; 11 | 12 | import Modules.Input.Mouse; 13 | 14 | 15 | static class Mouse : Resource { 16 | this(string identifier, int ver, int numButtons, int numAxis) { 17 | static const CallTable[] callTable = [ 18 | 19 | ]; 20 | 21 | super(DeviceType.Input, identifier, ver, callTable); 22 | } 23 | 24 | static void HandleEvent(int buttonState, int[] axisDeltas) { 25 | import Core; 26 | Log("mouse moved! buttons = %d, x = %d, y = %d", buttonState, axisDeltas[0], axisDeltas[1]); 27 | } 28 | } -------------------------------------------------------------------------------- /Tools/Garbage/Modules/Input/Mouse/Makefile: -------------------------------------------------------------------------------- 1 | NAME = Mouse 2 | OBJ += $(addsuffix .o,$(shell find * -name "*.d")) 3 | 4 | -include ../Makefile.tpl -------------------------------------------------------------------------------- /Tools/Garbage/Modules/Input/Mouse/Mouse.mdproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Default 5 | AnyCPU 6 | GenericProject 7 | {E3BCBACF-E623-4E61-96F6-C3B0306B5373} 8 | 9 | 10 | . 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /Tools/Garbage/Modules/Input/Mouse/package.d: -------------------------------------------------------------------------------- 1 | module Modules.Input.Mouse; 2 | 3 | public import Modules.Input.Mouse.Main; 4 | public import Modules.Input.Mouse.DriverInfo; -------------------------------------------------------------------------------- /Tools/Garbage/Modules/Input/PS2KeyboardMouse/DriverInfo.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | module Modules.Input.PS2KeyboardMouse.DriverInfo; 9 | 10 | import ObjectManager; 11 | import Modules.Input.PS2KeyboardMouse.Main; 12 | import Modules.Input.PS2KeyboardMouse.PS2Mouse; 13 | import Modules.Input.PS2KeyboardMouse.PS2Keyboard; 14 | 15 | 16 | extern(C) const ModuleDef _DriverInfo_Input_PS2KeyboardMouse = { 17 | Magic: MODULE_MAGIC, 18 | Type: DeviceType.Input, 19 | Architecture: ModuleArch.x86_64, 20 | Flags: 0x00, 21 | Version: 0x01, 22 | Name: "PS2 Input Module", 23 | Identifier: "com.modules.Input.PS2KeyboardMouse", 24 | Initialize: &PS2KeyboardMouse.Initialize 25 | }; 26 | 27 | extern(C) const ModuleDef _DriverInfo_Input_PS2Keyboard = { 28 | Magic: MODULE_MAGIC, 29 | Type: DeviceType.Input, 30 | Architecture: ModuleArch.x86_64, 31 | Flags: 0x00, 32 | Version: 0x01, 33 | Name: "PS2 Keyboard Input Module", 34 | Identifier: "com.modules.Input.PS2Keyboard", 35 | Initialize: &PS2Keyboard.Initialize, 36 | Finalize: &PS2Keyboard.Finalize, 37 | Dependencies: [ 38 | {"com.modules.Input.PS2KeyboardMouse", []}, 39 | {"com.modules.Input.Keyboard", []} 40 | ] 41 | }; 42 | 43 | extern(C) const ModuleDef _DriverInfo_Input_PS2Mouse = { 44 | Magic: MODULE_MAGIC, 45 | Type: DeviceType.Input, 46 | Architecture: ModuleArch.x86_64, 47 | Flags: 0x00, 48 | Version: 0x01, 49 | Name: "PS2 Mouse Input Module", 50 | Identifier: "com.modules.Input.PS2Mouse", 51 | Initialize: &PS2Mouse.Initialize, 52 | Finalize: &PS2Mouse.Finalize, 53 | Dependencies: [ 54 | {"com.modules.Input.PS2KeyboardMouse", []}, 55 | {"com.modules.Input.Mouse", []} 56 | ] 57 | }; -------------------------------------------------------------------------------- /Tools/Garbage/Modules/Input/PS2KeyboardMouse/KBC8042.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | module Modules.Input.PS2KeyboardMouse.KBC8042; 9 | 10 | import Architecture; 11 | import ObjectManager; 12 | import Modules.Input.PS2KeyboardMouse.PS2Mouse; 13 | import Modules.Input.PS2KeyboardMouse.PS2Keyboard; 14 | 15 | 16 | static abstract class KBC8042 { 17 | package static void Initialize() { 18 | DeviceManager.RequestIRQ(&KeyboardHandler, 1); 19 | DeviceManager.RequestIRQ(&MouseHandler, 12); 20 | 21 | byte tmp = Port.Read(0x61); 22 | Port.Write(0x61, tmp | 0x80); 23 | Port.Write(0x61, tmp & 0x7F); 24 | Port.Read(0x60); 25 | } 26 | 27 | package static void SetLED(byte state) { 28 | while (Port.Read(0x64) & 2) { } 29 | Port.Write(0x60, 0xED); 30 | 31 | while (Port.Read(0x64) & 2) { } 32 | Port.Write(0x60, state); 33 | } 34 | 35 | package static void EnableMouse() { 36 | SendDataAlt(cast(byte)0xA8); 37 | 38 | SendDataAlt(0x20); 39 | byte status = ReadData(); 40 | status &= ~0x20; 41 | status |= 0x02; 42 | SendDataAlt(0x60); 43 | SendData(status); 44 | 45 | /* Enable packets */ 46 | SendMouseCommand(cast(byte)0xF4); 47 | } 48 | 49 | private static void SendDataAlt(byte data) { 50 | int timeout = 100000; 51 | while (timeout-- && Port.Read(0x64) & 2) { } 52 | Port.Write(0x64, data); 53 | } 54 | 55 | private static void SendData(byte data) { 56 | int timeout = 100000; 57 | while (timeout-- && Port.Read(0x64) & 2) { } 58 | Port.Write(0x60, data); 59 | } 60 | 61 | private static byte ReadData() { 62 | int timeout = 100000; 63 | while (timeout-- && !(Port.Read(0x64) & 1)) { } 64 | return Port.Read(0x60); 65 | } 66 | 67 | private static void SendMouseCommand(byte cmd) { 68 | SendDataAlt(cast(byte)0xD4); 69 | SendData(cmd); 70 | } 71 | 72 | private static void KeyboardHandler(ref InterruptStack stack) { 73 | PS2Keyboard.Handler(Port.Read(0x60)); 74 | } 75 | 76 | private static void MouseHandler(ref InterruptStack stack) { 77 | PS2Mouse.Handler(Port.Read(0x60)); 78 | } 79 | } -------------------------------------------------------------------------------- /Tools/Garbage/Modules/Input/PS2KeyboardMouse/Main.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | module Modules.Input.PS2KeyboardMouse.Main; 9 | 10 | import ObjectManager; 11 | import Modules.Input.PS2KeyboardMouse.KBC8042; 12 | import Modules.Input.PS2KeyboardMouse.PS2Mouse; 13 | 14 | 15 | static abstract class PS2KeyboardMouse { 16 | static ModuleResult Initialize(string[] args) { 17 | KBC8042.Initialize(); 18 | PS2Mouse.EnableMouse = &KBC8042.EnableMouse; 19 | 20 | return ModuleResult.Successful; 21 | } 22 | } -------------------------------------------------------------------------------- /Tools/Garbage/Modules/Input/PS2KeyboardMouse/Makefile: -------------------------------------------------------------------------------- 1 | NAME = PS2KeyboardMouse 2 | OBJ += $(addsuffix .o,$(shell find * -name "*.d")) 3 | 4 | -include ../Makefile.tpl -------------------------------------------------------------------------------- /Tools/Garbage/Modules/Input/PS2KeyboardMouse/PS2Keyboard.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | module Modules.Input.PS2KeyboardMouse.PS2Keyboard; 9 | 10 | import Diagnostics; 11 | import ObjectManager; 12 | 13 | import Modules.Input.Keyboard; 14 | import Modules.Input.PS2KeyboardMouse; 15 | 16 | 17 | static class PS2Keyboard { 18 | private __gshared bool m_up; 19 | private __gshared int m_layer; 20 | private __gshared Keyboard m_kb; 21 | 22 | static ModuleResult Initialize(string[] args) { 23 | m_kb = new Keyboard("PS2Keyboard", _DriverInfo_Input_PS2Keyboard.Version, Keysyms.KEYSYM_RIGHTGUI); 24 | 25 | return ModuleResult.Successful; 26 | } 27 | 28 | static ModuleResult Finalize() { 29 | delete m_kb; 30 | 31 | return ModuleResult.Successful; 32 | } 33 | 34 | package static void Handler(byte code) { 35 | if (code == 0xFA) 36 | return; 37 | 38 | if (code == 0xE0) { 39 | m_layer = 1; 40 | return; 41 | } 42 | 43 | if (code == 0xE1) { 44 | m_layer = 2; 45 | return; 46 | } 47 | 48 | if (code & 0x80) { 49 | code &= 0x7F; 50 | m_up = true; 51 | } 52 | 53 | int hidCode = GP101ToHID[m_layer][code]; 54 | if (!hidCode) { 55 | Debugger.Log(LogLevel.Error, "PS2Keyboard", "Unknown code %d at layer %d", code, m_layer); 56 | } else if (hidCode == -1) { 57 | /* Fake shift (ignored) */ 58 | } else { 59 | if (m_up) 60 | m_kb.HandleEvent((1 << 31) | hidCode); 61 | else 62 | m_kb.HandleEvent((0 << 31) | hidCode); 63 | } 64 | 65 | m_up = 0; 66 | m_layer = 0; 67 | } 68 | 69 | package static void UpdateLED() { 70 | Debugger.Log(LogLevel.Notice, "PS2Keyboard", "LED is not implemented yet!"); 71 | } 72 | } -------------------------------------------------------------------------------- /Tools/Garbage/Modules/Input/PS2KeyboardMouse/PS2KeyboardMouse.mdproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Default 5 | AnyCPU 6 | GenericProject 7 | {D91728C6-3DEF-4A60-A625-8DD0DDE3CF8B} 8 | 9 | 10 | . 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /Tools/Garbage/Modules/Input/PS2KeyboardMouse/PS2Mouse.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | module Modules.Input.PS2KeyboardMouse.PS2Mouse; 9 | 10 | import ObjectManager; 11 | 12 | import Modules.Input.Mouse; 13 | import Modules.Input.PS2KeyboardMouse; 14 | 15 | 16 | static class PS2Mouse { 17 | private enum { 18 | SENSITIVITY = 1, 19 | NUM_AXIES = 2, 20 | NUM_BUTTONS = 5 21 | } 22 | 23 | package __gshared void function() EnableMouse; 24 | 25 | private __gshared byte[4] m_bytes; 26 | private __gshared int m_cycle; 27 | private __gshared Mouse m_mouse; 28 | 29 | static ModuleResult Initialize(string[] args) { 30 | m_mouse = new Mouse("PS2Mouse", _DriverInfo_Input_PS2Mouse.Version, NUM_AXIES, NUM_BUTTONS); 31 | EnableMouse(); 32 | 33 | return ModuleResult.Successful; 34 | } 35 | 36 | static ModuleResult Finalize() { 37 | delete m_mouse; 38 | 39 | return ModuleResult.Successful; 40 | } 41 | 42 | package static void Handler(byte code) { 43 | m_bytes[m_cycle] = code; 44 | 45 | if (!m_cycle && !(m_bytes[0] & 0x08)) 46 | return; 47 | 48 | if (++m_cycle < 3) 49 | return; 50 | 51 | m_cycle = 0; 52 | if (m_bytes[0] & 0xC0) 53 | return; 54 | 55 | if (m_bytes[0] & 0x10) 56 | m_bytes[1] = cast(byte)-(256 - m_bytes[1]); 57 | 58 | if (m_bytes[0] & 0x10) 59 | m_bytes[2] = cast(byte)-(256 - m_bytes[2]); 60 | m_bytes[2] = -m_bytes[2]; 61 | 62 | int[2] b; 63 | b[0] = m_bytes[1] * SENSITIVITY; 64 | b[1] = m_bytes[2] * SENSITIVITY; 65 | 66 | // Apply scaling 67 | // TODO: Apply a form of curve to the mouse movement (dx*log(dx), dx^k?) 68 | // TODO: Independent sensitivities? 69 | // TODO: Disable acceleration via a flag? 70 | 71 | // TODO: Scroll wheel? 72 | m_mouse.HandleEvent(m_bytes[0] & 7, b); 73 | } 74 | } -------------------------------------------------------------------------------- /Tools/Garbage/Modules/Input/PS2KeyboardMouse/package.d: -------------------------------------------------------------------------------- 1 | module Modules.Input.PS2KeyboardMouse; 2 | 3 | public import Modules.Input.PS2KeyboardMouse.Main; 4 | public import Modules.Input.PS2KeyboardMouse.KBC8042; 5 | public import Modules.Input.PS2KeyboardMouse.PS2Mouse; 6 | public import Modules.Input.PS2KeyboardMouse.DriverInfo; 7 | public import Modules.Input.PS2KeyboardMouse.PS2Keyboard; 8 | public import Modules.Input.PS2KeyboardMouse.KeyboardTransTab; -------------------------------------------------------------------------------- /Tools/Garbage/Modules/LinkerScript.ld: -------------------------------------------------------------------------------- 1 | SECTIONS { 2 | .KMODULES : { 3 | */DriverInfo.d.o (.rodata.*) 4 | } 5 | } 6 | INSERT AFTER .data; -------------------------------------------------------------------------------- /Tools/Garbage/Modules/Makefile.tpl: -------------------------------------------------------------------------------- 1 | # 2 | # Module Template Makefile 3 | # 4 | 5 | -include $(dir $(lastword $(MAKEFILE_LIST)))../Makefile.cfg 6 | 7 | 8 | DFLAGS += -I$(SYS_DIR)/KernelLand/Kernel -I$(SYS_DIR)/KernelLand/Kernel/Architectures/$(ARCH) -I$(SYS_DIR)/KernelLand 9 | 10 | ifneq ($(CATEGORY),) 11 | FULLNAME := $(CATEGORY)_$(NAME) 12 | else 13 | FULLNAME := $(NAME) 14 | endif 15 | 16 | ifneq ($(BUILDTYPE),static) 17 | SUFFIX := dyn-$(ARCH) 18 | KEXT := ../$(FULLNAME).kext 19 | BIN := $(KEXT).$(ARCH) 20 | DFLAGS += $(DYNMOD_DFLAGS) 21 | else 22 | SUFFIX := st-$(ARCH) 23 | BIN := ../$(NAME).xo.$(ARCH) 24 | DFLAGS += $(KERNEL_DFLAGS) 25 | endif 26 | 27 | OBJ := $(addprefix obj_$(SUFFIX)/,$(OBJ)) 28 | DEPFILES := $(OBJ:%=%.dep) 29 | 30 | .PHONY: all clean install 31 | 32 | all: $(BIN) 33 | @true 34 | 35 | clean: 36 | @$(RM) $(BIN) $(BIN).dsm obj_st-* obj_dyn-* ../$(FULLNAME).* ../$(NAME).* 37 | @$(RM) $(ROOT_DIR)/System/Modules/$(FULLNAME).kext.gz 38 | 39 | install: $(BIN) 40 | ifneq ($(BUILDTYPE),static) 41 | @echo --- Module $(NAME) was installed to System/Modules/$(FULLNAME).kext.gz 42 | @$(MKDIR) $(ROOT_DIR)/System/Modules 43 | @cp $(BIN) $(KEXT) 44 | @gzip -c $(KEXT) > $(KEXT).gz 45 | @$(RM) $(KEXT) 46 | @cp $(KEXT).gz $(ROOT_DIR)/System/Modules/$(FULLNAME).kext.gz 47 | else 48 | @true 49 | endif 50 | 51 | ifneq ($(BUILDTYPE),static) 52 | $(BIN): $(OBJ) 53 | @echo --- LD -o $@ 54 | @$(LD) --allow-shlib-undefined -shared -o $@ -defsym=DriverInfo=_DriverInfo_$(FULLNAME) $(LDFLAGS) $< 55 | @$(OBJDUMP) -d -S $(BIN) > $(BIN).dsm 56 | else 57 | $(BIN): %.xo.$(ARCH): $(OBJ) 58 | @echo --- LD -o $@ 59 | @$(LD) -T $(SYS_DIR)/KernelLand/Modules/LinkerScript.ld -r -o $@ $(OBJ) 60 | endif 61 | 62 | obj_$(SUFFIX)/%.d.o: %.d 63 | @echo --- DD -o $@ 64 | @$(MKDIR) $(dir $@) 65 | @$(DD) $(DFLAGS) -of=$@ -c -deps=$@.o.dep $< 66 | 67 | 68 | -include $(DEPFILES) 69 | -------------------------------------------------------------------------------- /Tools/Garbage/Modules/Storage/ATA/ATA.mdproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Default 5 | AnyCPU 6 | GenericProject 7 | {834F80D2-57C2-4E82-B6F8-EF39294A6A4F} 8 | 9 | 10 | . 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /Tools/Garbage/Modules/Storage/ATA/DriverInfo.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | module Modules.Storage.ATA.DriverInfo; 9 | 10 | import ObjectManager; 11 | import Modules.Storage.ATA.Main; 12 | 13 | 14 | extern(C) const ModuleDef _DriverInfo_Storage_ATA = { 15 | Magic: MODULE_MAGIC, 16 | Type: DeviceType.Input, 17 | Architecture: ModuleArch.x86_64, 18 | Flags: 0x00, 19 | Version: 0x01, 20 | Name: "ATA Storage Module", 21 | Identifier: "com.modules.Storage.ATA", 22 | Initialize: &ATA.Initialize, 23 | Finalize: &ATA.Finalize 24 | }; -------------------------------------------------------------------------------- /Tools/Garbage/Modules/Storage/ATA/Main.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | module Modules.Storage.ATA.Main; 9 | 10 | import Core; 11 | import ObjectManager; 12 | import Modules.Storage.ATA.ATAController; 13 | 14 | 15 | class ATA { 16 | private __gshared ATAController[2] m_controllers; 17 | 18 | static ModuleResult Initialize(string[] args) { 19 | m_controllers = ATAController.Detect(); 20 | 21 | return ModuleResult.Successful; 22 | } 23 | 24 | static ModuleResult Finalize() { 25 | delete m_controllers[0]; 26 | delete m_controllers[1]; 27 | 28 | return ModuleResult.Successful; 29 | } 30 | } -------------------------------------------------------------------------------- /Tools/Garbage/Modules/Storage/ATA/Makefile: -------------------------------------------------------------------------------- 1 | NAME = ATA 2 | OBJ += $(addsuffix .o,$(shell find * -name "*.d")) 3 | 4 | -include ../Makefile.tpl -------------------------------------------------------------------------------- /Tools/Garbage/Modules/Storage/Makefile.tpl: -------------------------------------------------------------------------------- 1 | CATEGORY = Storage 2 | 3 | -include ../../Makefile.tpl -------------------------------------------------------------------------------- /Tools/Garbage/ObjectManager/IBlockDevice.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | module ObjectManager.IBlockDevice; 9 | 10 | 11 | /** 12 | * This interface is inherted by every block device/driver and provide a common 13 | * method to communicate. 14 | * 15 | */ 16 | interface IBlockDevice { 17 | /** 18 | * Getter 19 | * 20 | * Returns: 21 | * number of block in block device 22 | */ 23 | @property long Blocks(); 24 | 25 | /** 26 | * Getter 27 | * 28 | * Returns: 29 | * size of block in bytes 30 | */ 31 | @property int BlockSize(); 32 | 33 | /** 34 | * Read from block device 35 | * 36 | * Params: 37 | * offset = where start reading 38 | * data = initialized array where length detemine how many 39 | * bytes will be red 40 | * 41 | * Returns: 42 | * length of red data. Will be less or equals to data.length 43 | */ 44 | ulong Read(long offset, byte[] data); 45 | 46 | /** 47 | * Write to block device 48 | * 49 | * Params: 50 | * offset = where to write 51 | * data = source array with data. 52 | * 53 | * Returns: 54 | * length of written data. Will be less or equals to data.length 55 | */ 56 | ulong Write(long offset, byte[] data); 57 | } -------------------------------------------------------------------------------- /Tools/Garbage/ObjectManager/package.d: -------------------------------------------------------------------------------- 1 | module ObjectManager; 2 | 3 | public import ObjectManager.Resource; 4 | public import ObjectManager.IBlockDevice; 5 | public import ObjectManager.DeviceManager; 6 | public import ObjectManager.ModuleManager; 7 | public import ObjectManager.ResourceManager; -------------------------------------------------------------------------------- /Tools/Garbage/Property.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | module Library.Property; 8 | 9 | enum Property(T, string name) = "public " ~ T.stringof ~ " " ~ name ~ ";"; 10 | 11 | /*q{ TODO 12 | private $type m_$property; 13 | 14 | final @property ref $type $property() @safe pure nothrow { 15 | return m_$property; 16 | } 17 | }.replace("$property", name).replace("$type", T.stringof);*/ -------------------------------------------------------------------------------- /Tools/Garbage/StringBuilder.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | module Library.StringBuilder; 9 | 10 | 11 | final class StringBuilder { 12 | static const int DefaultCapacity = 16; 13 | static const int MaxChunkSize = 8000; 14 | 15 | private char[] m_chars; 16 | private StringBuilder m_previous; 17 | private long m_length; 18 | private long m_offset; 19 | private long m_maxCapacity = 0; 20 | 21 | 22 | @property long Length() { return m_offset + m_length; } 23 | @property long Capacity() { return m_offset + m_chars.length; } 24 | @property long MaxCapacity() { return m_maxCapacity; } 25 | 26 | @property void Capacity(long value) { 27 | //TODO 28 | } 29 | 30 | this() { 31 | this(DefaultCapacity); 32 | } 33 | 34 | this(int capacity) { 35 | this(null, capacity); 36 | } 37 | 38 | this(string value) { 39 | this(value, DefaultCapacity); 40 | } 41 | 42 | this(string value, long capacity) { 43 | this(value, 0, value !is null ? value.length : 0, capacity); 44 | } 45 | 46 | this(string value, long startIndex, long length, long capacity) { 47 | //TODO: contracts 48 | 49 | if (value is null) 50 | value = ""; 51 | 52 | if (startIndex > value.length - length) 53 | {} //TODO: throw... 54 | 55 | m_maxCapacity = long.max; 56 | if (!capacity) 57 | capacity = DefaultCapacity; 58 | 59 | if (capacity < length) 60 | capacity = length; 61 | 62 | m_chars = new char[capacity]; 63 | m_length = length; 64 | 65 | m_chars[0 .. value.length - startIndex] = value[startIndex .. $]; 66 | } 67 | 68 | this(long capacity, long maxCapacity) { 69 | if (!capacity) 70 | capacity = DefaultCapacity < maxCapacity ? DefaultCapacity : maxCapacity; 71 | 72 | m_maxCapacity = maxCapacity; 73 | m_chars = new char[capacity]; 74 | } 75 | 76 | ~this() { 77 | delete m_chars; 78 | } 79 | 80 | void Append(string value) { 81 | //TODO 82 | } 83 | 84 | void Insert(long index, string value) { 85 | //TODO 86 | } 87 | 88 | string ToString() { 89 | return "TODO stirng"; 90 | //TODO 91 | } 92 | } -------------------------------------------------------------------------------- /Tools/Garbage/TaskManager/EventWaitHandle.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | module TaskManager.EventWaitHandle; 9 | 10 | import ObjectManager; 11 | 12 | 13 | class EventWaitHandle : Resource { 14 | private enum IDENTIFIER = "com.trinix.TaskManager.EventWaitHandle"; 15 | 16 | 17 | this() { 18 | CallTable[] callTable = [ 19 | 20 | ]; 21 | 22 | super(DeviceType.IPC, IDENTIFIER, 0x01, callTable); 23 | } 24 | } -------------------------------------------------------------------------------- /Tools/Garbage/TaskManager/Mutex.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | module TaskManager.Mutex; 9 | 10 | import Library; 11 | import TaskManager; 12 | import ObjectManager; 13 | 14 | 15 | class Mutex : Resource { 16 | private enum IDENTIFIER = "com.trinix.TaskManager.Mutex"; 17 | 18 | private SpinLock m_spinLock; 19 | private LinkedList!Thread m_waiting; 20 | private Thread m_owner; 21 | 22 | this() { 23 | CallTable[] callTable = [ 24 | 25 | ]; 26 | 27 | m_spinLock = new SpinLock(); 28 | m_waiting = new LinkedList!Thread(); 29 | 30 | super(DeviceType.IPC, IDENTIFIER, 0x01, callTable); 31 | } 32 | 33 | ~this() { 34 | delete m_spinLock; 35 | delete m_waiting; 36 | } 37 | 38 | bool WaitOne() { 39 | m_spinLock.WaitOne(); 40 | 41 | if (m_owner) { 42 | m_waiting.Add(Thread.Current); 43 | 44 | m_spinLock.Release(); 45 | Thread.Current.SetAndWaitForStatusEnd(ThreadState.MutexWait); 46 | } else { 47 | m_owner = Thread.Current; 48 | m_spinLock.Release(); 49 | } 50 | 51 | return true; 52 | } 53 | 54 | void Release() { 55 | m_spinLock.WaitOne(); 56 | 57 | if (m_waiting.Count) { 58 | m_owner = m_waiting.First.Value; 59 | m_waiting.RemoveFirst(); 60 | 61 | if (m_owner.State == ThreadState.MutexWait) 62 | m_owner.AddActive(); 63 | } else 64 | m_owner = null; 65 | 66 | m_spinLock.Release(); 67 | } 68 | 69 | bool IsLocked() { 70 | return m_owner !is null; 71 | } 72 | } -------------------------------------------------------------------------------- /Tools/Garbage/TaskManager/Process.s: -------------------------------------------------------------------------------- 1 | [bits 64] 2 | [global _Proc_SaveSSE] 3 | [global _Proc_Read_RIP] 4 | [global _Proc_EnableSSE] 5 | [global _Proc_RestoreSSE] 6 | [global _Proc_DisableSSE] 7 | [global _Proc_InitialiseSSE] 8 | 9 | 10 | _Proc_InitialiseSSE: 11 | mov rax, cr4 12 | or ax, (1 << 9)|(1 << 10) 13 | mov cr4, rax 14 | mov rax, cr0 15 | and ax, ~(1 << 2) 16 | or rax, (1 << 1) 17 | mov rax, cr0 18 | ret 19 | 20 | 21 | _Proc_DisableSSE: 22 | mov rax, cr0 23 | or ax, 1 << 3 24 | mov cr0, rax 25 | ret 26 | 27 | 28 | _Proc_EnableSSE: 29 | mov rax, cr0 30 | and ax, ~(1 << 3) 31 | mov cr0, rax 32 | ret 33 | 34 | 35 | _Proc_SaveSSE: 36 | fxsave [rdi] 37 | ret 38 | 39 | 40 | _Proc_RestoreSSE: 41 | fxrstor [rdi] 42 | ret 43 | 44 | 45 | _Proc_Read_RIP: 46 | pop rax 47 | jmp rax -------------------------------------------------------------------------------- /Tools/Garbage/TaskManager/ReaderWriterLock.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | module TaskManager.ReaderWriterLock; 9 | 10 | import ObjectManager; 11 | 12 | 13 | class ReaderWriterLock : Resource { 14 | private enum IDENTIFIER = "com.trinix.TaskManager.ReaderWriterLock"; 15 | 16 | 17 | this() { 18 | CallTable[] callTable = [ 19 | 20 | ]; 21 | 22 | super(DeviceType.IPC, IDENTIFIER, 0x01, callTable); 23 | } 24 | } -------------------------------------------------------------------------------- /Tools/Garbage/TaskManager/SharedMemory.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | module TaskManager.SharedMemory; 9 | 10 | import ObjectManager; 11 | 12 | 13 | class SharedMemory : Resource { 14 | private enum IDENTIFIER = "com.trinix.TaskManager.SharedMemory"; 15 | 16 | 17 | this() { 18 | CallTable[] callTable = [ 19 | 20 | ]; 21 | 22 | super(DeviceType.IPC, IDENTIFIER, 0x01, callTable); 23 | } 24 | } -------------------------------------------------------------------------------- /Tools/Garbage/TaskManager/package.d: -------------------------------------------------------------------------------- 1 | module TaskManager; 2 | 3 | public import TaskManager.Task; 4 | public import TaskManager.Mutex; 5 | public import TaskManager.Thread; 6 | public import TaskManager.Process; 7 | public import TaskManager.Semaphore; 8 | public import TaskManager.SignalType; 9 | public import TaskManager.SharedMemory; 10 | public import TaskManager.EventWaitHandle; 11 | public import TaskManager.ReaderWriterLock; -------------------------------------------------------------------------------- /Tools/Garbage/Terminal/Makefile.tpl: -------------------------------------------------------------------------------- 1 | CATEGORY = Terminal 2 | 3 | -include ../../Makefile.tpl -------------------------------------------------------------------------------- /Tools/Garbage/Terminal/VTY/DriverInfo.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | module Modules.Terminal.VTY.DriverInfo; 9 | 10 | import ObjectManager; 11 | import Modules.Terminal.VTY.Main; 12 | 13 | 14 | extern(C) const ModuleDef _DriverInfo_Terminal_VTY = { 15 | Magic: MODULE_MAGIC, 16 | Type: DeviceType.Terminal, 17 | Architecture: ModuleArch.x86_64, 18 | Flags: 0x00, 19 | Version: 0x01, 20 | Name: "VTY Terminal Module", 21 | Identifier: "com.modules.Terminal.VTY", 22 | Initialize: &VTY.Initialize, 23 | Finalize: &VTY.Finalize 24 | }; -------------------------------------------------------------------------------- /Tools/Garbage/Terminal/VTY/Makefile: -------------------------------------------------------------------------------- 1 | NAME = VTY 2 | OBJ += $(addsuffix .o,$(shell find * -name "*.d")) 3 | 4 | -include ../Makefile.tpl -------------------------------------------------------------------------------- /Tools/Garbage/VFSManager/BlockNode.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | module VFSManager.BlockNode; 9 | 10 | import VFSManager; 11 | 12 | 13 | abstract class BlockNode : FSNode { 14 | @property long Blocks(); 15 | @property long BlockSize(); 16 | 17 | this(DirectoryNode parent, FileAttributes attributes) { 18 | m_attributes = attributes; 19 | m_attributes.Type = FileType.BlockDevice; 20 | 21 | super(parent); 22 | } 23 | } -------------------------------------------------------------------------------- /Tools/Garbage/VFSManager/CharNode.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | module VFSManager.CharNode; 9 | 10 | import VFSManager; 11 | 12 | 13 | abstract class CharNode : FSNode { 14 | this(DirectoryNode parent, FileAttributes attributes) { 15 | m_attributes = attributes; 16 | m_attributes.Type = FileType.CharDevice; 17 | 18 | super(parent); 19 | } 20 | } -------------------------------------------------------------------------------- /Tools/Garbage/VFSManager/FileAttributes.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | module VFSManager.FileAttributes; 9 | 10 | import TaskManager; 11 | import Architecture; 12 | 13 | 14 | /** 15 | * Type of node 16 | * Used in FileAttributes 17 | * 18 | */ 19 | enum FileType { 20 | File = 0x01, 21 | Directory = 0x02, 22 | CharDevice = 0x04, 23 | BlockDevice = 0x08, 24 | Pipe = 0x10, 25 | SymLink = 0x20, 26 | Mountpoint = 0x40, 27 | Socket = 0x80 28 | } 29 | 30 | 31 | /** 32 | * Permissions of node. 33 | * Used in FileAttributes. 34 | * 35 | */ 36 | enum FilePermissions { 37 | OtherExecute = 1, 38 | OtherWrite = 2, 39 | OtherRead = 4, 40 | GroupExecute = 8, 41 | GroupWrite = 16, 42 | GroupRead = 32, 43 | UserExecute = 64, 44 | UserWrite = 128, 45 | UserRead = 256 46 | } 47 | 48 | 49 | /** 50 | * Attributes of each node in filesystem. 51 | * 52 | */ 53 | struct FileAttributes { 54 | string Name; 55 | FileType Type; 56 | ulong Length; 57 | ulong UID; 58 | ulong GID; 59 | FilePermissions Permissions; 60 | ulong AccessTime; 61 | ulong CreateTime; 62 | ulong ModifyTime; 63 | 64 | static FileAttributes opCall(string name, FileType type = FileType.Directory) { 65 | FileAttributes ret; 66 | 67 | ret.Name = name; 68 | ret.Type = type; 69 | ret.Permissions = FilePermissions.UserRead | FilePermissions.UserWrite 70 | | FilePermissions.GroupRead | FilePermissions.OtherRead; 71 | ret.UID = Process.Current.UID; 72 | ret.GID = Process.Current.GID; 73 | ret.AccessTime = Time.Now; 74 | ret.ModifyTime = ret.AccessTime; 75 | ret.CreateTime = ret.AccessTime; 76 | 77 | return ret; 78 | } 79 | } -------------------------------------------------------------------------------- /Tools/Garbage/VFSManager/FileNode.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | module VFSManager.FileNode; 9 | 10 | import VFSManager; 11 | 12 | 13 | abstract class FileNode : FSNode { 14 | this(DirectoryNode parent, FileAttributes fileAttributes) { 15 | m_attributes = fileAttributes; 16 | m_attributes.Type = FileType.File; 17 | 18 | super(parent); 19 | } 20 | } -------------------------------------------------------------------------------- /Tools/Garbage/VFSManager/IFileSystem.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | module VFSManager.IFileSystem; 9 | 10 | import VFSManager; 11 | 12 | 13 | /** 14 | * This interface is inherted by every filesystem driver like devfs, ext2, etc. 15 | * Provide a common methods for work with filesystem 16 | * 17 | */ 18 | interface IFileSystem { 19 | /** 20 | * Getter 21 | * 22 | * Returns: 23 | * instance of mounted partition 24 | */ 25 | @property Partition GetPartition(); 26 | 27 | /** 28 | * Getter 29 | * 30 | * Returns: 31 | * true if mounted filesystem is writable 32 | * 33 | * TODO: 34 | * o Rename this to 'CanWrite' 35 | */ 36 | @property bool IsWritable(); 37 | 38 | /** 39 | * Getter 40 | * 41 | * Returns: 42 | * object of root directory of the filesystem 43 | */ 44 | @property DirectoryNode RootNode(); 45 | 46 | /** 47 | * Unmount the filesystem 48 | * 49 | * Returns: 50 | * true if filesystem was unmounted successfuly 51 | */ 52 | bool Unmount(); 53 | 54 | /** 55 | * Load content of directory node and automaticaly add found 56 | * nodes into direcotry node 57 | * 58 | * Params: 59 | * node = node of directory what we want to load 60 | * 61 | * Returns: 62 | * true if content was loaded successfuly 63 | */ 64 | bool LoadContent(DirectoryNode node); 65 | 66 | /** 67 | * Create new node in specific directory 68 | * 69 | * Params: 70 | * parent = directory where we want to create a node 71 | * attributes = attributes of creating node 72 | * 73 | * Returns: 74 | * object of created node 75 | */ 76 | FSNode Create(DirectoryNode parent, FileAttributes attributes); 77 | 78 | /** 79 | * Remove node from filesystem. 80 | * This will be called only from FSNode.Remove method 81 | * 82 | * Params: 83 | * node = node what we want to remove 84 | * 85 | * Returns: 86 | * true if node was removed successfuly 87 | */ 88 | bool Remove(FSNode node); 89 | } -------------------------------------------------------------------------------- /Tools/Garbage/VFSManager/MemoryNode.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | module VFSManager.MemoryNode; 9 | 10 | import VFSManager; 11 | 12 | 13 | class MemoryNode : FSNode { 14 | private byte[] m_buffer; 15 | 16 | this(byte[] buffer, DirectoryNode parent, FileAttributes fileAttributes) { 17 | m_buffer = buffer; 18 | m_attributes = fileAttributes; 19 | m_attributes.Type = FileType.CharDevice; 20 | 21 | super(parent); 22 | } 23 | 24 | override ulong Read(long offset, byte[] data) { 25 | if (offset > m_buffer.length) 26 | return 0; 27 | 28 | long len = offset + data.length > m_buffer.length ? m_buffer.length - offset : data.length; 29 | data[] = (cast(byte *)m_buffer)[offset .. len]; 30 | 31 | return len; 32 | } 33 | 34 | override ulong Write(long offset, byte[] data) { 35 | if (offset > m_buffer.length) 36 | return 0; 37 | 38 | long len = offset + data.length > m_buffer.length ? m_buffer.length - offset : data.length; 39 | (cast(byte *)m_buffer)[offset .. len] = data[]; 40 | 41 | return len; 42 | } 43 | } -------------------------------------------------------------------------------- /Tools/Garbage/VFSManager/PipeNode.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | module VFSManager.PipeNode; 9 | 10 | import VFSManager; 11 | 12 | 13 | abstract class PipeNode : FSNode { 14 | this(DirectoryNode parent, FileAttributes attributes) { 15 | m_attributes = attributes; 16 | m_attributes.Type = FileType.Pipe; 17 | 18 | super(parent); 19 | } 20 | } -------------------------------------------------------------------------------- /Tools/Garbage/VFSManager/SocketNode.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | module VFSManager.SocketNode; 9 | 10 | import VFSManager; 11 | 12 | 13 | abstract class SocketNode : FSNode { 14 | this(DirectoryNode parent, FileAttributes fileAttributes) { 15 | m_attributes = fileAttributes; 16 | m_attributes.Type = FileType.Socket; 17 | 18 | super(parent); 19 | } 20 | } -------------------------------------------------------------------------------- /Tools/Garbage/VFSManager/SymLinkNode.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | module VFSManager.SymLinkNode; 9 | 10 | import VFSManager; 11 | 12 | 13 | abstract class SymLinkNode : FSNode { 14 | this(DirectoryNode parent, FileAttributes fileAttributes) { 15 | m_attributes = fileAttributes; 16 | m_attributes.Type = FileType.SymLink; 17 | 18 | super(parent); 19 | } 20 | } -------------------------------------------------------------------------------- /Tools/Garbage/VFSManager/package.d: -------------------------------------------------------------------------------- 1 | module VFSManager; 2 | 3 | public import VFSManager.VFS; 4 | public import VFSManager.FSNode; 5 | public import VFSManager.PipeNode; 6 | public import VFSManager.CharNode; 7 | public import VFSManager.FileNode; 8 | public import VFSManager.BlockNode; 9 | public import VFSManager.Partition; 10 | public import VFSManager.BlockCache; 11 | public import VFSManager.MemoryNode; 12 | public import VFSManager.SocketNode; 13 | public import VFSManager.IFileSystem; 14 | public import VFSManager.SymLinkNode; 15 | public import VFSManager.DirectoryNode; 16 | public import VFSManager.FileAttributes; -------------------------------------------------------------------------------- /Userspace/Application/Test/Makefile: -------------------------------------------------------------------------------- 1 | -include $(dir $(lastword $(MAKEFILE_LIST)))../../Makefile.cfg 2 | 3 | NAME = Test.elf 4 | SRC += $(shell find -name "*.d") 5 | 6 | DFLAGS = -I../druntime/src -I$(TRXROOT)/Library/Kappa.framework/Import/ 7 | DFLAGS += -L $(TRXROOT)/Library/Kappa.framework/ -lgcc -l:Kappa.so.0.1.0 8 | #LDFLAGS = -nostdlib -L/os/Root/Library -l :Framework.so -e _d_run_main 9 | 10 | 11 | $(NAME): 12 | @echo "[ D ] Compiling test..." 13 | $(DD) $(SRC) -o $(NAME) $(DFLAGS) 14 | 15 | clean: 16 | @echo "Cleaning..." 17 | @rm -rf $(NAME) -------------------------------------------------------------------------------- /Userspace/Application/Test/main.d: -------------------------------------------------------------------------------- 1 | module main; 2 | 3 | import Handle; 4 | 5 | int main() { 6 | 7 | Handle a = new Handle(); 8 | return 0; 9 | } 10 | 11 | extern(C) void _d_run_main() { 12 | 13 | } 14 | -------------------------------------------------------------------------------- /Userspace/Binary/NOTHING: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Userspace/Binary/NOTHING -------------------------------------------------------------------------------- /Userspace/Bundle/NOTHING: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Userspace/Bundle/NOTHING -------------------------------------------------------------------------------- /Userspace/FileSystem/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # Trinix FyleSystem creator 3 | # 4 | 5 | -include ../Makefile.cfg 6 | 7 | .PHONY: install 8 | 9 | IMG := $(TRXDIR)/Trinix.img 10 | 11 | install: $(IMG) 12 | @kpartx -a $(IMG) 13 | @sleep 1 14 | 15 | @$(MKDIR) mount-tmp 16 | @mount /dev/mapper/loop0p1 mount-tmp 17 | 18 | @cp -Rf $(TRXDIR)/Root/* mount-tmp 19 | 20 | @umount mount-tmp 21 | @$(RM) mount-tmp 22 | @kpartx -d $(IMG) 23 | 24 | $(IMG): 25 | @dd if=/dev/zero of=/opt/$(IMG) bs=512 count=100000 26 | @parted --script /opt/$(IMG) mktable msdos mkpart p ext2 1 40 set 1 boot on 27 | @kpartx -a /opt/$(IMG) 28 | @sleep 1 29 | @mkfs.ext2 /dev/mapper/loop0p1 30 | 31 | @$(MKDIR) mount-tmp 32 | @mount /dev/mapper/loop0p1 mount-tmp 33 | 34 | @grub2-install --no-floppy --boot-directory=mount-tmp/System/Boot /dev/loop0 35 | 36 | @umount mount-tmp 37 | @$(RM) mount-tmp 38 | @kpartx -d /opt/$(IMG) 39 | @mv /opt/$(IMG) $(IMG) -------------------------------------------------------------------------------- /Userspace/Framework/NOTHING: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Rikarin/Trinix/393f576a0f7a00a8c0262b1d862c9c0a94e4b1f7/Userspace/Framework/NOTHING -------------------------------------------------------------------------------- /Userspace/Library/Makefile: -------------------------------------------------------------------------------- 1 | include $(dir $(lastword $(MAKEFILE_LIST)))../Makefile -------------------------------------------------------------------------------- /Userspace/Library/Makefile.cfg: -------------------------------------------------------------------------------- 1 | # 2 | # Libraries makefile 3 | # 4 | 5 | _libsdir := $(dir $(lastword $(MAKEFILE_LIST))) 6 | -include $(_libsdir)../Makefile.cfg 7 | 8 | 9 | MAKEDEP = $(CC) -M 10 | 11 | CFLAGS := -fno-stack-protector -fPIC 12 | LDFLAGS += -g -shared -eSoStart -L$(OUTPUTDIR)Library/ --no-undefined 13 | LIBS := 14 | #-lld 15 | 16 | 17 | -include $(_libsdir)../common_settings.mk -------------------------------------------------------------------------------- /Userspace/Library/crt0.o_src/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # Makefile 3 | # 4 | 5 | -include ../../Makefile.cfg 6 | 7 | OUTPUT = $(TRXROOT)/System/Library/Frameworks/Kappa.framework/crt 8 | BIN = $(OUTPUT)/crt0.o $(OUTPUT)/crt0S.o $(OUTPUT)/crti.o $(OUTPUT)/crtn.o 9 | 10 | .PHONY: all clean install 11 | 12 | 13 | all: $(BIN) 14 | install: $(BIN) 15 | 16 | clean: 17 | @$(RM) $(BIN) 18 | 19 | 20 | $(OUTPUT)/%S.o: %S.c Makefile 21 | @mkdir -p $(dir $@) 22 | @$(CC) $(CFLAGS) -c $< -o $@ -fPIC 23 | 24 | $(OUTPUT)/%.o: %.c Makefile 25 | @mkdir -p $(dir $@) 26 | @$(CC) $(CFLAGS) -c $< -o $@ 27 | 28 | $(OUTPUT)/%.o: %.s 29 | @mkdir -p $(dir $@) 30 | @$(CC) $(CFLAGS) -c $< -o $@ -------------------------------------------------------------------------------- /Userspace/Library/crt0.o_src/crt0.c: -------------------------------------------------------------------------------- 1 | typedef void (*exithandler_t)(void); 2 | typedef void (*constructor_t)(void); 3 | 4 | constructor_t _crtbegin_ctors[0] __attribute__((section(".ctors"))); 5 | exithandler_t _crt0_exit_handler; 6 | 7 | extern void _init(void); 8 | extern void _fini(void); 9 | //extern void _exit(int status) __attribute__((noreturn)); 10 | extern int main(int argc, char *argv[], char **envp); 11 | 12 | void _start(int argc, char *argv[], char **envp) 13 | { 14 | // TODO: isn't this handled by _init? 15 | /*for( int i = 0; _crtbegin_ctors[i]; i ++ ) 16 | _crtbegin_ctors[i]();*/ 17 | 18 | _init(); 19 | 20 | int rv = main(argc, argv, envp); 21 | 22 | if( _crt0_exit_handler ) 23 | _crt0_exit_handler(); 24 | _fini(); 25 | //_exit(rv); TODO 26 | } 27 | -------------------------------------------------------------------------------- /Userspace/Library/crt0.o_src/crt0S.c: -------------------------------------------------------------------------------- 1 | typedef void (*exithandler_t)(void); 2 | typedef void (*constructor_t)(void); 3 | 4 | extern void _SysDebug(const char *, ...); 5 | extern void _init(void); 6 | extern void _fini(void); 7 | extern int SoMain(void *Base, int argc, char *argv[], char **envp) __attribute__((weak)); 8 | 9 | int SoStart(void *Base, int argc, char *argv[], char **envp) 10 | { 11 | //_SysDebug("SoStart(%p,%i,%p)", Base, argc, argv); 12 | _init(); 13 | 14 | if (SoMain) 15 | return SoMain(Base, argc, argv, envp); 16 | return 0; 17 | } 18 | -------------------------------------------------------------------------------- /Userspace/Library/crt0.o_src/crti.s: -------------------------------------------------------------------------------- 1 | .section .init 2 | .global _init 3 | .type _init, @function 4 | _init: 5 | push %rbp 6 | mov %rsp, %rbp 7 | /* gcc will nicely put the contents of crtbegin.o's .init section here. */ 8 | 9 | .section .fini 10 | .global _fini 11 | .type _fini, @function 12 | _fini: 13 | push %rbp 14 | mov %rsp, %rbp 15 | /* gcc will nicely put the contents of crtbegin.o's .fini section here. */ 16 | -------------------------------------------------------------------------------- /Userspace/Library/crt0.o_src/crtn.s: -------------------------------------------------------------------------------- 1 | .section .init 2 | /* gcc will nicely put the contents of crtend.o's .init section here. */ 3 | pop %rbp 4 | ret 5 | 6 | .section .fini 7 | /* gcc will nicely put the contents of crtend.o's .fini section here. */ 8 | pop %rbp 9 | ret 10 | -------------------------------------------------------------------------------- /Userspace/Makefile.cfg: -------------------------------------------------------------------------------- 1 | # 2 | # Usermode Makefile.cfg 3 | # 4 | 5 | -include $(dir $(lastword $(MAKEFILE_LIST)))../Makefile.cfg 6 | 7 | TRXROOT := $(TRXDIR)/Root -------------------------------------------------------------------------------- /Userspace/common_settings.mk: -------------------------------------------------------------------------------- 1 | CFLAGS += -std=gnu99 -g 2 | LDFLAGS += -L $(TRXDIR)/Externals/Output/$(ARCHDIR)/Library 3 | LDFLAGS += -L $(OUTPUTDIR)Library 4 | 5 | CRTI := $(OUTPUTDIR)Library/crti.o 6 | CRTBEGIN := $(shell $(CC) $(CFLAGS) -print-file-name=crtbegin.o 2> /dev/null) 7 | CRTBEGINS := $(shell $(CC) $(CFLAGS) -print-file-name=crtbeginS.o 2> /dev/null) 8 | CRT0 := $(OUTPUTDIR)Library/crt0.o 9 | CRT0S := $(OUTPUTDIR)Library/crt0S.o 10 | CRTEND := $(shell $(CC) $(CFLAGS) -print-file-name=crtend.o 2>/dev/null) 11 | CRTENDS := $(shell $(CC) $(CFLAGS) -print-file-name=crtendS.o 2> /dev/null) 12 | CRTN := $(OUTPUTDIR)Library/crtn.o 13 | LIBGCC_PATH = $(shell $(CC) -print-libgcc-file-name 2>/dev/null) -------------------------------------------------------------------------------- /old/Library/Array.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | module Library.Array; 9 | 10 | 11 | static class Array { 12 | static T Find(T, U)(U array, bool delegate(T obj) predicate) { 13 | foreach (x; array) 14 | if (predicate(x)) 15 | return x; 16 | 17 | return null; 18 | } 19 | } -------------------------------------------------------------------------------- /old/Library/Casters.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | module Library.Casters; 8 | 9 | 10 | ref auto ToArrayA(T)(ref T value) { 11 | return (cast(byte *)value.ptr)[0 .. value[0].sizeof * value.length]; 12 | } 13 | 14 | ref byte[T.sizeof] ToArray(T)(ref T value) { 15 | return (cast(byte *)&value)[0 .. T.sizeof]; 16 | } -------------------------------------------------------------------------------- /old/Library/SpinLock.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | module Library.SpinLock; 9 | 10 | 11 | class SpinLock { 12 | private long m_locked; 13 | 14 | private long AtomicExchange(long* value) { 15 | asm { 16 | naked; 17 | mov RAX, 1; 18 | xchg [RSI], RAX; 19 | ret; 20 | } 21 | } 22 | 23 | this() { 24 | m_locked = false; 25 | } 26 | 27 | this(bool initiallyOwned) { 28 | m_locked = initiallyOwned; 29 | } 30 | 31 | bool WaitOne() { 32 | while (AtomicExchange(&m_locked)) {} 33 | return true; 34 | } 35 | 36 | void Release() { 37 | m_locked = false; 38 | } 39 | 40 | @property bool IsLocked() { 41 | return m_locked != 0; 42 | } 43 | } -------------------------------------------------------------------------------- /old/Library/String.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | module Library.String; 8 | 9 | import Library.List; 10 | 11 | 12 | List!string Split(string str, char delimiter) { 13 | auto ret = new List!string(); 14 | 15 | long a = 0; 16 | foreach (i, x; str) { 17 | if (x == delimiter) { 18 | ret.add(str[a .. i]); 19 | a = i + 1; 20 | } 21 | } 22 | 23 | ret.add(str[a .. $]); 24 | return ret; 25 | } 26 | 27 | string ToString(const char* str) { 28 | int i; 29 | while (str[i++] != '\0') {} 30 | return cast(string)str[0 .. i - 1]; 31 | } 32 | -------------------------------------------------------------------------------- /old/Library/package.d: -------------------------------------------------------------------------------- 1 | module Library; 2 | 3 | public import Library.Array; 4 | public import Library.String; 5 | public import Library.Casters; 6 | public import Library.Bitfield; 7 | public import Library.BitArray; 8 | public import Library.SpinLock; 9 | public import Library.LinkedList; -------------------------------------------------------------------------------- /old/MemoryManager/IPaging.d: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Rikarin and contributors. All rights reserved. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | module MemoryManager.IPaging; 9 | 10 | interface IPaging { 11 | /* Set paging table as current PT */ 12 | void Install(); 13 | 14 | /* Translate virtual address into physical */ 15 | void* GetPhysicalAddress(const void* address); 16 | } 17 | -------------------------------------------------------------------------------- /old/MemoryManager/package.d: -------------------------------------------------------------------------------- 1 | module MemoryManager; 2 | 3 | public import MemoryManager.Heap; 4 | public import MemoryManager.IPaging; 5 | public import MemoryManager.VirtualMemory; 6 | public import MemoryManager.PhysicalMemory; 7 | -------------------------------------------------------------------------------- /old/package.d: -------------------------------------------------------------------------------- 1 | module Core; 2 | 3 | public import Core.Log; 4 | public import Core.Main; 5 | public import Core.IArch; 6 | public import Core.Multiboot; 7 | --------------------------------------------------------------------------------