mirror of https://gitlab.com/nakst/essence
finish help/Source Map.md
This commit is contained in:
parent
97d1d27b06
commit
8867d8686a
|
@ -44,7 +44,26 @@ This file contains a list and description of the files and folders in the source
|
|||
- `uefi_loader.s` Second stage of the UEFI boot loader.
|
||||
- `cross/` Contains the cross compiler toolchain.
|
||||
- `bin2/` When using the pre-built toolchain, wrappers of the executables in `bin/` are stored here. These are needed to replace the system root path that was hard coded into the toolchain when it was configured.
|
||||
- `desktop/` TODO
|
||||
- `desktop/` The desktop and user interface.
|
||||
- `prefix.h` The prefix for the C/C++ API header. Contains various macros and things.
|
||||
- `crt1.c` Implementation of `_start` for executables running under the POSIX subsystem. Calls into the C standard library which will call `main`.
|
||||
- `crtglue.c` Redirection of POSIX system calls into `posix.cpp`.
|
||||
- `api.cpp` The main file of the desktop, including initialisation, work queues, user tasks, instances, undo stack management, command management, mount point management, and message processing.
|
||||
- `desktop.cpp` The desktop environment, including container windows, the task bar, the wallpaper, device management, and global initilisation.
|
||||
- `gui.cpp` The user interface. Contains core functionality and various elements. More complicated elements are split off into their own files.
|
||||
- `inspector.cpp` The debug inspector for the user interface.
|
||||
- `list_view.cpp` The list view UI element.
|
||||
- `posix.cpp` The userland implementation of the POSIX subsystem.
|
||||
- `profiling.cpp` Hooks for profiling with the [gf extension pack](https://github.com/nakst/gf).
|
||||
- `renderer.cpp` Rendering of 2D vector graphics.
|
||||
- `settings.cpp` The settings application.
|
||||
- `syscall.cpp` Wrappers of system calls.
|
||||
- `text.cpp` Text rendering, shaping and planning.
|
||||
- `textbox.cpp` The textbox UI element.
|
||||
- `theme.cpp` Theming and rendering for the user interface. More complicated rendering is handled by `renderer.cpp`. Uses the theme file made by `util/designer2.cpp` and stored in `res/Theme.dat`.
|
||||
- `icons.header` A list of constants for each of the icons in the standard icon pack. Automatically generated by `util/render_svg.c`.
|
||||
- `os.header` The API header itself. Language specific headers are generated by `util/header_generator.c`.
|
||||
- `styles.header` A list of styles available in the theme. Automatically generated by `util/designer2.cpp`.
|
||||
- `drivers/` Drivers linked into the kernel.
|
||||
- `acpi.cpp` Simple ACPI layer. Parses the MADT for loading other processors.
|
||||
- `acpi_thermal.cpp` ACPI thermal layer. Requires ACPICA.
|
||||
|
@ -69,7 +88,26 @@ This file contains a list and description of the files and folders in the source
|
|||
- `usb_hid.cpp` USB HID class devices, including keyboards, mice and game controllers.
|
||||
- `xhci.cpp` xHCI USB controller driver.
|
||||
- `help/` You are here! Contains documentation about the project.
|
||||
- `kernel/` TODO
|
||||
- `kernel/` The kernel.
|
||||
- `kernel.h` Internal definitions for the kernel, including tweakable constants for the memory and cache managers, a list of functions that need to be implemented by the architecture specific layer, and includes for all the components of the kernel.
|
||||
- `module.h` The header file to be included by drivers that will be linked into the kernel or loaded as separate modules.
|
||||
- `cache.cpp` The cache manager, used by the file system manager. Provides `CCSpace` which can be read and written to with `CCSpaceAccess`.
|
||||
- `drivers.cpp` Management of drivers and device objects.
|
||||
- `elf.cpp` Loading ELF executables.
|
||||
- `files.cpp` The file system manager. Provides caching of directory structures and enumeration of file systems.
|
||||
- `graphics.cpp` Graphics routines.
|
||||
- `main.cpp` Initialisation and shut down.
|
||||
- `memory.cpp` The memory manager. Manages physical memory and virtual memory spaces.
|
||||
- `networking.cpp` The networking stack. Work in progress.
|
||||
- `objects.cpp` Includes object management and other IPC mechanisms: Opening/closing references to objects, handle tables, message queues, pipes and constant buffers.
|
||||
- `posix.cpp` The kernel side implementation of the POSIX subsystem.
|
||||
- `scheduler.cpp` The scheduler and management of threads and processes.
|
||||
- `symbols.cpp` Management of kernel symbols for linking with driver modules. This is kept as a separate translation unit so that it can receive a list of the functions available in the main kernel translation unit before all being linked together.
|
||||
- `synchronisation.cpp` Contains implementations of the synchronisation primitives and objects that the scheduler supports.
|
||||
- `syscall.cpp` The system call interface, between the desktop and kernel. Note that the system call interface is an internal implementation detail and is *not* an API.
|
||||
- `terminal.cpp` Terminal/serial output and debugging utilities.
|
||||
- `windows.cpp` The window manager.
|
||||
- `config.ini` A list of components and drivers available to the kernel. Drivers can specify a parent driver or module which will load them if a device they manage is enumerated.
|
||||
- `ports/` Ported application, including dependencies.
|
||||
- `res/` Resources, such as fonts and images.
|
||||
- `Fonts/` Fonts. Licenses are contained in this folder.
|
||||
|
|
Loading…
Reference in New Issue