Liav A
9587f2d3ee
Kernel: Add SharedIRQHandler class
...
This class represents a shared interrupt handler. This class will not be
created automatically but only if two IRQ Handlers are sharing the same
IRQ number.
2020-02-24 11:27:03 +01:00
Liav A
740534cd67
Kernel: Update system components to use the new IRQHandler class
2020-02-24 11:27:03 +01:00
Liav A
a46120b4a8
ACPI: Run clang-format on the definitions file
2020-02-24 11:27:03 +01:00
Liav A
16055de978
Kernel: Introduce the PIT class
...
The PIT class inherits from HardwareTimer class, and is replacing
the PIT namespace.
2020-02-24 11:27:03 +01:00
Liav A
d83a3eff1f
Kernel: Update Network adapter classes to use the PCI::Device class
...
Those classes will inherit from the PCI::Device class, thus,
they can still implement IRQ handling.
2020-02-24 11:27:03 +01:00
Liav A
73a7e5875e
Kernel: Update PCI::Device class to use the new IRQHandler class
2020-02-24 11:27:03 +01:00
Liav A
ea1251d465
Kernel: Add HardwareTimer class
...
This is an abstraction layer for future hardware timers
that will be implemented.
2020-02-24 11:27:03 +01:00
Liav A
dd7522bdb2
Kernel: Add new IRQHandler class
...
This class will replace the old IRQHandler class later.
2020-02-24 11:27:03 +01:00
Liav A
b201b23363
Kernel: Add Interrupt Management and Generic Interrupt Handler
...
The GenericInterruptHandler class will be used to represent
an abstract interrupt handler. The InterruptManagement class will
represent a centralized component to manage interrupts.
2020-02-24 11:27:03 +01:00
Liav A
ebe30ed11e
ACPI: Adding definitions for HPET
...
Also, definitions were added for MADT entries, like IOAPIC and GSI
overriding information.
2020-02-24 11:27:03 +01:00
Liav A
e760ebcacb
Kernel: Add the IOAPIC class
...
This class inherits from IRQController class, and represents
the 82093AA IOAPIC chip.
2020-02-24 11:27:03 +01:00
Liav A
7d59a67504
Kernel: Add the PIC class
...
This class inherits from IRQController class, and represents
the common Intel 8259 PIC chip.
2020-02-24 11:27:03 +01:00
Liav A
b56afbea17
Kernel: Add IRQController class
...
This class is an abstraction layer for different IRQ controllers
that are present in a typical system.
2020-02-24 11:27:03 +01:00
Liav A
35f27231b3
Kernel: Fix a wrong debug message in ACPIStaticParser
2020-02-24 11:27:03 +01:00
Liav A
3539666ac9
Kernel: Add PCI helpers to enable and disable the interrupt line
2020-02-24 11:27:03 +01:00
Liav A
ca05d54b2b
Kernel: Add MultiProcessor Parser
2020-02-24 11:27:03 +01:00
Tibor Nagy
5f913c67d9
LibGUI: Implement keyboard and mouse wheel events for SpinBox
2020-02-24 10:40:32 +01:00
Andreas Kling
17846dd063
AK: Zero-initialize the internal storage of Optional
2020-02-24 10:22:27 +01:00
Andreas Kling
0763f67043
AK: Make Bitmap use size_t for its size
...
Also rework its API's to return Optional<size_t> instead of int with -1
as the error value.
2020-02-24 09:56:07 +01:00
Andreas Kling
b813b2f871
AK: Make HashTable and HashMap use size_t for size and capacity
2020-02-24 09:42:52 +01:00
Andreas Kling
3252a6925e
LibGUI: Fix silly nullptr dereference in MessageBox::show()
...
Since we take the parent object as a raw pointer, we should handle the
case where it's null.
2020-02-24 09:15:51 +01:00
thatlittlegit
525f8df5b8
SystemMenu: Migrate PowerDialog to (widget)->add like in 3d20da9e
...
This also fixes the build.
2020-02-23 22:03:03 +01:00
thatlittlegit
ab9e5755ba
Userland+Kernel: Set shutdown/reboot to only be run by the phys
group
2020-02-23 22:03:03 +01:00
thatlittlegit
30556a0a93
SystemMenu: Move SystemDialog into SystemMenu and remove INI config
...
I probably would've done INI config removal in another commit, but it
fit well here because I didn't want to pledge wpath for SystemMenu if I
didn't need to.
Frankly, that's something that I think should be done: allow ConfigFile
to be used read-only.
2020-02-23 22:03:03 +01:00
thatlittlegit
9784ab99d2
SystemDialog+Base: Add icon for SystemDialog
2020-02-23 22:03:03 +01:00
thatlittlegit
ba6a290f4f
SystemMenu: Remove --shutdown argument when calling SystemDialog
2020-02-23 22:03:03 +01:00
thatlittlegit
efc4861786
SystemDialog: Revamp to be more Win95-like
...
Only thing I don't like right now is the fact that we rely on the shell.
2020-02-23 22:03:03 +01:00
Andreas Kling
6c5100b644
LibGUI: Add helper for constructing new TabWidget tabs
...
This patch adds the following convenience helper:
auto tab_widget = GUI::TabWidget::construct();
auto my_widget = tab_widget->add_tab<GUI::Widget>("My tab", ...);
The above is equivalent to:
auto tab_widget = GUI::TabWidget::construct();
auto my_widget = GUI::Widget::construct(...);
tab_widget->add_widget("My tab", my_widget);
2020-02-23 12:27:53 +01:00
Andreas Kling
bbc02af090
Demos: Remove silly HelloWorld2 demo
...
This was just a tiny test app made with the old VisualBuilder. It's not
really useful for anything.
2020-02-23 12:27:53 +01:00
Andreas Kling
c5d913970a
LibGUI: Remove parent parameter to GUI::Widget constructor
2020-02-23 12:27:53 +01:00
Andreas Kling
4ce28c32d1
Inspector: Use Core::Object::add()
2020-02-23 12:27:53 +01:00
Tibor Nagy
3d32c3352b
FontEditor: Fix focus and implement keyboard navigation in the glyph map
2020-02-23 12:18:17 +01:00
Tibor Nagy
6fcf4e48f8
LibGfx: Fix accidentally hardcoded font height in Font::clone()
2020-02-23 12:18:17 +01:00
Andreas Kling
bfd86c4631
LibGUI: Make GUI::Frame have the 2px sunken container look by default
...
The overwhelming majority of GUI::Frame users set the same appearance,
so let's just make it the default.
2020-02-23 11:10:52 +01:00
Andreas Kling
3d20da9ee4
Userspace: Use Core::Object::add() when building interfaces
2020-02-23 11:10:52 +01:00
Andreas Kling
7ec758773c
Kernel: Dump all kernel regions when we hit a page fault during IRQ
...
This way you can try to figure out what the faulting address is.
2020-02-23 11:10:52 +01:00
Andreas Kling
00bf68adc6
LibGUI: Reduce header dependencies of ComboBox
2020-02-23 11:10:52 +01:00
Andreas Kling
45c25ffecd
LibGUI: Use Core::Object::add() a whole bunch
2020-02-23 11:10:52 +01:00
Andreas Kling
8efafdfc12
IRCClient: Modernize Core::Object usage
2020-02-23 11:10:52 +01:00
Andreas Kling
a70cc5ca1d
Kernel: Commit the entire region up front in KBuffer::copy()
...
Since we know exactly how much physical memory we'll need, we might as
well commit it up front instead of letting page faults drive it.
2020-02-23 11:10:52 +01:00
Andreas Kling
428582e805
LibGUI: Don't require passing a parent to widget constructors
...
This is a step towards using Core::Object::add<T> more, which takes
care of parenting the newly created child automatically.
2020-02-23 11:10:52 +01:00
Andreas Kling
d9e459293b
LibCore: Add Core::Object::add<T> helper for creating child objects
...
Consider the old pattern for creating a Core::Object parent and child:
auto parent = Core::Object::construct(...);
auto child = Core::Object::construct(..., parent);
The above was an artifact of the pre-reference-counting Object era.
Now that objects have less esoteric lifetime management, we can replace
the old pattern with something more expressive:
auto parent = Core::Object::construct(...);
auto child = parent->add<Core::Object>(...);
This reads a lot more naturally, and it also means we can get rid of
all the parent pointer arguments to Core::Object subclass constructors.
2020-02-23 11:10:52 +01:00
Andreas Kling
66bf10acef
LibGUI: Add some missing widget classes to Forward.h
2020-02-23 11:10:52 +01:00
Andreas Kling
98fd6b8767
LibGfx: Add a way to construct an empty Font with arbitrary metrics
2020-02-23 11:10:52 +01:00
Shannon Booth
61bf8e01f9
Userland: Delete redundant code in truncate
...
Fixes #1262
2020-02-23 06:46:38 +01:00
Shannon Booth
90f40a80f4
Shell: Make some functions const
2020-02-22 21:36:54 +01:00
Shannon Booth
859c1669f9
Shell: Add basic tilde expansion
...
This does not work with shell completion yet, but the basics of being
able a cd being able to expand "~" to the current user's home directory,
and "~foo" to the home directory of user "foo" is added in this commit
Work towards: #115
2020-02-22 21:36:54 +01:00
Shannon Booth
a52b3e8f2a
LibC: Implement strchrnul()
2020-02-22 21:36:54 +01:00
Shannon Booth
ba9313111f
AK: Add StringBuilder::is_empty()
2020-02-22 21:36:54 +01:00
Shannon Booth
854f0b9e1a
AK: Add StringView::starts_with(char) & StringView::ends_with(char)
...
This is simply meant to be a more efficient implementation in the
case that we only need to check a single character.
2020-02-22 21:36:54 +01:00