summaryrefslogtreecommitdiff
path: root/Meta
AgeCommit message (Collapse)Author
2021-07-18Kernel: Fix GRUB config by specifying the correct file nameGunnar Beutner
2021-07-18Kernel: Introduce basic pre-kernel environmentGunnar Beutner
This implements a simple bootloader that is capable of loading ELF64 kernel images. It does this by using QEMU/GRUB to load the kernel image from disk and pass it to our bootloader as a Multiboot module. The bootloader then parses the ELF image and sets it up appropriately. The kernel's entry point is a C++ function with architecture-native code. Co-authored-by: Liav A <liavalb@gmail.com>
2021-07-18Kernel: Split debug symbols into a separate fileGunnar Beutner
This speeds up the boot process considerably when specifying the kernel image via -initrd.
2021-07-15Meta: Do not warn user about too modern clang-formatRiyyi
To prevent warnings for users of varying distributions, do not warn the user if the clang-version is higher than the expected version.
2021-07-14Meta: Fix SPICE detection in run.shSam Atkins
The previous fix did not work for me, but this does. :^) Credit goes to @X-yl for actually figuring it out.
2021-07-14Meta: Don't use SPICE if QEMU doesn't support itx-yl
I do seem to have a tendency for breaking everyone's builds :/
2021-07-14Meta: Change QEMU options in run.sh to use SPICEx-yl
If QEMU has the qemu_vdagent chardev (should be present in QEMU 6.1) then we use that as the SPICE client. If qemu_vdagent is not present, no SPICE client will be launched by default because it makes the display a bit choppy. Set SERENITY_SPICE to override the default behavior and use your default SPICE client.
2021-07-13Meta: Remove options of explicit command line runners in run scriptLiav A
Let's remove the qcmd and q35_cmd options and instead have a simple "q35" run option. Specifiying the kernel command line was a neat trick I personally used for many debug sessions, but it seems better to stick to setting it internally in the kernel or modifying the shell SERENITY_KERNEL_CMDLINE environment variable to do this.
2021-07-13Meta: Tweak qemu run script to use pcie-root-portsLiav A
With this change, we use 6 PCIe root ports in the Q35 machine, and plug the bochs-display device into one of those PCIe ports. We plug the bochs-display as function 0 of that device, because otherwise SeaBIOS and also the kernel will not detect its presence.
2021-07-13CI: Disallow spaces just before the separating colon in commit titlesIdan Horowitz
2021-07-13Meta: Make sure files are installed with the right UID and GIDGunnar Beutner
Unfortunately we can't just use --chown everywhere because only rsync version 3.1 and newer support it and the default rsync on macOS is 2.6.9. Fixes #8711.
2021-07-13Meta: Fix QEMU detection for WSL2 if QEMU isn't installed on the C driveGunnar Beutner
2021-07-13Lagom/Fuzzers: Add fuzzer for FLAC loaderLuke
2021-07-13Lagom/Fuzzers: Add fuzzer for POSIX basic regex parserLuke
2021-07-12Meta: Skip WebAssembly loop test generationAndrew Kaster
This test hangs and times out.
2021-07-12AK+Meta: Remove unused AUTOCOMPLETE_DEBUG flagAndrew Kaster
2021-07-11Meta: Only use -display sdl for multiple screens when it's availableGunnar Beutner
2021-07-11Meta: Use gl=off for QEMU by defaultGunnar Beutner
2021-07-11Meta: Use the SDL backend for QEMU on WindowsGunnar Beutner
2021-07-11Meta: Only try to use SDL when there are multiple displaysx-yl
SDL brings with it an annoying issue whereby trying to resize the window before Serenity starts up prevents it from automatically resizing to fit the screen. This patch makes the previous behavior (i.e using the GTK backend) the default unless SERENITY_SCREENS is greater than 1.
2021-07-10Documentation+Meta: Automatically add disable_virtio on WindowsGunnar Beutner
2021-07-10Documentation+Meta: Automatically set vmx=off on WindowsGunnar Beutner
2021-07-10Meta: Automatically use WSL paths on WindowsGunnar Beutner
2021-07-10Documentation: Reorganize the build documentationGunnar Beutner
2021-07-10Meta: Automatically pick an appropriate GCC binaryGunnar Beutner
2021-07-08Lagom: Exclude LibSQL/SQLClient.cpp and the sql utility from LagomJan de Visser
Lagom doesn't seem to like IPC services, and sql needs SQLClient.
2021-07-08LibSQL+SQLServer: Build SQLServer system serviceJan de Visser
This patch introduces the SQLServer system server. This service is supposed to be the only process/application talking to database storage. This makes things like locking and caching more reliable, easier to implement, and more efficient. In LibSQL we added a client component that does the ugly IPC nitty- gritty for you. All that's needed is setting a number of event handler lambdas and you can connect to databases and execute statements on them. Applications that wish to use this SQLClient class obviously need to link LibSQL and LibIPC.
2021-07-06Meta: Add the ConfigureComponents utilityMax Wipfli
This adds a utility program which is essentially a command generator for CMake. It reads the 'components.ini' file generated by CMake in the build directory, prompts the user to select a build type and optionally customize it, generates and runs a CMake command as well as 'ninja clean' and 'rm -rf Root', which are needed to properly remove system components. The program uses whiptail(1) for user interaction.
2021-07-06Meta+LibWasm: Correctly parse the invokee name in toplevel invokesAli Mohammad Pur
2021-07-06Meta+LibWasm: Generate calls to functions when they don't have resultsAli Mohammad Pur
2021-07-06LibJS: Remove the default length & attributes from define_native_*Idan Horowitz
These are usually incorrect, and people sometimes forget to add the correct values as a result of them being optional, so they should just be specified explicitly.
2021-07-06LibJS: Add define_direct_property and remove the define_property helperIdan Horowitz
This removes all usages of the non-standard define_property helper method and replaces all it's usages with the specification required alternative or with define_direct_property where appropriate.
2021-07-06Meta: Fix building Lagom on LinuxGunnar Beutner
2021-07-06LibThreading: Fix building the library on macOSGunnar Beutner
2021-07-04Meta: Remove the LibJS OBJECT_DEBUG debug macroLinus Groh
I didn't add any debug logging to the object rewrite, so this is now unused. It's much more correct though, so we can get away with adding ad-hoc logging, should that ever be necessary :^) Side note: this should have a prefix, i.e. JS_OBJECT_DEBUG. The previous name is too generic.
2021-07-04LibTTF: Memory map TTF fonts instead of reading them into heap memoryAndreas Kling
All GUI applications currently load all TTF fonts on startup (to populate the Gfx::FontDatabase. This could probably be smarter.) Before this patch, everyone would open the files and read them into heap-allocated storage. Now we simply mmap() them instead. :^)
2021-07-04LibTTF: Make TTF::Font loading API return error stringsAndreas Kling
2021-07-03Meta: Add missing quotes in Meta/run.shGunnar Beutner
2021-07-03Meta: Use virtualization acceleration if available in CI runsIdan Horowitz
2021-07-03Meta: Add a few more graphics devices to the Q35 for testing purposesLiav A
2021-07-03Meta: Provide better instructions when QEMU is not installed or too oldGunnar Beutner
2021-07-03Meta: Prefer to use the QEMU binaries from the toolchain directoryGunnar Beutner
2021-07-02Revert "Revert "Revert "Kernel: Fix PCI layout of i440fx QEMU machine"""Liav A
This reverts commit a808fff2ec0885138814ceed4cd64169959865c4. I highly suspect the reason it was not working before was fixed in 017c5fc7d9379831b0bc9bfea73262e47f152cb3, so the SB16 DMA can work even if we initialize another E1000 network adapter.
2021-07-01Meta: Make serenity.sh pass the SERENITY_ARCH cmake argument for x86_64Idan Horowitz
This is required as our CMake config defaults to i686 if not overriden manually via the SERENITY_ARCH argument.
2021-06-30Meta: Add environment variable for disabling qemu's gdb socketGal Horowitz
When running QEMU on windows, the `-s` does not work, and causes QEMU to crash, you can now use the environment variable to disable that option.
2021-06-30Meta: Do not use gl=on if building in WSL2Gal Horowitz
The existing check only detects WSL1, this adds a new check which also detects WSL2.
2021-06-29SystemServer+Meta: Use the new SysFSLiav A
We make SystemServer to mount the new SysFS in /sys.
2021-06-29Meta: Change default GDB layoutGunnar Beutner
This adds a TUI window that displays disassembly/source code which I've found quite useful.
2021-06-28Meta: Install 64-bit libgcc_s.so for x86_64 targetsGunnar Beutner
2021-06-28Meta: Choose the QEMU display backend based on whats availableSahan Fernando