Skip to content
Snippets Groups Projects
  1. Mar 22, 2019
    • Lioncash's avatar
      file_sys/patch_manager: Deduplicate NSO header · 1cf90f45
      Lioncash authored
      This source file was utilizing its own version of the NSO header.
      Instead of keeping this around, we can have the patch manager also use
      the version of the header that we have defined in loader/nso.h
      1cf90f45
    • Lioncash's avatar
      loader/nso: Fix definition of the NSO header struct · 90e27ea0
      Lioncash authored
      The total struct itself is 0x100 (256) bytes in size, so we should be
      providing that amount of data.
      
      Without the data, this can result in omitted data from the final loaded
      NSO file.
      90e27ea0
  2. Mar 20, 2019
    • Lioncash's avatar
      kernel: Move CodeSet structure to its own source files · 1b6bd9d6
      Lioncash authored
      Given this is utilized by the loaders, this allows avoiding inclusion of
      the kernel process definitions where avoidable.
      
      This also keeps the loading format for all executable data separate from
      the kernel objects.
      1b6bd9d6
  3. Mar 05, 2019
  4. Mar 04, 2019
  5. Dec 03, 2018
  6. Oct 29, 2018
  7. Oct 15, 2018
  8. Oct 12, 2018
    • Lioncash's avatar
      kernel/process: Make CodeSet a regular non-inherited object · 1abed2f4
      Lioncash authored
      These only exist to ferry data into a Process instance and end up going
      out of scope quite early. Because of this, we can just make it a plain
      struct for holding things and just std::move it into the relevant
      function. There's no need to make this inherit from the kernel's Object
      type.
      1abed2f4
  9. Oct 07, 2018
  10. Oct 02, 2018
  11. Oct 01, 2018
  12. Sep 30, 2018
    • Lioncash's avatar
      kernel/process: Make data member variables private · cf9d6c6f
      Lioncash authored
      Makes the public interface consistent in terms of how accesses are done
      on a process object. It also makes it slightly nicer to reason about the
      logic of the process class, as we don't want to expose everything to
      external code.
      cf9d6c6f
  13. Sep 29, 2018
  14. Sep 25, 2018
    • Lioncash's avatar
      memory: Dehardcode the use of fixed memory range constants · 83377113
      Lioncash authored
      The locations of these can actually vary depending on the address space
      layout, so we shouldn't be using these when determining where to map
      memory or be using them as offsets for calculations. This keeps all the
      memory ranges flexible and malleable based off of the virtual memory
      manager instance state.
      83377113
  15. Sep 24, 2018
  16. Sep 21, 2018
  17. Sep 13, 2018
  18. Aug 31, 2018
    • Lioncash's avatar
      core/core: Replace includes with forward declarations where applicable · 4a587b81
      Lioncash authored
      The follow-up to e2457418, which
      replaces most of the includes in the core header with forward declarations.
      
      This makes it so that if any of the headers the core header was
      previously including change, then no one will need to rebuild the bulk
      of the core, due to core.h being quite a prevalent inclusion.
      
      This should make turnaround for changes much faster for developers.
      4a587b81
  19. Aug 29, 2018
    • Lioncash's avatar
      kernel: Eliminate kernel global state · 0cbcd6ec
      Lioncash authored
      As means to pave the way for getting rid of global state within core,
      This eliminates kernel global state by removing all globals. Instead
      this introduces a KernelCore class which acts as a kernel instance. This
      instance lives in the System class, which keeps its lifetime contained
      to the lifetime of the System class.
      
      This also forces the kernel types to actually interact with the main
      kernel instance itself instead of having transient kernel state placed
      all over several translation units, keeping everything together. It also
      has a nice consequence of making dependencies much more explicit.
      
      This also makes our initialization a tad bit more correct. Previously we
      were creating a kernel process before the actual kernel was initialized,
      which doesn't really make much sense.
      
      The KernelCore class itself follows the PImpl idiom, which allows
      keeping all the implementation details sealed away from everything else,
      which forces the use of the exposed API and allows us to avoid any
      unnecessary inclusions within the main kernel header.
      0cbcd6ec
  20. Aug 15, 2018
  21. Aug 03, 2018
  22. Jul 20, 2018
  23. Jul 19, 2018
  24. Jul 17, 2018
  25. Jul 13, 2018
    • Hedges's avatar
      More improvements to GDBStub (#653) · e066bc75
      Hedges authored
      * More improvements to GDBStub
      - Debugging of threads should work correctly with source and assembly level stepping and modifying registers and memory, meaning threads and callstacks are fully clickable in VS.
      - List of modules is available to the client, with assumption that .nro and .nso are backed up by an .elf with symbols, while deconstructed ROMs keep N names.
      - Initial support for floating point registers.
      
      * Tidy up as requested in PR feedback
      
      * Tidy up as requested in PR feedback
      e066bc75
  26. Jul 08, 2018
  27. Jul 06, 2018
    • Zach Hilman's avatar
      Virtual Filesystem (#597) · 77c684c1
      Zach Hilman authored
      * Add VfsFile and VfsDirectory classes
      
      * Finish abstract Vfs classes
      
      * Implement RealVfsFile (computer fs backend)
      
      * Finish RealVfsFile and RealVfsDirectory
      
      * Finished OffsetVfsFile
      
      * More changes
      
      * Fix import paths
      
      * Major refactor
      
      * Remove double const
      
      * Use experimental/filesystem or filesystem depending on compiler
      
      * Port partition_filesystem
      
      * More changes
      
      * More Overhaul
      
      * FSP_SRV fixes
      
      * Fixes and testing
      
      * Try to get filesystem to compile
      
      * Filesystem on linux
      
      * Remove std::filesystem and document/test
      
      * Compile fixes
      
      * Missing include
      
      * Bug fixes
      
      * Fixes
      
      * Rename v_file and v_dir
      
      * clang-format fix
      
      * Rename NGLOG_* to LOG_*
      
      * Most review changes
      
      * Fix TODO
      
      * Guess 'main' to be Directory by filename
      77c684c1
  28. Jul 03, 2018
  29. Jun 21, 2018
    • Zach Hilman's avatar
      Add support for decrypted NCA files (#567) · 63f26d5c
      Zach Hilman authored
      * Start to add NCA support in loader
      
      * More nca stuff
      
      * More changes to nca.cpp
      
      * Now identifies decrypted NCA cont.
      
      * Game list fixes and more structs and stuff
      
      * More updates to Nca class
      
      * Now reads ExeFs (i think)
      
      * ACTUALLY LOADS EXEFS!
      
      * RomFS loads and games execute
      
      * Cleanup and Finalize
      
      * plumbing, cleanup and testing
      
      * fix some things that i didnt think of before
      
      * Preliminary Review Changes
      
      * Review changes for bunnei and subv
      63f26d5c
  30. May 02, 2018
  31. Apr 27, 2018
Loading