summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-05-17Kernel+LibC: Support more `termios` settings in TTYDaniel Bertalan
This commit adds support for the various ECHO* lflags and fixes some POSIX conformance issues around newline handling. Also included are error messages when setting not implemented settings.
2021-05-17LibJS: Default-initialize the current_node pointer member in CallFrameAli Mohammad Pur
Some parts of the code depend on this being nullptr without actually initializing it, leading to odd random crashes. e.g. `VM::call_internal`.
2021-05-17LibCrypto: Fix incorrectly constexpr variableLenny Maiorani
Problem: - Clang ToT reports an error because `digest_size` cannot be evaluated at compile-time. Solution: - Change from using the member function to the `static` shadow of the NTTP.
2021-05-17Kernel: Print failed attempt to shutdown the machineLiav A
Because we don't parse ACPI AML yet, If we are not able to shut down the machine with "hacky" emulation methods - halt and print this state to the users so they know they can shutdown the machine by themselves.
2021-05-17Kernel/Graphics: Be more consistent about arguments passingLiav A
This fixes a bug that was reported on this discord server by @ElectrodeYT - due to the confusion of passing arguments in different orders, we messed up and triggered a page fault due to faulty sizes.
2021-05-17Piano: Use the return key emoji in the key labelsGrant Yap
The new way labels are stored unfortunately makes it *slightly* less convenient to update the lists of white key and black key labels.
2021-05-17Emoji: Add a return key symbolGrant Yap
2021-05-16Ports: Update the packages.db directory in READMEΓ–mer Kurttekin
"packages.db" used to be directly in the "Build" directory but it has been moved to "Build/i686/Root/usr/Ports/" in 6877a5b.
2021-05-16Meta: Run 'du' with '--apparent-size', except on macOSSiddharth Kapoor
Fixes #7172.
2021-05-16GLTeapot: Add support for loading OBJ files containing extra informationErik Biederstadt
If the OBJ loader encounters a file with vertex normals or texture coordinates then it will no longer crash.
2021-05-16LibWeb: Fix "adopt" => "adopt_ref" change in adoptNode exceptionsLuke
This was accidentally changed in b91c49364df1683c7fe1191eb02b8d9c331874f6
2021-05-16GameOfLife: Don't randomize cells on board resizeLinus Groh
Loosing all game state for a simple resize of the board is quite disappointing, so let's not do that. :^)
2021-05-16GameOfLife: Use a frame as the board widget containerLinus Groh
This adds a bit of depth and looks very nice :^)
2021-05-16GameOfLife: Add vertical separator between interval and action buttonsLinus Groh
2021-05-16GameOfLife: Move "ms" interval label to GMLLinus Groh
There's no reason not to!
2021-05-16GameOfLife: Auto-size toolbar labelsLinus Groh
2021-05-16GameOfLife: Remove some unused includesLinus Groh
2021-05-16GameOfLife: Add some margin to the toolbar layoutLinus Groh
Ideally the inner widgets / vertical separators would have some as well, but I'm not sure how right now. One step at a time. :^)
2021-05-16GameOfLife: Switch from single indexed vector to rows+columnsLinus Groh
This is not only easier to comprehend code-wise and avoids some function overloads, but also makes resizing the board while preserving game state *a lot* easier. We now no longer have to allocate a new board on every resize, we just grow/shrink the individual row vectors. Also fixes a crash when clicking the board widget outside of the drawn board area.
2021-05-16Base: Make 16x16 Play/Pause/Stop icons a bit smallerLinus Groh
These all looked out of place both when used on a regular button (e.g. in the SoundPlayer application) and a toolbar action button (e.g. in the GameOfLife application). This makes them a bit smaller (hand-drawn, not scaled down).
2021-05-16Kernel/Graphics: Round size value when mapping real framebufferLiav A
2021-05-16Kernel/Graphics: Assign console to be from VGACompatibleAdapter alwaysLiav A
If we create a VGACompatibleAdapter object with a preset framebuffer, Always assign the console so we can use it. This is useful for modesetting done by a Multiboot loader, like GRUB.
2021-05-16Kernel/Graphics: Fix a method to be more accurate about its nameLiav A
2021-05-16Documentation: Add Sanitizer section to RunningTestsAndrew Kaster
Also, add link to RunningTests BuildInstructions, and clean up stale commands in RunningTests to align to current build strategies.
2021-05-16CI: Compile and run Lagom tests with ASAN and UBSANAndrew Kaster
Make sure halt_on_error=1 is enabled so that UBSAN failures will crash the test program and cause a failure.
2021-05-16AK: Don't read past the end in BitmapView::count_in_range()Andrew Kaster
The current code is factored such that reads to the entirety of the last byte should be dropped. This was relying on the fact that last would be one past the end in that case. Instead of actually reading that byte when it's completely out of bounds of the bitmask, just skip reads that would be invalid. Add more tests to make sure that the behavior is correct for byte aligned reads of byte aligned bitmaps.
2021-05-16LibCore: Use Vector instead of VLA in ArgsParser::parse()Andrew Kaster
If there happens to be zero positional arguments, this constructs a 0-length VLA, which is UB caught by UBSAN.
2021-05-16AK: Don't call memcpy with null argument in ByteBuffer::copy()Andrew Kaster
This was happening in TestBase64.test_decode, while copying an empty string.
2021-05-16Taskbar: Make shutdown dialog non-resizable and tweak button spacingAndreas Kling
2021-05-16LibGUI: Put some more space between check boxes and their label textAndreas Kling
2021-05-16LibGUI: Put some more space between radio buttons and their label textAndreas Kling
2021-05-16Taskbar: Give the shutdown dialog a UI facelift :^)Andreas Kling
2021-05-16Base: Tweak app-text-editor 32x32 icon (pencil color)Andreas Kling
2021-05-16Kernel: Move ConsoleDevice initialization just after kmalloc initLiav A
This will ensure we will get all the kernel log on the second tty.
2021-05-16Kernel: Print all logbuffer from ConsoleDevice to debug Virtual ConsoleLiav A
2021-05-16Meta: Update grub configuration to adopt the new textual boot modeLiav A
2021-05-16Documentation: Update bare metal troubleshooting guideLiav A
2021-05-16Kernel: Allow the user to specify the virtual console when bootingLiav A
2021-05-16Kernel: Print scheduler state to the display consoleLiav A
2021-05-16Kernel/Graphics + SystemServer: Support text mode properlyLiav A
As we removed the support of VBE modesetting that was done by GRUB early on boot, we need to determine if we can modeset the resolution with our drivers, and if not, we should enable text mode and ensure that SystemServer knows about it too. Also, SystemServer should first check if there's a framebuffer device node, which is an indication that text mode was not even if it was requested. Then, if it doesn't find it, it should check what boot_mode argument the user specified (in case it's self-test). This way if we try to use bochs-display device (which is not VGA compatible) and request a text mode, it will not honor the request and will continue with graphical mode. Also try to print critical messages with mininum memory allocations possible. In LibVT, We make the implementation flexible for kernel-specific methods that are implemented in ConsoleImpl class.
2021-05-16Kernel: Expand the kernel memory slot from 16 MiB to 32 MiBLiav A
Like in 8cd5477e54a19d5476e9a31d0677e58c9a4ce12d, we need to expand the kernel slot again to be able to boot again.
2021-05-16Kernel: Don't ref-count UsedMemoryRange during iterationLiav A
2021-05-16Kernel: Rename Console => ConsoleDeviceLiav A
This change will help to distinguish between the console device and the Console abstraction layer in the Graphics subsystem later.
2021-05-16Kernel/PCI: Add helper to determine if device can access IO spaceLiav A
2021-05-16Kernel: Drop support of GRUB VBE modesettingLiav A
We used GRUB to modeset the resolution for a long time, but for good reasons I see no point with keeping it supported in our kernel. We support bochs-display device on QEMU (both the VGA compatible and non-VGA compatible variants), so for QEMU we can still boot the system in graphical mode even without GRUB help. Also, we now have a native driver for Intel graphics and although it doesn't support most Intel graphics cards out there yet, it's a good starting point to support more cards. If a user wants to boot on bare-metal in graphical mode, all he needs to do is to add the removed flag back again, as the kernel still supports pre-set framebuffers.
2021-05-16Kernel/Graphics: Add basic support for Intel native acceleratorLiav A
We simply modeset the resolution after determining the preferred resolution after getting the EDID from the attached display.
2021-05-16Kernel: Introduce a new graphics subsystemLiav A
This new subsystem is replacing the old code that was used to create device nodes of framebuffer devices in /dev. This subsystem includes for now 3 roles: 1. GraphicsManagement singleton object that is used in the boot process to enumerate and initialize display devices. 2. GraphicsDevice(s) that are used to control the display adapter. 3. FramebufferDevice(s) that are used to control the device node in /dev. For now, we support the Bochs display adapter and any other generic VGA compatible adapter that was configured by the boot loader to a known and fixed resolution. Two improvements in the Bochs display adapter code are that we can support native bochs-display device (this device doesn't expose any VGA capabilities) and also that we use the MMIO region, to configure the device, instead of setting IO ports for such tasks.
2021-05-16Meta: Boot the Q35 machine without VGA supportLiav A
Use the bochs-display device instead :)
2021-05-16Kernel: Support the bochs-display deviceLiav A
This device is a graphics display device that is not supporting VGA functionality. Therefore, it exposes a MMIO region to configure it, so we use that region to set the framebuffer resolution.
2021-05-16LibGL: Implement alpha testing in SoftwareRasterizerStephan Unverwerth