Architectural Support: x86_64 (#37)
authorLunaixsky <lunaixsky@qq.com>
Tue, 16 Jul 2024 21:17:07 +0000 (22:17 +0100)
committerGitHub <noreply@github.com>
Tue, 16 Jul 2024 21:17:07 +0000 (22:17 +0100)
commit28c176b668c841a3b7fb093faccf0efa39257603
treea5ca159950cf998f236fb33e2e1d53b875fe51b8
parent32b9a6d76790c73d3d2d36d9081a2581cc65d184
Architectural Support: x86_64 (#37)

* x86_64 port: exception model, syscall, arch utils

* add port to exception model: hart state transistion, general
interruption hanlding
* add port to syscall: call convention, operand size
* arch utils change: udiv64, add native implementation
* makefile: add dedicated action to do configuration
* trace: port register dumping
* other refactorings

* port: virtual memory inteface, vm partition

* add support to 64bits virtual memory management scheme
* add definitions for memory partition under 64 bits
* refactor: routine clean up, remove deprecated MEM_*
* fix: reverse the order of lo/hi in struct x86_sysdesc

* rename i386 to x86 for clarity

* port: boot code, preliminary memory setup

* add boot code port to x86_64, include IA32e mode switching sequence
  recommended by Intel
* add support of x86_64 to memory setup
* refactor: move boot code into two separated directory for clarity
* refactor: boot_helper: memory reservation code should go to
  arch-specific

* feat: architectural-dependent linking

* preprocess the linker script with gcc's preprocessor before commencing
  the linking
* fix: LConfig: x86_feature setting missing when arch=x86_64

* decouple elf loading. Make thing compile

* decouple the arch-related elf parsing and loading part from the kernel base
* fix compiliation issues when compiling under 64 bit mode
* fix a relocation issue where the boot code reference a symbol exported
  from relocated kernel's LMA for address calculation.
* make thing more unified in LBuild
* port other misc stuff to x86_64

* add boilerplate for multiboot2 bootloader interface

* ensure the i386 invariant after refactroing for baseline

* port: remove hidden assumption of VMS_SELF in vm model

* creation of those lntep pteps mades a hidden assumption of
  VMS_SELF address used, which introduce inflexibility
* adjust the vm map of x86_64 to make sure kernel's address
  can be relocated with R_86_64_32S policy
* port: pplist mapping to x86_64
* refactor: rename all explicity comparision with VMS_SELF
  with an inline of active_vmnt()
* refactor: encapsulate all explicity checking of ptep for
  unpacking into vmnt_packed()

* fix: vmscpy, vmsfree and kmem_init assumption on vm map structure

* fix: linking issue with 64bit addressing

* previous: satisfy R_86_64_32S relocation by adjusting the kernel
  base address
* fixup other issue due to previous refactoring

* enable of x86_64 on usr/

* lunalibc:  port:     x86_64 support

* lunalibc:  fix:      cut down the unnecessary register savings when
                       invoking syscall.

* lunalibc:  refactor: better syscall invocation method

* lunabuild: refactor: rename set() to set_value() to avoid confusion
                       with set declaration

* lunabuild: fix:      cascade updating case stack overflow when triggered
                       by itself through set_value()

* makefile:  fix:      only triggered re-configuration shell when config
                       save is deleted or explicit required.

* makefile:  feat:     add a env variable ARCH= on make, to allow specifiy
                       the targeted ISA without going through all the
                       trouble of configuration shell

* build:     fix:      use mcmode=kernel to allow linking with kernel base
                       relocated to -2GiB while remove the need of the bloat
                       of mcmode=large

* make variadic syscall more portable

* syscall:  fix:  va_list now only cross the kernel broader with a
                  reference rather than value, which make the
                  interface portable as some architecture abi require
                  va_list to be a struct.

* syscall:  ref:  (this is a refactor) remove the need of variadic
                  syscall usage on sys_mmap and syslog. As they are
                  point-less

* fix: issues during the bootstrap stage

* arch/boot:    add missing mode switching from x86_64 compatibility
              mode to full 64-bits (long mode)

* kpt_remap:    rework the kernel high-mem remapping for x86_64.
              isolate the remap logic of x86_64 and i386

* gdt:          when loading gdt, the descriptor must follow the
              i386's format (all field are required), as processor
              will perform all the checks upon loading

* idt:          remove the ist thing, we should reserve it for the
              "ABORT" interrupts to use.

* ctx switch:   fix issue of a register being left in stack

* vm:           add sign extend on virtual address to enforce consistency
              adjust the _PTE_X and introduce _PTE_NX
              minor adjustment on vm mapping for easy setup

* kprintf:      fix the 64-bit integer not being correctly displayed
              in hex.

* acpi:         fix the vague use of generic pointer type as acpi
              require all pointer type must be int32

* variadic:     wrap the va_list unpacking method into arch-specific

* makefile:     invoke correct QEMU depend on build architecture

* lunabuild:    disable the gcc's SSE optimization when LConfig does
              enable this.

* elf64:        typo fix, should check for CLASS64 flag set, rather
              than CLASS32

* pmm:          pplist mapping granularity fix.

* reactor:      some refactorings, clarify things

* fix issues all the way to user space

* interrupt64:    incorrect stack address calculation
                  temp saved %rax not being restored
* kern/syscall:   a confrontation to systemv abi, %rbx is trashed
                   without being saved
                  offset miscalculated, replaced with one defined
                   in interrupt64.S.inc to avoid these magic number!
* usr/syscall:    there is no way to force param pass through stack
                   under x86_64, roll back to use registers

* gdt:            it turns out you still need a valid data seg desc
                   for both R0/R3 data selector

* tss:            fix incorrect offset for tss defined in
                   interrupt64.S.inc

* usr:            use -mcmodel=large to link all user program, we
                   may shift to PIC in the near future

* pagetable:      add __paddr to ensure we the calculated address
                   (physical) does not exceed the maximium allowance
                   (that is, 52 bits)

* mempart:        adjust the memory map to move user stack lower,
                   so we can distinguish it from sign extended
                   kernel address visually
                  add extra term for specifiying max stack size
                   PER THREAD, to avoid confusion.

* tlb:            add couple of invalidation to ensure freshness

* procvm:         fix the page table walking on step out single
                   level when the structure has multiple level
                   chained at the last pte. Which result incorrect
                   L(n-1)TEP returned.
                  fix the issue of ptep calculation for establishing
                   self-reference on mounted vms, when we have ptw
                   more than 2 levels.

* thread:         adjust the guardian pte injection logic, so it will
                   no longer occupying the per-thread stack space

* makefile:       add qemu trace for tracking the interrupt event
                   ( require my customized qemu version)

* misc:           refactorings of course.

* fix issues in execve and lunalibc due to change of ABI

* exec:  fix:  incorrect assumption on argv and envp, according to
               the POSIX, envp and argv in execve are mandatory
               (can not be null).

* exec:  ref:  refactor the parameter injection code, so to be more
               uniform and readable. we also remove the auto injection
               of argv[0], and thus it is programmer's responsibility
               to ensure that.

* libc:  fix:  x86_64 ABI for signal trampoline and crt*.S

* i386:  fix:  i386 failed due to previous refactoring.
               The kernel stack page count must be napot.

* an elegant way of configuring and creating QEMU instance

* feat:   rework the way to config and create QEMU instance,
          abstracting all the qemu specifications into a manifest
          file and thus more clear and less error-prone

* feat:   add ability of lazy evaluation of lunaconfig node, thus
          rendering the loading order insignificant

* ref:    separate the qemu launching task from the makefile.

* ref:    clean up and general house-keeping

* always clear the LCR.DLAB bit before configuring

* when two 16550 devices on different bus (isa and pci this case)
  the LCR.DLAB bit is somehow being set, causing subsequent write
  to register become undefined. It is unclear why qemu left this in
  such undefined state.

* add a qemu-dir to qemu.py to allow override the qemu used

* update readme

* change the th_create syscall interface to be more flexible

* th_create syscall need to be change in order to provide
  better integration with user space where trampoline must
  be used.

* increase the limit of maximium syscall number

* re-implement the pthread_create in lunalibc

* fix issue in the threading interfacing

* fix:  thread handler calling in trampoline
* fix:  mismatch parameter count to the printf fmt in test_pthread,
        which causing segfault
* fix:  debug/trace does not print the $pc when a symbol is fail to
        locate

* ref:  refactor the /sys/version mapping to avoid doing formatting
        as they are all compile time constant
* ref:  remove the x86_recv_interrupt_all as it is too noisy.
* ref:  remove redundant cpu feature from the QEMU specification

* update readme
225 files changed:
README.md
lunaix-os/.gitignore
lunaix-os/.vscode/c_cpp_properties.json
lunaix-os/LConfig
lunaix-os/arch/LBuild
lunaix-os/arch/LConfig
lunaix-os/arch/README.md
lunaix-os/arch/generic/includes/sys/hart.h
lunaix-os/arch/generic/includes/sys/mm/mempart.h
lunaix-os/arch/generic/includes/sys/mm/mm_defs.h
lunaix-os/arch/i386/LBuild [deleted file]
lunaix-os/arch/i386/LConfig [deleted file]
lunaix-os/arch/i386/exceptions/i386_isrdef.c [deleted file]
lunaix-os/arch/i386/includes/sys/abi.h [deleted file]
lunaix-os/arch/i386/includes/sys/boot/bstage.h [deleted file]
lunaix-os/arch/i386/includes/sys/i386_intr.h [deleted file]
lunaix-os/arch/i386/includes/sys/mm/mempart.h [deleted file]
lunaix-os/arch/i386/includes/sys/x86_isa.h [deleted file]
lunaix-os/arch/i386/klib/fast_str.c [deleted file]
lunaix-os/arch/i386/trace.c [deleted file]
lunaix-os/arch/x86/LBuild [new file with mode: 0644]
lunaix-os/arch/x86/LConfig [new file with mode: 0644]
lunaix-os/arch/x86/arch.c [moved from lunaix-os/arch/i386/arch.c with 69% similarity]
lunaix-os/arch/x86/boot/boot_helper.c [new file with mode: 0644]
lunaix-os/arch/x86/boot/i386/boot32.S [moved from lunaix-os/arch/i386/boot/boot.S with 74% similarity]
lunaix-os/arch/x86/boot/i386/init32.c [moved from lunaix-os/arch/i386/boot/init32.c with 78% similarity]
lunaix-os/arch/x86/boot/i386/kremap32.c [moved from lunaix-os/arch/i386/boot/kpt_setup.c with 67% similarity]
lunaix-os/arch/x86/boot/i386/prologue32.S [moved from lunaix-os/arch/i386/boot/prologue.S with 82% similarity]
lunaix-os/arch/x86/boot/kpt_setup.c [new file with mode: 0644]
lunaix-os/arch/x86/boot/mb_parser.c [moved from lunaix-os/arch/i386/boot/mb_parser.c with 89% similarity]
lunaix-os/arch/x86/boot/x86_64/boot64.S [new file with mode: 0644]
lunaix-os/arch/x86/boot/x86_64/init64.c [new file with mode: 0644]
lunaix-os/arch/x86/boot/x86_64/kremap64.c [new file with mode: 0644]
lunaix-os/arch/x86/boot/x86_64/prologue64.S [new file with mode: 0644]
lunaix-os/arch/x86/exceptions/interrupt32.S [moved from lunaix-os/arch/i386/exceptions/interrupt.S with 97% similarity]
lunaix-os/arch/x86/exceptions/interrupt64.S [new file with mode: 0644]
lunaix-os/arch/x86/exceptions/interrupts.c [moved from lunaix-os/arch/i386/exceptions/interrupts.c with 82% similarity]
lunaix-os/arch/x86/exceptions/intr_routines.c [moved from lunaix-os/arch/i386/exceptions/intr_routines.c with 93% similarity]
lunaix-os/arch/x86/exceptions/intrhnds.S [moved from lunaix-os/arch/i386/exceptions/intrhnds.S with 96% similarity]
lunaix-os/arch/x86/exceptions/isrdef.c [new file with mode: 0644]
lunaix-os/arch/x86/exceptions/isrm.c [moved from lunaix-os/arch/i386/exceptions/i386_isrm.c with 100% similarity]
lunaix-os/arch/x86/exec/elf32.c [new file with mode: 0644]
lunaix-os/arch/x86/exec/elf64.c [new file with mode: 0644]
lunaix-os/arch/x86/exec/exec.c [new file with mode: 0644]
lunaix-os/arch/x86/failsafe.S [moved from lunaix-os/arch/i386/failsafe.S with 100% similarity]
lunaix-os/arch/x86/gdbstub.c [moved from lunaix-os/arch/i386/gdbstub.c with 92% similarity]
lunaix-os/arch/x86/hal/LBuild [moved from lunaix-os/arch/i386/hal/LBuild with 100% similarity]
lunaix-os/arch/x86/hal/apic.c [moved from lunaix-os/arch/i386/hal/apic.c with 100% similarity]
lunaix-os/arch/x86/hal/apic_timer.c [moved from lunaix-os/arch/i386/hal/apic_timer.c with 100% similarity]
lunaix-os/arch/x86/hal/apic_timer.h [moved from lunaix-os/arch/i386/hal/apic_timer.h with 100% similarity]
lunaix-os/arch/x86/hal/cpu.c [moved from lunaix-os/arch/i386/hal/cpu.c with 100% similarity]
lunaix-os/arch/x86/hal/ioapic.c [moved from lunaix-os/arch/i386/hal/ioapic.c with 100% similarity]
lunaix-os/arch/x86/hal/mc146818a.c [moved from lunaix-os/arch/i386/hal/mc146818a.c with 100% similarity]
lunaix-os/arch/x86/hal/pic.h [moved from lunaix-os/arch/i386/hal/pic.h with 100% similarity]
lunaix-os/arch/x86/hal/ps2kbd.c [moved from lunaix-os/arch/i386/hal/ps2kbd.c with 100% similarity]
lunaix-os/arch/x86/hal/rngx86.c [moved from lunaix-os/arch/i386/hal/rngx86.c with 64% similarity]
lunaix-os/arch/x86/hart.c [new file with mode: 0644]
lunaix-os/arch/x86/hart32.c [moved from lunaix-os/arch/i386/hart.c with 79% similarity]
lunaix-os/arch/x86/hart64.c [new file with mode: 0644]
lunaix-os/arch/x86/includes/linking/base_defs.ld.inc [new file with mode: 0644]
lunaix-os/arch/x86/includes/linking/boot_secs.ldx [new file with mode: 0644]
lunaix-os/arch/x86/includes/sys/abi.h [new file with mode: 0644]
lunaix-os/arch/x86/includes/sys/abi32.h [new file with mode: 0644]
lunaix-os/arch/x86/includes/sys/abi64.h [new file with mode: 0644]
lunaix-os/arch/x86/includes/sys/apic.h [moved from lunaix-os/arch/i386/includes/sys/apic.h with 100% similarity]
lunaix-os/arch/x86/includes/sys/boot/archinit.h [moved from lunaix-os/arch/i386/boot/archinit.h with 77% similarity]
lunaix-os/arch/x86/includes/sys/boot/bstage.h [new file with mode: 0644]
lunaix-os/arch/x86/includes/sys/boot/mb.h [moved from lunaix-os/arch/i386/includes/sys/boot/multiboot.h with 97% similarity]
lunaix-os/arch/x86/includes/sys/boot/mb2.h [new file with mode: 0644]
lunaix-os/arch/x86/includes/sys/boot/multiboot.S.inc [new file with mode: 0644]
lunaix-os/arch/x86/includes/sys/boot/multiboot.h [new file with mode: 0644]
lunaix-os/arch/x86/includes/sys/cpu.h [moved from lunaix-os/arch/i386/includes/sys/cpu.h with 77% similarity]
lunaix-os/arch/x86/includes/sys/crx.h [moved from lunaix-os/arch/i386/includes/sys/crx.h with 69% similarity]
lunaix-os/arch/x86/includes/sys/exebi/elf.h [new file with mode: 0644]
lunaix-os/arch/x86/includes/sys/failsafe.h [moved from lunaix-os/arch/i386/includes/sys/failsafe.h with 73% similarity]
lunaix-os/arch/x86/includes/sys/gdbstub.h [moved from lunaix-os/arch/i386/includes/sys/gdbstub.h with 100% similarity]
lunaix-os/arch/x86/includes/sys/hart.h [moved from lunaix-os/arch/i386/includes/sys/hart.h with 61% similarity]
lunaix-os/arch/x86/includes/sys/int_handler.h [new file with mode: 0644]
lunaix-os/arch/x86/includes/sys/interrupt32.S.inc [moved from lunaix-os/arch/i386/includes/sys/interrupt.S.inc with 100% similarity]
lunaix-os/arch/x86/includes/sys/interrupt64.S.inc [new file with mode: 0644]
lunaix-os/arch/x86/includes/sys/ioapic.h [moved from lunaix-os/arch/i386/includes/sys/ioapic.h with 100% similarity]
lunaix-os/arch/x86/includes/sys/mm/memory.h [moved from lunaix-os/arch/i386/includes/sys/mm/memory.h with 87% similarity]
lunaix-os/arch/x86/includes/sys/mm/mempart.h [new file with mode: 0644]
lunaix-os/arch/x86/includes/sys/mm/mempart32.h [new file with mode: 0644]
lunaix-os/arch/x86/includes/sys/mm/mempart64.h [new file with mode: 0644]
lunaix-os/arch/x86/includes/sys/mm/mm_defs.h [moved from lunaix-os/arch/i386/includes/sys/mm/mm_defs.h with 56% similarity]
lunaix-os/arch/x86/includes/sys/mm/pagetable.h [moved from lunaix-os/arch/i386/includes/sys/mm/pagetable.h with 71% similarity]
lunaix-os/arch/x86/includes/sys/mm/physical.h [moved from lunaix-os/arch/i386/includes/sys/mm/physical.h with 83% similarity]
lunaix-os/arch/x86/includes/sys/mm/pt_def32.h [new file with mode: 0644]
lunaix-os/arch/x86/includes/sys/mm/pt_def64.h [new file with mode: 0644]
lunaix-os/arch/x86/includes/sys/mm/tlb.h [moved from lunaix-os/arch/i386/includes/sys/mm/tlb.h with 100% similarity]
lunaix-os/arch/x86/includes/sys/muldiv64.h [moved from lunaix-os/arch/i386/includes/sys/muldiv64.h with 91% similarity]
lunaix-os/arch/x86/includes/sys/pci_hba.h [moved from lunaix-os/arch/i386/includes/sys/pci_hba.h with 100% similarity]
lunaix-os/arch/x86/includes/sys/port_io.h [moved from lunaix-os/arch/i386/includes/sys/port_io.h with 100% similarity]
lunaix-os/arch/x86/includes/sys/syscall_utils.h [new file with mode: 0644]
lunaix-os/arch/x86/includes/sys/trace.h [moved from lunaix-os/arch/i386/includes/sys/trace.h with 100% similarity]
lunaix-os/arch/x86/includes/sys/vectors.h [moved from lunaix-os/arch/i386/includes/sys/vectors.h with 100% similarity]
lunaix-os/arch/x86/includes/sys/x86_isa.h [new file with mode: 0644]
lunaix-os/arch/x86/klib/fast_crc.c [moved from lunaix-os/arch/i386/klib/fast_crc.c with 100% similarity]
lunaix-os/arch/x86/klib/fast_str.c [new file with mode: 0644]
lunaix-os/arch/x86/mm/fault.c [moved from lunaix-os/arch/i386/mm/fault.c with 91% similarity]
lunaix-os/arch/x86/mm/gdt.c [moved from lunaix-os/arch/i386/mm/gdt.c with 56% similarity]
lunaix-os/arch/x86/mm/pmm.c [moved from lunaix-os/arch/i386/mm/pmm.c with 73% similarity]
lunaix-os/arch/x86/mm/tlb.c [moved from lunaix-os/arch/i386/mm/tlb.c with 100% similarity]
lunaix-os/arch/x86/mm/vmutils.c [moved from lunaix-os/arch/i386/mm/vmutils.c with 72% similarity]
lunaix-os/arch/x86/syscall32.S [moved from lunaix-os/arch/i386/syscall.S with 72% similarity]
lunaix-os/arch/x86/syscall64.S [new file with mode: 0644]
lunaix-os/arch/x86/trace.c [new file with mode: 0644]
lunaix-os/hal/acpi/acpi.c
lunaix-os/hal/acpi/parser/madt_parser.c
lunaix-os/hal/acpi/parser/mcfg_parser.c
lunaix-os/hal/char/serial.c
lunaix-os/hal/char/uart/16550.h
lunaix-os/hal/char/uart/16550_base.c
lunaix-os/includes/hal/acpi/fadt.h
lunaix-os/includes/hal/acpi/madt.h
lunaix-os/includes/hal/acpi/sdt.h
lunaix-os/includes/klibc/ia_utils.h
lunaix-os/includes/lunaix/blkpart_gpt.h
lunaix-os/includes/lunaix/boot_generic.h
lunaix-os/includes/lunaix/compiler.h
lunaix-os/includes/lunaix/exebi/elf.h [new file with mode: 0644]
lunaix-os/includes/lunaix/exebi/elf32.h [deleted file]
lunaix-os/includes/lunaix/exec.h
lunaix-os/includes/lunaix/fs/iso9660.h
lunaix-os/includes/lunaix/fs/twimap.h
lunaix-os/includes/lunaix/mm/mm.h
lunaix-os/includes/lunaix/mm/mmap.h
lunaix-os/includes/lunaix/mm/pagetable.h
lunaix-os/includes/lunaix/process.h
lunaix-os/includes/lunaix/signal.h
lunaix-os/includes/lunaix/syscall_utils.h
lunaix-os/includes/lunaix/types.h
lunaix-os/includes/usr/lunaix/mann_flags.h
lunaix-os/includes/usr/lunaix/syscallid.h
lunaix-os/includes/usr/lunaix/threads.h
lunaix-os/kernel.mk
lunaix-os/kernel/boot_helper.c
lunaix-os/kernel/debug/trace.c
lunaix-os/kernel/device/device.c
lunaix-os/kernel/device/poll.c
lunaix-os/kernel/exe/LBuild
lunaix-os/kernel/exe/elf-generic/LBuild [new file with mode: 0644]
lunaix-os/kernel/exe/elf-generic/elfbfmt.c [moved from lunaix-os/kernel/exe/elf32/elf32bfmt.c with 61% similarity]
lunaix-os/kernel/exe/elf-generic/ldelf.c [moved from lunaix-os/kernel/exe/elf32/ldelf32.c with 73% similarity]
lunaix-os/kernel/exe/elf32/LBuild [deleted file]
lunaix-os/kernel/exe/exec.c
lunaix-os/kernel/fs/fs_export.c
lunaix-os/kernel/fs/iso9660/file.c
lunaix-os/kernel/fs/twifs/twifs.c
lunaix-os/kernel/fs/twimap.c
lunaix-os/kernel/fs/vfs.c
lunaix-os/kernel/kinit.c
lunaix-os/kernel/kprint/kprintf.c
lunaix-os/kernel/lunad.c
lunaix-os/kernel/mm/dmm.c
lunaix-os/kernel/mm/fault.c
lunaix-os/kernel/mm/mmap.c
lunaix-os/kernel/mm/procvm.c
lunaix-os/kernel/mm/region.c
lunaix-os/kernel/process/process.c
lunaix-os/kernel/process/thread.c
lunaix-os/libs/klibc/itoa.c
lunaix-os/link/base.ldx [new file with mode: 0644]
lunaix-os/link/kernel.ldx [new file with mode: 0644]
lunaix-os/link/lga.ldx [new file with mode: 0644]
lunaix-os/link/linker.ld [deleted file]
lunaix-os/link/lunaix.ldx [new file with mode: 0644]
lunaix-os/live_debug.sh [new file with mode: 0755]
lunaix-os/makefile
lunaix-os/makeinc/lunabuild.mkinc [new file with mode: 0644]
lunaix-os/makeinc/os.mkinc [deleted file]
lunaix-os/makeinc/qemu.mkinc [deleted file]
lunaix-os/makeinc/toolchain.mkinc
lunaix-os/scripts/build-tools/lbuild/contract.py
lunaix-os/scripts/build-tools/lcfg/builtins.py
lunaix-os/scripts/build-tools/lcfg/common.py
lunaix-os/scripts/build-tools/lcfg/lcnodes.py
lunaix-os/scripts/build-tools/luna_build.py
lunaix-os/scripts/gen_ksymtable.sh
lunaix-os/scripts/grub/GRUB_TEMPLATE
lunaix-os/scripts/qemu.py [new file with mode: 0755]
lunaix-os/scripts/qemus/qemu_x86_dev.json [new file with mode: 0644]
lunaix-os/usr/.gitignore
lunaix-os/usr/LBuild [new file with mode: 0644]
lunaix-os/usr/LConfig [new file with mode: 0644]
lunaix-os/usr/execs.list [deleted file]
lunaix-os/usr/init/init.c
lunaix-os/usr/libc/LBuild [new file with mode: 0644]
lunaix-os/usr/libc/arch/i386/LBuild [new file with mode: 0644]
lunaix-os/usr/libc/arch/i386/crt0.S
lunaix-os/usr/libc/arch/i386/dirent.c [deleted file]
lunaix-os/usr/libc/arch/i386/errno.c [deleted file]
lunaix-os/usr/libc/arch/i386/fcntl.c [deleted file]
lunaix-os/usr/libc/arch/i386/ioctl.c [deleted file]
lunaix-os/usr/libc/arch/i386/lunaix.c [deleted file]
lunaix-os/usr/libc/arch/i386/mann.c [deleted file]
lunaix-os/usr/libc/arch/i386/mount.c [deleted file]
lunaix-os/usr/libc/arch/i386/syscall.S
lunaix-os/usr/libc/arch/i386/syscall.h [deleted file]
lunaix-os/usr/libc/arch/i386/trampoline.S
lunaix-os/usr/libc/arch/i386/unistd.c [deleted file]
lunaix-os/usr/libc/arch/x86_64/LBuild [new file with mode: 0644]
lunaix-os/usr/libc/arch/x86_64/crt0.S [new file with mode: 0644]
lunaix-os/usr/libc/arch/x86_64/syscall.S [new file with mode: 0644]
lunaix-os/usr/libc/arch/x86_64/trampoline.S [new file with mode: 0644]
lunaix-os/usr/libc/includes/lunaix/mann.h
lunaix-os/usr/libc/includes/lunaix/syscall.h
lunaix-os/usr/libc/includes/stdio.h
lunaix-os/usr/libc/makefile
lunaix-os/usr/libc/src/_vprintf.c
lunaix-os/usr/libc/src/posix/dirent.c [new file with mode: 0644]
lunaix-os/usr/libc/src/posix/errno.c [new file with mode: 0644]
lunaix-os/usr/libc/src/posix/fcntl.c [new file with mode: 0644]
lunaix-os/usr/libc/src/posix/ioctl.c [new file with mode: 0644]
lunaix-os/usr/libc/src/posix/lunaix.c [new file with mode: 0644]
lunaix-os/usr/libc/src/posix/mann.c [new file with mode: 0644]
lunaix-os/usr/libc/src/posix/mount.c [new file with mode: 0644]
lunaix-os/usr/libc/src/posix/signal.c [moved from lunaix-os/usr/libc/arch/i386/signal.c with 58% similarity]
lunaix-os/usr/libc/src/posix/unistd.c [new file with mode: 0644]
lunaix-os/usr/libc/src/pthread.c
lunaix-os/usr/makefile
lunaix-os/usr/sh/sh.c
lunaix-os/usr/test_pthread.c
lunaix-os/usr/uexec.ldx [moved from lunaix-os/usr/link-usr.ld with 62% similarity]