summaryrefslogtreecommitdiff
path: root/Meta
AgeCommit message (Collapse)Author
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
2021-06-27Meta: Do not use gl=on if building in WSLstelar7
2021-06-26Meta: Use virtio-vga instead of virtio-gpu if using multiple monitorsSahan Fernando
2021-06-25Meta: Force relative mouse coordinates with multiple screensTom
QEMU appears to always relay absolute mouse coordinates relative to the screen that the mouse is pointed to, without any way for us to know what screen it was. So, when dealing with multiple displays force using relative coordinates only.
2021-06-25Meta: Add SERENITY_SCREENS environment variableTom
This allows specifying how many screens we should use. This also then only enables virtio-gpu if more than one display is requested. This also adds an environment variable SERENITY_QEMU_DISPLAY_BACKEND which allows overriding the default qemu display backend, as it may not be available.
2021-06-25Kernel: Add VirtIOGPU graphics deviceSahan Fernando
2021-06-25Toolchain: Add the AFLACLOADER_DEBUG macrokleines Filmröllchen
This enables FLAC debugging output, which is used with the new FLAC loader introduced in later commits.
2021-06-25Meta: Increase RAM amount for BochsGunnar Beutner
Booting with 128 MB of RAM is kind of tough.
2021-06-25Kernel: Build the x86_64 kernel as an ELF32 executableGunnar Beutner
Multiboot only supports ELF32 executables. This changes the build process to build an ELF32 executable which has a 32-bit entry point, but consists of mostly 64-bit code.
2021-06-25Meta: Run 64-bit kernels with qemu-system-x86_64Gunnar Beutner
2021-06-24LibSQL: Move Lexer and Parser machinery to AST directoryJan de Visser
The SQL engine is expected to be a fairly sizeable piece of software. Therefore we're starting to restructure the codebase for growth.
2021-06-22LibCore: Add unit test for File::read_linecoderdreams
2021-06-22LibWasm: Generate all spec tests, even ones that aren't valid modulesAli Mohammad Pur
`wasm-as` will do some semantic analysis on the modules, which is not something we're looking for here. Instead, use `wat2wasm` to generate the exact module.
2021-06-22Meta+LibWasm: Add support for module linking testsAli Mohammad Pur
This commit makes the linking tests in the wasm spec test run.
2021-06-19LibCrypto+LibTLS: Split and move test suite into Tests directoryPeter Bocan
This change splits test-crypto.cpp from Userland into separate test suites located in Tests/ directory.
2021-06-19LibCoreDump: Include source locations of inlined functions in backtraceItamar
2021-06-18Lagom/Fuzzers: Add fuzzers for all current hashing functionsLuke
Namely MD5, SHA1, SHA256, SHA384 and SHA512.
2021-06-18Meta: Ensure long messages fit in commit tweetSam Atkins
Abbreviating the commit message to 240 characters was not always enough. As a bonus, we now add an ellipsis to abbreviated messages.
2021-06-17Lagom: Add an install targetsin-ack
This is used by libjs-test262-runner to be able to copy the libraries within its own build directory in order to link with them.
2021-06-17Meta: Increase additional space for disk imagesGunnar Beutner
Previously we'd add 100MB on top of what du returned for the Root directory. This increases that to 500MB.
2021-06-17Meta: Allow building images without most utilitiesGunnar Beutner
Previously the build script assumed that certain utilities were always available.
2021-06-17Meta: Add support for declaring componentsGunnar Beutner
Components are a group of build targets that can be built and installed separately. Whether a component should be built can be configured with CMake arguments: -DBUILD_<NAME>=ON|OFF, where <NAME> is the name of the component (in all caps). Components can be marked as REQUIRED if they're necessary for a minimally functional base system or they can be marked as RECOMMENDED if they're not strictly necessary but are useful for most users. A component can have an optional description which isn't used by the build system but may be useful for a configuration UI. Components specify the TARGETS which should be built when the component is enabled. They can also specify other components which they depend on (with DEPENDS). This also adds the BUILD_EVERYTHING CMake variable which lets the user build all optional components. For now this defaults to ON to make the transition to the components-based build system easier. The list of components is exported as an INI file in the build directory (e.g. Build/i686/components.ini). Fixes #8048.
2021-06-16Meta: Remove gdb pretty printer for AK::InlineLinkedListBrian Gianforcaro
2021-06-15LibJS: Add a basic pass manager and add some basic passesAli Mohammad Pur
This commit adds a bunch of passes, the most interesting of which is a pass that merges blocks together, and a pass that places blocks that flow into each other next to each other, and a very simply pass that removes duplicate basic blocks. Note that this does not remove the jump at the end of each block in that pass to avoid scope creep in the passes.
2021-06-14Everywhere: Use new discord invite url :^)networkException
Replaces all instances of the previous discord invite link with a shiny new vanity url.
2021-06-13Meta: Fix QEMU version check in run.shApoorv Mishra
The QEMU version check in `Meta/run.sh` fails on macOS because the BSD version of `grep` does not support the `-P` option. Using `sed` instead.
2021-06-12USB: Further Implement USB StructuresJesse Buhagiar
These are the actual structures that allow USB to work (i.e the ones actually defined in the specification). This should provide us enough of a baseline implementation that we can build on to support different types of USB device.
2021-06-11Meta: Fuzz the LibIMAP Parserx-yl
2021-06-11Revert "Meta: Use Intel 82574 instead of Intel 82540 in the run script"Gunnar Beutner
This reverts commit 84b2dc0fb89e8d99e87100fdcccfa2639b7c77be.
2021-06-10Kernel: Add driver for RTL8168 & RTL8111 NICsIdan Horowitz
These are pretty common on older LGA1366 & LGA1150 motherboards. NOTE: Since the registers datasheets for all versions of the chip besides versions 1 - 3 are still under NDAs i had to collect several "magical vendor constants" from the *BSD driver and the linux driver that i was not able to name verbosely, and as such these are labeled with the comment "vendor magic values".
2021-06-09Meta: Use Intel 82574 instead of Intel 82540 in the run scriptLiav A
2021-06-09Kernel/Net: Support Intel 82574 adapterLiav A
We call it E1000E, because the layout for these cards is somewhat not the same like E1000 supported cards. Also, this card supports advanced features that are not supported on 8254x cards.
2021-06-09Meta: Check installed QEMU versionApoorv Mishra
`ninja install` fails with a clueless error message if the installed QEMU version is less than 5.0.
2021-06-08Websites: Some updates for the serenityos.org front pageAndreas Kling
- Add link to the Discord server - Remove reference to Freenode IRC channel since it's no longer used - Add sponsorship links for Linus :^)
2021-06-07LibJS: Move bytecode debug spam behind JS_BYTECODE_DEBUG :^)Andreas Kling
2021-06-06LibVideo: Scaffold LibVideo and implement simplistic Matroska parserFalseHonesty
This commit initializes the LibVideo library and implements parsing basic Matroska container files. Currently, it will only parse audio and video tracks.
2021-06-06AK+Everywhere: Disallow constructing Functions from incompatible typesAli Mohammad Pur
Previously, AK::Function would accept _any_ callable type, and try to call it when called, first with the given set of arguments, then with zero arguments, and if all of those failed, it would simply not call the function and **return a value-constructed Out type**. This lead to many, many, many hard to debug situations when someone forgot a `const` in their lambda argument types, and many cases of people taking zero arguments in their lambdas to ignore them. This commit reworks the Function interface to not include any such surprising behaviour, if your function instance is not callable with the declared argument set of the Function, it can simply not be assigned to that Function instance, end of story.
2021-06-04Meta: Don't make wasm tests pass when they cannot read a moduleAli Mohammad Pur
Instead, just let them be treated as failing their respective test.