summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-09-20Kernel: Remove stale includes of x86 IO header fileLiav A
The AHCI code doesn't rely on x86 IO at all as it only uses memory mapped IO so we can simply remove the header. We also simply don't use x86 IO in the Intel graphics driver, so we can simply remove the include of the x86 IO header there too. Everything else was a bunch of stale includes to the x86 IO header and are actually not necessary, so let's remove them to make it easier to compile non-x86 Kernel builds.
2022-09-20Kernel/Tests: Don't compile x86 IO for non-x86 buildsLiav A
x86 IO space is not relevant for non-x86 builds so it doesn't make sense to include it in such build as it will not compile anyway.
2022-09-20Kernel: Move VMWare backdoor communication code to the x86 directoryLiav A
The VMWare backdoor handling code involves many x86-specific instructions and therefore should be in the Arch/x86 directory. This ensures we can easily omit the code in compile-time for non-x86 builds.
2022-09-20Kernel: Move PCI initialization x86-specific code to the arch directoryLiav A
It seems more correct to let each platform to define its own sequence of initialization of the PCI bus, so let's remove the #if flags and just put the entire Initializer.cpp file in the appropriate code directory.
2022-09-20Kernel: Don't blindly compile Bochs debug output code in ConsoleDeviceLiav A
Only use the Bochs debug output if we compile a x86 build since bochs debug output relies on x86 specific instructions. We also remove the CONSOLE_OUT_TO_BOCHS_DEBUG_PORT flag as we always compile bochs debug output for x86 builds and we always want to include the bochs debug output capability as it is very handy and doesn't hurt bare metal hardware or do any other problem besides taking a small amount of CPU cycles.
2022-09-20Kernel: Move PCSpeaker code to the x86-specific architecture directoryLiav A
The PCSpeaker code is specific to x86 platforms, thus it makes sense to put in the Arch/x86 subdirectory.
2022-09-20Kernel/PCI: Move IO based HostBridge code to x86 arch-specific directoryLiav A
The simple PCI::HostBridge class implements access to the PCI configuration space by using x86 IO instructions. Therefore, it should be put in the Arch/x86/PCI directory so it can be easily omitted for non-x86 builds.
2022-09-20Kernel: Abstract platform-specific serial port access from kprintfLiav A
kprintf should not really care about the hardware-specific details of each UART or serial port out there, so instead of using x86 specific instructions, let's ensure that we will compile only the relevant code for debug output for a targeted-specific platform.
2022-09-20Kernel/x86: Move RTC and CMOS code to x86 arch-specific subdirectoryLiav A
The RTC and CMOS are currently only supported for x86 platforms and use specific x86 instructions to produce only certain x86 plaform operations and results, therefore, we move them to the Arch/x86 specific directory.
2022-09-20Kernel: Move CMOS code to the Kernel namespaceLiav A
2022-09-20Kernel: Move IO delay code to x86 architecture subdirectoryLiav A
Many code patterns and hardware procedures rely on reliable delay in the microseconds granularity, and since they are using such delays which are valid cases, but should not rely on x86 specific code, we allow to determine in compile time the proper platform-specific code to use to invoke such delays.
2022-09-20Kernel: Put the RTC code in the Kernel namespaceLiav A
We only use the RTC code in the Kernel, so it doesn't make sense to make the RTC namespace outside of it. In addition to that, we will need later on to use the RTC in an x86 specific manner and this will help us to use this code in such fashion.
2022-09-20Kernel: Convert NVMe code includes to absolute pathsLiav A
2022-09-20Kernel: Abstracts x86 reboot and shutdown specific methodsLiav A
We move QEMU and VirtualBox shutdown sequences to a separate file, as well as moving the i8042 reboot code sequence too to another file. This allows us to abstract specific methods from the power state node code of the SysFS filesystem, to allow other architectures to put their methods there too in the future.
2022-09-20Kernel/PCI: Don't use x86 initialization methods in non-x86 buildsLiav A
Using the IO address space is only relevant for x86 machines, so let's not compile instructions to access the PCI configuration space when we don't target x86 platforms.
2022-09-20Kernel: Move QEMU shutdown code to the x86 subdirectoryLiav A
QEMU VM shutdown code is really x86 specific, so let's ensure we only use it when compiling a Kernel for x86 machines.
2022-09-20Calendar: Add Settings button to configure the CalendarOlivier De Cannière
2022-09-20Calendar: Update month view on first_day_of_week setting changeOlivier De Cannière
Now when the user changes their preferred first day of the week in the Calendar Settings, the Calendar application and applet views are update accordingly without needing to restart them.
2022-09-20Calendar: Add setting to choose default viewOlivier De Cannière
This commit adds an entry to the Calendar Settings to allow the user to select between the month and year views as the startup default.
2022-09-20Calendar: Add a Calendar settings dialog for the first day of the weekOlivier De Cannière
This commit adds a new settings dialog for the Calendar application and applet. It allows the user to specify their preferred first day of the week.
2022-09-20Calendar: Support preferred first day of the weekOlivier De Cannière
2022-09-20LibWeb: Implement Element.insertAdjacentHTML() from DOM ParsingAndreas Kling
One edge case is left as a TODO() for now, since I'm not entirely sure how to construct an element to those specifications. With this patch, we can now run the Speedometer benchmark! :^)
2022-09-20AK: Fix bad parsing of some file:/// URLs with base URLAndreas Kling
We were dropping the base URL path components in the resulting URL due to mistakenly determining the input URL to start with a Windows drive letter. Fix this, add a spec link, and a test.
2022-09-20LibWeb: Implement Window.frameElementAndreas Kling
2022-09-20LibWeb: Flesh out the default "quirks mode" style sheetAndreas Kling
Import all the quirks mode rules from the HTML spec. There's more to quirks mode, of course, but it's nice that we can just copy these.
2022-09-20LibWeb: Initialize document referrer from Fetch Request if availableAndreas Kling
2022-09-20LibWeb: Add referrer accessors to Fetch RequestAndreas Kling
2022-09-20LibC+LibRegex: Move central regex definitions into LibC/bitsAli Mohammad Pur
This decouples LibRegex from the serenity LibC. Fixes #15251.
2022-09-20LibCore: Actually tell people to stop using Core::File in new codeSam Atkins
Otherwise, we keep getting new code merged that uses it, which requires fixing later.
2022-09-20MasterWord: Port to Core::StreamSam Atkins
2022-09-20Profiler: Port to Core::StreamSam Atkins
2022-09-20SoundPlayer: Port M3UParser to Core::StreamSam Atkins
Also make the path parameter a StringView, since that's what gets passed in.
2022-09-20StateMachineGenerator: Port to LibMain and Core::StreamSam Atkins
2022-09-20LibEDID: Use Core::Stream API to generate PnpIDsSam Atkins
2022-09-20IPCCompiler: Use Core::Stream APISam Atkins
2022-09-20Run: Use Core::Stream API for command history fileSam Atkins
2022-09-20PixelPaint: Remove unused Image::write_to_file() methodSam Atkins
This seems to be a remnant from before FileSystemAccessClient was used.
2022-09-20LibGUI: Use fuzzy matching when searching for emoji by nameTimothy Flynn
This allows the user to have slight typos in their search query.
2022-09-20AK: Do not require an allocated String for fuzzy matchingTimothy Flynn
A StringView is sufficient here. This also removes the declaration of fuzzy_match_recursive from the header, as it's only needed from within the implementation file.
2022-09-20LibWeb+WebContent+Browser: Plumb visibility state from GUI to web pagesAndreas Kling
OOPWV now reacts to show/hide events and informs LibWeb about the state change. This makes visibilitychange events fire when switching tabs. :^)
2022-09-20LibGUI: Fire Show/Hide events when adding/removing widget from treeAndreas Kling
This ensures that widgets always get an initial show event.
2022-09-20LibWeb: Flesh out a chunk of the HTML spec's frame navigation algorithmsAndreas Kling
2022-09-20LibWeb: Keep more of the navigation parameters in DocumentAndreas Kling
2022-09-20LibWeb: Flesh out "document visibility" state a bit moreAndreas Kling
We can now "update the visibility state", which also causes `visibilitychange` events to fire on the document. This still needs GUI integration work at the BrowsingContext level.
2022-09-20LibWeb: Move HistoryHandlingBehavior enum to its own headerAndreas Kling
This avoids a header cycle in a subsequent patch.
2022-09-20LibWeb: Implement more spec-compliant iframe/frame attribute processingAndreas Kling
We're still missing the lazy loading attribute handling, and once we hit the navigation step, we fall back to totally ad-hoc behavior instead of going all the way with a Fetch Request.
2022-09-20LibWeb: Set the document "completely loaded time" when appropriateAndreas Kling
2022-09-20LibWeb: Only create iframe nested context if iframe document has contextAndreas Kling
We had glossed over a condition in the spec that said we should only run the nested context creation steps when the iframe's own containing document has a browsing context.
2022-09-20LibWeb: Implement "browsing context group" concept from the HTML specAndreas Kling
2022-09-20LibWeb: Remove unused Layout::Node::did_insert_into_layout_tree()Andreas Kling