Age | Commit message (Collapse) | Author |
|
|
|
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>
|
|
This speeds up the boot process considerably when specifying the kernel
image via -initrd.
|
|
To prevent warnings for users of varying distributions, do not warn the
user if the clang-version is higher than the expected version.
|
|
The previous fix did not work for me, but this does. :^)
Credit goes to @X-yl for actually figuring it out.
|
|
I do seem to have a tendency for breaking everyone's builds :/
|
|
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.
|
|
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.
|
|
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.
|
|
|
|
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.
|
|
|
|
|
|
|
|
This test hangs and times out.
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
Lagom doesn't seem to like IPC services, and sql needs SQLClient.
|
|
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.
|
|
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.
|
|
|
|
|
|
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.
|
|
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.
|
|
|
|
|
|
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.
|
|
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. :^)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
This is required as our CMake config defaults to i686 if not overriden
manually via the SERENITY_ARCH argument.
|
|
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.
|
|
The existing check only detects WSL1, this adds a new check which also
detects WSL2.
|
|
We make SystemServer to mount the new SysFS in /sys.
|
|
This adds a TUI window that displays disassembly/source code which
I've found quite useful.
|
|
|
|
|