Age | Commit message (Collapse) | Author |
|
These syscalls already perform the necessary locking and don't rely on
the process big lock.
|
|
|
|
|
|
It's a bit nicer if functions that allocate ranges have some kind of
name that includes both "allocate" and "range". :^)
|
|
|
|
Functions that allocate and/or place a Region now take a parameter
that tells it whether to randomize unspecified addresses.
|
|
...and remove the last remaining client of the API. It's no longer
possible to ask the RegionTree for a VM range. You can only ask it to
place your Region somewhere in available space.
|
|
This patch move AddressSpace (the per-process memory manager) to using
the new atomic "place" APIs in RegionTree as well, just like we did for
MemoryManager in the previous commit.
This required updating quite a few places where VM allocation and
actually committing a Region object to the AddressSpace were separated
by other code.
All you have to do now is call into AddressSpace once and it'll take
care of everything for you.
|
|
Instead of first allocating the VM range, and then inserting a region
with that range into the MM region tree, we now do both things in a
single atomic operation:
- RegionTree::place_anywhere(Region&, size, alignment)
- RegionTree::place_specifically(Region&, address, size)
To reduce the number of things we do while locking the region tree,
we also require callers to provide a constructed Region object.
|
|
This has been replaced with the allocation-free RegionTree. :^)
|
|
This patch ports MemoryManager to RegionTree as well. The biggest
difference between this and the userspace code is that kernel regions
are owned by extant OwnPtr<Region> objects spread around the kernel,
while userspace regions are owned by the AddressSpace itself.
For kernelspace, there are a couple of situations where we need to make
large VM reservations that never get backed by regular VMObjects
(for example the kernel image reservation, or the big kmalloc range.)
Since we can't make a VM reservation without a Region object anymore,
this patch adds a way to create unbacked Region objects that can be
used for this exact purpose. They have no internal VMObject.)
|
|
RegionTree holds an IntrusiveRedBlackTree of Region objects and vends a
set of APIs for allocating memory ranges.
It's used by AddressSpace at the moment, and will be used by MM soon.
|
|
This patch stops using VirtualRangeAllocator in AddressSpace and instead
looks for holes in the region tree when allocating VM space.
There are many benefits:
- VirtualRangeAllocator is non-intrusive and would call kmalloc/kfree
when used. This new solution is allocation-free. This was a source
of unpleasant MM/kmalloc deadlocks.
- We consolidate authority on what the address space looks like in a
single place. Previously, we had both the range allocator *and* the
region tree both being used to determine if an address was valid.
Now there is only the region tree.
- Deallocation of VM when splitting regions is no longer complicated,
as we don't need to keep two separate trees in sync.
|
|
I'm about to break automatic guard page allocation in sys$mmap(), so we
need to fix this test to not rely on it.
|
|
This makes the debug output a little more helpful.
|
|
|
|
This means we never need to allocate when inserting/removing regions
from the address space.
|
|
If white-space is nowrap then we don't want to break a text_node
into multiple line boxes. This fixes the width calculation in the
min-content case for white-space: nowrap elements. Before this
the min-width would be the width of the biggest line box.
|
|
This is in Tests/LibTTF instead of Tests/LibGfx because Tests/LibGfx
depends on serenity's file system layout and can't run in lagom,
but this new test runs just fine in lagom.
|
|
Non-lagom builds get this from the root CMakeLists.txt file,
but lagom builds didn't before this change.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This resource graph applet shows incoming network traffic graphically,
and the tooltip shows both TX and RX. The data of all adapters is
combined. The scale of the applet auto-adapts to the shown traffic load.
Co-authored-by: bgianfo <bgianf@serenityos.org>
|
|
|
|
|
|
|
|
|
|
|
|
Spotted this while trying to search for specific IPC encode/decode
implementations. Now they are all the same, so searching is easier.
|
|
|
|
|
|
It's a bit neater to give them their own directory instead of jamming
them in between our shell scripts :^)
|
|
The storage inspector now has a new tab for local storage. The next step
would be to persist local storage and receive real-time notifications
for changes to update the table view.
|
|
Seems like a useful thing to have.
|
|
Latin Extended-A
0132,0152,0153
https://www.unicode.org/charts/PDF/U0100.pdf
LISU Supplement
11FB0
https://www.unicode.org/charts/PDF/U11FB0.pdf
Egyptian Hieroglyph Format Controls
13430-13438
https://www.unicode.org/charts/PDF/U13430.pdf
Ideographic Symbols and Punctuation
16FE0-16FE4,16FF0,16FF1
https://www.unicode.org/charts/PDF/U16FE0.pdf
|
|
Latin Extended-A
0132,0152,0153
https://www.unicode.org/charts/PDF/U0100.pdf
LISU Supplement
11FB0
https://www.unicode.org/charts/PDF/U11FB0.pdf
Egyptian Hieroglyph Format Controls
13430-13438
https://www.unicode.org/charts/PDF/U13430.pdf
Ideographic Symbols and Punctuation
16FE0-16FE4,16FF0,16FF1
https://www.unicode.org/charts/PDF/U16FE0.pdf
|
|
Latin Extended-A
0132,0152,0153
https://www.unicode.org/charts/PDF/U0100.pdf
LISU Supplement
11FB0
https://www.unicode.org/charts/PDF/U11FB0.pdf
Egyptian Hieroglyph Format Controls
13430-13438
https://www.unicode.org/charts/PDF/U13430.pdf
Ideographic Symbols and Punctuation
16FE0-16FE4,16FF0,16FF1
https://www.unicode.org/charts/PDF/U16FE0.pdf
|
|
Latin Extended-A
0132,0152,0153
https://www.unicode.org/charts/PDF/U0100.pdf
LISU Supplement
11FB0
https://www.unicode.org/charts/PDF/U11FB0.pdf
Egyptian Hieroglyph Format Controls
13430-13438
https://www.unicode.org/charts/PDF/U13430.pdf
Ideographic Symbols and Punctuation
16FE0-16FE4,16FF0,16FF1
https://www.unicode.org/charts/PDF/U16FE0.pdf
|
|
Latin Extended-A
0132,0152,0153
https://www.unicode.org/charts/PDF/U0100.pdf
LISU Supplement
11FB0
https://www.unicode.org/charts/PDF/U11FB0.pdf
Egyptian Hieroglyph Format Controls
13430-13438
https://www.unicode.org/charts/PDF/U13430.pdf
Ideographic Symbols and Punctuation
16FE0-16FE4,16FF0,16FF1
https://www.unicode.org/charts/PDF/U16FE0.pdf
|
|
We now make sure the directory name and `port` property are identical.
|
|
We currently have no valid use case for having a `port` property
different from the directory name the port's residing in. We do have
issues when this is the case when referencing dependencies, so let's
make sure all ports have a sensible `port` property to begin with.
|
|
Otherwise this message will be printed during other `package.sh`
actions such as `showproperty`.
|
|
This breaks ports whose name may come up in more than one port name.
This reverts commit cc08f82ddb104829112c7c5fe028f2e7dd9aaee1.
|
|
With this change you can now set the theme and background color at the
same time in the Display Settings. Before if both were changed
before hitting 'apply' the theme background color would overwrite
the custom background.
|
|
Fixes #13448
|