summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-01-09LibDebug: Convert a bunch of dbg() to dbgln()Andreas Kling
2021-01-09WindowServer: Don't enter invalid state when using resize corner.Mart G
2021-01-09Chess: Fix button size in the piece promotion dialogAndreas Kling
Fixes #4865.
2021-01-09LibWeb: Convert a bunch of dbg() to dbgln()Andreas Kling
2021-01-09Kernel: Don't put gratuitous cursing in kernel logAndreas Kling
2021-01-09LibVT+Terminal: Resize terminal when font changesAndreas Kling
When the font is changed in the Terminal application, we now resize the terminal window to accomodate the new font.
2021-01-09Everywhere: Colour => ColorAndreas Kling
The system language is US English. :^)
2021-01-09SpaceAnalyzer: use "Proper Noun" name styleTheMorc
2021-01-09Kernel/USB: Implement test transferJesse Buhagiar
We can now test a _very_ basic transaction via `do_debug_transfer()`. This function merely attaches some TDs to the LSCTRL queue head and points some input and output buffers. We then sense an interrupt with USBSTS value of 1, meaning Interrupt On Completion (of the transaction). At this point, the input buffer is filled with some data.
2021-01-09Kernel/USB: Simplify scheduleJesse Buhagiar
It seems like Haiku and Grub do this, so let's not bother with any fancy timing stuff for now (to at least get _something_ working...)
2021-01-09Kernel/USB: Ignore shared IRQsJesse Buhagiar
According the USB spec/UHCI datasheet (as well as the Linux and BSD source code), if we receive an IRQ and USBSTS is 0, then the IRQ does not belong to us and we should immediately jump out of the handler.
2021-01-09Kernel/USB: Add basic root port detection/managementJesse Buhagiar
We can now read/write to the two root ports exposed to the UHCI controller, and detect when a device is plugged in or out via a kernel process that constantly scans the port for any changes. This is very basic, but is a bit of fun to see the kernel detecting hardware on the fly :^)
2021-01-09Kernel/USB: Implement UHCI Data structuresJesse Buhagiar
Implemented both Queue Heads and Transfer Descriptors. These are required to actually perform USB transactions. The UHCI driver sets up a pool of these that can be allocated when we need them. It seems some drivers have these statically allocated, so it might be worth looking into that, but for now, the simple way seems to be to allocate them on the fly as we need them, and then release them.
2021-01-09Kernel/USB: Prevent system crash via correct UHCI inititilisationJesse Buhagiar
It seems that not setting the framelist address register was causing the entire system to lock up as it generated an insane interrupt storm in the IRQ handler for the UHCI controller. We now allocate a 4KiB aligned page via `MemoryManager::allocate_supervisor_physical_page()` and set every value to 1. In effect, this creates a framelist with each entry being a "TERMINATE" entry in which the controller stalls until its' 1mS time slice is up. Some more registers have also been set for consistency, though it seems like this don't need to be set explicitly in software.
2021-01-09Kernel/USB: Move USB classes into `USB` namespaceJesse Buhagiar
The entire USB spec involves more than just UHCI, so let's put everything into it's own nice namespace :^)
2021-01-09Kernel/USB: Move USB related files to into specific directoryJesse Buhagiar
As the USB/UHCI driver grows in size, it'll be much cleaner to have all of the USB related files in one folder where they can be easily accessed :^)
2021-01-09MenuApplets: Open the correct tab in SystemMonitor on applet clickTheMorc
ResourceGraph and Network applets now open their SystemMonitor tab
2021-01-09SystemMonitor: Add args parsing for opening a specific tabTheMorc
This allows SystemMonitor to parse -t or -open-tab argument to open a specific tab. (ex. network, interrupts etc.)
2021-01-09LibGUI: Add set_tab_index methodTheMorc
This method sets the current tab index to the value specified.
2021-01-09LibGUI: Clear the application's drag-hovered widget on drop eventAndreas Kling
When we drop something on any window, there's no longer an ongoing drag so let's forget the drag-hovered widget.
2021-01-09LibGUI: Add visual indicators for accepted drags to view classesAndreas Kling
All the view classes used in FileManager now indicate when they are ready to accept a drop by showing a rounded rectangle around the item.
2021-01-09LibGUI: Add visual indicator for accepted drags to BreadcrumbBarAndreas Kling
BreadcrumbBar segments will now indicate drag acceptance with a rounded rectangle around the accepting segment.
2021-01-09LibGUI: Make AbstractView accept drags (and delegate to model)Andreas Kling
2021-01-09LibGUI: Make SortingProxyModel proxy accepts_drag()Andreas Kling
2021-01-09FileManager+LibGUI: Make the breadcrumb bar accept text/uri-list dragsAndreas Kling
2021-01-09WindowServer+LibGUI: Pass the set of mime types being dragged to clientAndreas Kling
Previously the client would only learn the mime type of what was being dropped on it once the drop occurred. To enable more sophisticated filtering of drag & drop, we now pass along the list of mime types being dragged to the client with each MouseMove event. (Note that MouseMove is translated to the various Drag* events in LibGUI on the client side.)
2021-01-09LibGUI: Have widgets signal willingness to accept dropsAndreas Kling
If a widget accept()'s a "drag enter" event, that widget now becomes the application-wide "pending drop" widget. That state is cleared if the drag moves over another widget (or leaves the window entirely.)
2021-01-09LibCore: Don't auto-accept events that hit bubbling limitAndreas Kling
We were using the "accept" flag on the event to break out of the bubbling loop, but this had lasting consequences since all events that bubbled too far came out looking as if someone had accepted them. If an event is ignored by everyone, it should appear ignored.
2021-01-09LibGUI: Make Widget::HitTestResult::widget a WeakPtrAndreas Kling
2021-01-09WindowServer+LibGUI: Notify hovered window when drag&drop is cancelledAndreas Kling
The hovered window may want to react to a drag being cancelled, even if the drag originated in some other window.
2021-01-09LibGUI: Add "drag enter" and "drag leave" eventsAndreas Kling
These events allow widgets to react when a drag enters/leaves their rectangle. The enter event carries position + mime type, while the leave event has no information.
2021-01-09Profiler: Fix disassembly view to work with shared librariesItamar
Also, update path to kernel image from "boot/kernel" to "boot/Kernel". Fixes #4555
2021-01-09Profiler: Use CoreDumpReader::library_containingItamar
2021-01-09LibCoreDump: Add 'library_containing' API to CoreDump::ReaderItamar
This API returns info about the library whose range in memory contains a given address (similar to 'region_containing', but for libraries).
2021-01-09LibELF: Fix cached sorted symbols in ELF::ImageItamar
Previously, we didn't set the 'symbol' field of SortedSymbol objects in some code paths that populate the sorted symbol cache.
2021-01-09Loader.so+LibELF: Do not read environment variables if AT_SECURE is setItamar
AT_SECURE is set in the auxiliary vector when we execute setuid/setgid programs. In those cases, we do not want to read environment variables that influence the logic of the dynamic loader, as they can be controlled by the user.
2021-01-09LibDebug: Keep going when parent's location info could not be computedItamar
Previously, when trying to parse the location info of a member variable, we asserted that the location info of its parent is of type 'Address'. However, there are cases where we cannot compute the location info of the parent (for example - because we do not yet support the type of debug info generated for it). In those cases, it is better to just leave the location info of the member variable empty instead of crashing.
2021-01-09little: Remove "-Os" compile flagItamar
This flag made gcc generate location info of type "location_list" for 'my_struct', which we do not yet support in LibDebug.
2021-01-09HackStudio: Make debugger support shared librariesItamar
2021-01-09Debugger: Support shared librariesItamar
This makes our cli debugger, 'sdb', conform to the updated DebugSession API and support shared libraries.
2021-01-09LibDebug: Support shared librariesItamar
DebugSession now makes the loader stop after loading the libraries, and parses the loaded libraries of the program before continuing its execution. DebugSession now also supports inserting a breakpoint at a given symbol or source position. Additionally, DebugInfo now takes the base address of its object into consideration.
2021-01-09Loader.so+LibELF: Introduce "_LOADER_BREAKPOINT" environment variableItamar
If set, the dynamic loader will perform a software breakpoint after loading all libraries, and just before jumping to the main entry point. This allows a debugger to inspect the loaded libraries before the program starts executing.
2021-01-09LibELF: Add Symbol::is_undefined()Itamar
2021-01-09CMake: Install sources of LibELFItamar
2021-01-09Profiler: load_from_perfcore_file: handle invalid JSON gracefullyBrendan Coles
2021-01-08FileManager: Remove extra semicolon added by mistake.Emanuele Torre
2021-01-08FileManager: Allow drag&drop onto breadcrumb bar directories :^)Andreas Kling
You can now drop dragged items onto directories in the breadcrumb bar and we'll copy them to that directory for you. Pretty cool!
2021-01-08LibGUI: Make BreadcrumbBar report drop eventsAndreas Kling
Dropping something on a breadcrumb segment button will now fire the BreadcrumbBar::on_drop hook. Fixes #4792.
2021-01-08LibC: Implement tgoto().Tyler Lanphear
2021-01-08LibVT: Implement ICH sequence.Tyler Lanphear