Age | Commit message (Collapse) | Author |
|
|
|
|
|
Fixes #4865.
|
|
|
|
|
|
When the font is changed in the Terminal application, we now resize the
terminal window to accomodate the new font.
|
|
The system language is US English. :^)
|
|
|
|
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.
|
|
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...)
|
|
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.
|
|
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 :^)
|
|
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.
|
|
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.
|
|
The entire USB spec involves more than just UHCI, so
let's put everything into it's own nice namespace :^)
|
|
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 :^)
|
|
ResourceGraph and Network applets now open their SystemMonitor tab
|
|
This allows SystemMonitor to parse -t or -open-tab argument
to open a specific tab. (ex. network, interrupts etc.)
|
|
This method sets the current tab index to the value specified.
|
|
When we drop something on any window, there's no longer an ongoing drag
so let's forget the drag-hovered widget.
|
|
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.
|
|
BreadcrumbBar segments will now indicate drag acceptance with a rounded
rectangle around the accepting segment.
|
|
|
|
|
|
|
|
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.)
|
|
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.)
|
|
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.
|
|
|
|
The hovered window may want to react to a drag being cancelled, even
if the drag originated in some other window.
|
|
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.
|
|
Also, update path to kernel image from "boot/kernel" to "boot/Kernel".
Fixes #4555
|
|
|
|
This API returns info about the library whose range in memory contains
a given address (similar to 'region_containing', but for libraries).
|
|
Previously, we didn't set the 'symbol' field of SortedSymbol objects in
some code paths that populate the sorted symbol cache.
|
|
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.
|
|
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.
|
|
This flag made gcc generate location info of type "location_list" for
'my_struct', which we do not yet support in LibDebug.
|
|
|
|
This makes our cli debugger, 'sdb', conform to the updated DebugSession
API and support shared libraries.
|
|
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.
|
|
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.
|
|
|
|
|
|
|
|
|
|
You can now drop dragged items onto directories in the breadcrumb bar
and we'll copy them to that directory for you. Pretty cool!
|
|
Dropping something on a breadcrumb segment button will now fire the
BreadcrumbBar::on_drop hook.
Fixes #4792.
|
|
|
|
|