Commit graph

41545 commits

Author SHA1 Message Date
Liav A 66bde66f49 Kernel/aarch64: Use adopt_lock_ref to instantiate an InterruptController 2022-10-01 19:36:04 +02:00
Xexxa dd6e70afd6 Base: Adjust size of emoji U+1F1E7_U+1F1FE
🇧🇾 - U+1F1E7 U+1F1FE FLAG: BELARUS
2022-10-01 17:04:12 +01:00
Mykola 47e0c2b11c Base: Add some emojis
New:
    🎏 - U+1F38F CARP STREAMER
    🇮🇲 - U+1F1EE U+1F1F2 FLAG: ISLE OF MAN
    🇰🇭 - U+1F1F0 U+1F1ED FLAG: CAMBODIA
    🇱🇾 - U+1F1F1 U+1F1FE FLAG: LIBYA
    🇲🇴 - U+1F1F2 U+1F1F4 FLAG: MACAO SAR CHINA
    🇲🇵 - U+1F1F2 U+1F1F5 FLAG: NORTHERN MARIANA ISLANDS
    🇲🇽 - U+1F1F2 U+1F1FD FLAG: MEXICO
    🇵🇰 - U+1F1F5 U+1F1F0 FLAG: PAKISTAN
    🇵🇹 - U+1F1F5 U+1F1F9 FLAG: PORTUGAL
    🇸🇦 - U+1F1F8 U+1F1E6 FLAG: SAUDI ARABIA
    🇹🇲 - U+1F1F9 U+1F1F2 FLAG: TURKMENISTAN
    🇹🇳 - U+1F1F9 U+1F1F3 FLAG: TUNISIA
    🇻🇦 - U+1F1FB U+1F1E6 FLAG: VATICAN CITY
    🇻🇮 - U+1F1FB U+1F1EE FLAG: U.S. VIRGIN ISLANDS
    🇻🇺 - U+1F1FB U+1F1FA FLAG: VANUATU
    🇼🇫 - U+1F1FC U+1F1EB FLAG: WALLIS & FUTUNA
    🇾🇹 - U+1F1FE U+1F1F9 FLAG: MAYOTTE
Modified:
    🇪🇪 - U+1F1EA U+1F1EA FLAG: ESTONIA
2022-10-01 16:09:50 +01:00
Idan Horowitz 5c814e66b3 LibJS: Store symbols in a Handle inside PropertyKey
If the stored symbol is custom (non-global), it is allocated on the
heap, and may not be visited by anyone else, so we must register it in
order to keep it alive.
2022-10-01 15:36:20 +01:00
Idan Horowitz 4aade74b91 LibJS: Include Environment.h directly in ClassFieldDefinition.h
This was previously indirectly forcing Heap/Handle.h to include it
instead. This will let us include Handle.h from PropertyKey, which will
allow us to solve a different issue.
2022-10-01 15:36:20 +01:00
Joel Hansen cd07521ed8 Base: Add new emoji
🛰️ - U+1F6F0 Satellite
🦆 - U+1F986 Duck
🦜 - U+1F99C Parrot
🦞 - U+1F99E Lobster
🧽 - U+1F9FD Sponge
🩵 - U+1FA75 Light Blue Heart
🩶 - U+1FA76 Grey Heart
🩷 - U+1FA77 Pink Heart
🪕 - U+1FA95 Banjo
🫨 - U+1FAE8 Shaking Face
2022-10-01 13:26:26 +01:00
Timon Kruiper 779a1d1232 Kernel/aarch64: Get framebuffer data from BootFramebufferConsole
The BootFramebufferConsole class maps the framebuffer using the
MemoryManager, so to be able to draw the logo, we need to get this
mapped framebuffer. This commit adds a unsafe API for that.
2022-10-01 14:09:01 +02:00
Timon Kruiper 15b818cd57 Kernel/aarch64: Remove specific aarch64 code in BootFramebufferConsole
The MemoryManager now works, so we can use the same code as on x86 to
map the framebuffer. Since it uses the MemoryManager, the initialization
of the BootFramebufferConsole has to happen after the MemoryManager is
working.
2022-10-01 14:09:01 +02:00
Timon Kruiper 57b1369475 Kernel/aarch64: Put correct memory size in multiboot_mmap
Also enable the MMU earlier in the boot process.
2022-10-01 14:09:01 +02:00
Timon Kruiper c2e410195a Kernel/aarch64: Set up pointer to kernel page directory
The MemoryManager uses this pointer to adds its newly created page
tables to the kernel page directory.
2022-10-01 14:09:01 +02:00
Timon Kruiper 96f73c9289 Kernel/aarch64: Set up quickmap infrastructure in initial page tables
With this change the quickmap related functions in MemoryManager
actually work. :^)
2022-10-01 14:09:01 +02:00
Timon Kruiper a62732ee2f Kernel/aarch64: Only identity map kernel image, instead of all of RAM
For the initial page tables we only need to identity map the kernel
image, the rest of the memory will be managed by the MemoryManager. The
linker script is updated to get the kernel image start and end
addresses.
2022-10-01 14:09:01 +02:00
Timon Kruiper cdf59c86ac Kernel: Make PageDirectory.h architecture specific
The page table and page directory formats are architecture specific, so
move the headers into the Arch directory. Also move the aarch64 page
table constants from aarch64/MMU.cpp to aarch64/PageDirectory.h.
2022-10-01 14:09:01 +02:00
Timon Kruiper ad5e8bbb4f Kernel: Add ability to dump backtrace from provided frame pointer
When an exception happens it is sometimes hard to figure out where
exactly the exception happened, so use the frame pointer of the trap
frame to print a backtrace.
2022-10-01 14:09:01 +02:00
Timon Kruiper 57901a6f62 Kernel/aarch64: Implement tlb flushing
This initial implementation flushes the complete tlb cache. A FIXME is
added to implement the partial tlb flushing.
2022-10-01 14:09:01 +02:00
Timon Kruiper 424a974e01 Kernel: Don't reserve Low Memory (0-1MB) on non-x86 architectures
This memory is only reserved on x86(-64) and is usable on other
architectures.
2022-10-01 14:09:01 +02:00
Timon Kruiper 1b60126d93 Kernel/aarch64: Stub Inode::{read,write}_bytes
Recent changes caused the build to fail for aarch64, with these
functions stubbed it builds again.
2022-10-01 14:09:01 +02:00
MacDue 240fb93cf1 LibWeb: Remove FIXME for double-position linear-gradient() color stops
I added these in #14977, but forgot to remove this FIXME.
2022-10-01 14:08:01 +02:00
Luke Wilde 082abf9998 Base: Add rotateX, rotateY, rotateZ and matrix3d examples for transform 2022-10-01 14:07:47 +02:00
Luke Wilde dbe12662b8 LibWeb: Implement matrix3d transform function from css-transforms-2 2022-10-01 14:07:47 +02:00
Luke Wilde 0fdd924db2 LibWeb: Implement rotation transform functions from css-transforms-2 2022-10-01 14:07:47 +02:00
MacDue ddfe18783b Magnifier: Don't error if cancelling capture save 2022-10-01 14:06:53 +02:00
Luke Wilde 540c307009 LibWeb: Implement Element.insertAdjacentText 2022-10-01 14:06:40 +02:00
Luke Wilde d540e2ec98 LibWeb: Implement Element.insertAdjacentElement 2022-10-01 14:06:40 +02:00
thankyouverycool f27f2e0d3b Welcome: Use StandardPaths to load README.md 2022-10-01 13:39:10 +03:30
thankyouverycool 12b9c0ce7f Welcome: Add new tips 2022-10-01 13:39:10 +03:30
thankyouverycool a6b8ac10f7 Welcome: Use fallible try_create_default_icon() 2022-10-01 13:39:10 +03:30
thankyouverycool 9fe5cadcc8 Welcome: Update GML
Moves more settings to GML to simplify construction and replaces
deprecated GML properties.
2022-10-01 13:39:10 +03:30
thankyouverycool ca54a965a0 Welcome: Port to Core::Stream 2022-10-01 13:39:10 +03:30
thankyouverycool bd66453e8d LibCore: Add documents_directory() to StandardPaths 2022-10-01 13:39:10 +03:30
thankyouverycool 72c0414a58 Welcome: Remove unnecessary include 2022-10-01 13:39:10 +03:30
thankyouverycool 929f31f564 Welcome: Add/remove SystemServer group entry to toggle startup
Previously Welcome relied on a bogus executable key value to disable
startup. This always printed an error on login and littered the config
file with a useless entry. Adding/removing the group as needed seems
a bit nicer.
2022-10-01 13:39:10 +03:30
thankyouverycool be3cc756fc config: Enable adding and removing groups 2022-10-01 13:39:10 +03:30
thankyouverycool c34f2e75e9 LibCore+LibConfig+ConfigServer: Add Config::{add,remove}_group()
Plumbs synchronous calls for adding and removing group entries to
config files. This is useful for services like SystemServer which
default to group names for executable paths, and for removing all
keys at once.
2022-10-01 13:39:10 +03:30
thankyouverycool 6f394d9ee2 LibConfig+ConfigServer: Make remove_key() synchronous
Previously, when removing keys, the config utility terminated its
connection before changes could be synced.
2022-10-01 13:39:10 +03:30
Tim Schumacher be6b3710c8 Ports/qemu: Use the coarse monotonic clock for timing CPU ticks
While this loses quite a bit of accuracy (although to no apparent
decrease in emulation quality) , it helps avoiding the additional
overhead of the `clock_gettime` syscall (as `CLOCK_MONOTONIC_COARSE`
is forwarded using the mapped time page) and we don't have to do a
HPET timer read for each tick.

This results in a decrease of Serenity boot time from 1h16m down to
42m when running on Serenity.
2022-09-30 20:13:11 -07:00
Nico Weber a934fa3d28 AK: Fix a comment typo 2022-09-30 20:09:26 -07:00
Nico Weber b0c0ebc543 Kernel: Fix a comment typo 2022-09-30 20:09:26 -07:00
Hendiadyoin1 911506af9f LibJS: Align Instructions as void* and roundup variably sized ones sizes
Both is indeed needed,
the standard alignment would have been 4, but some Instructions, like
Jumps need an alignment of 8

Fixes #12127.
2022-10-01 00:04:02 +01:00
Hendiadyoin1 89408d5f64 LibJS: Handle argument spreading in the bytecode vm 2022-10-01 00:04:02 +01:00
Hendiadyoin1 ae52ae8f9f LibJS: Add support for SpreadExpressions in array literals for bytecode
For this it adds another opcode `Append $lhs` which appends the
accumulator to the Array in $lhs, optionally spreading it.
2022-10-01 00:04:02 +01:00
Hendiadyoin1 4235b2020f LibJS: Switch to array-calls in the bytecode vm
This will make it easier to implement spreading arguments.
2022-10-01 00:04:02 +01:00
Hendiadyoin1 ab763a56f6 LibJS: Allow SpreadExpressions to generate bytecode 2022-10-01 00:04:02 +01:00
Luke Wilde 9662eec388 LibWeb: Apply :enabled pseudo class to only certain elements
I thought the spec listing out the elements again was an oversight, but
it isn't, as simply inverting "is_actually_disabled" makes :enabled
apply to every element.
2022-09-30 21:46:53 +02:00
Luke Wilde 2133b7d58a LibWeb: Implement :enabled and :disabled pseudo classes to spec
Previously we only considered an element disabled if it was an <input>
element with the disabled attribute, but there's way more elements that
apply with more nuanced disabled/enabled rules.
2022-09-30 18:05:48 +02:00
Luke Wilde c85fcd442f LibWeb: Check all <fieldset> ancestors in FormAssociatedElement::enabled
A form associated element is disabled if _any_ <fieldset> ancestor in
the ancestor chain has the disabled attribute, not just the first one.
2022-09-30 18:05:48 +02:00
Andreas Kling 30815c25a2 LibCore+LibGUI: Make it fast to check if a Core::Object is a Widget
This check happens very often in LibGUI code. 25% of time spent
layouting the emoji input dialog was wasted on RTTI. Adding a simple
fast_is<Widget>() melts almost all of that away.
2022-09-30 18:00:55 +02:00
Luke Wilde 1cff5fe2ff Base: Add ~200 more ads and trackers to the default content filter list 2022-09-30 15:51:39 +01:00
Luke Wilde 55d1e84e0b Base: Change 6sc.io in default content filter to 6sc.co
This was simply a typo, it's `co` instead of `io`.
2022-09-30 15:51:39 +01:00
Xexxa 757eeaa367 Base: Adjust emoji sizes for some flags
🇦🇪 - U+1F1E6 U+1F1EA FLAG: UNITED ARAB EMIRATES
🇦🇬 - U+1F1E6 U+1F1EC FLAG: ANTIGUA & BARBUDA
🇨🇦 - U+1F1E8 U+1F1E6 FLAG: CANADA
🇨🇺 - U+1F1E8 U+1F1FA FLAG: CUBA
🇬🇧 - U+1F1EC U+1F1E7 FLAG: UNITED KINGDOM
🇬🇱 - U+1F1EC U+1F1F1 FLAG: GREENLAND
🇳🇴 - U+1F1F3 U+1F1F4 FLAG: NORWAY
2022-09-30 11:50:46 +01:00