Commit graph

16434 commits

Author SHA1 Message Date
Andreas Kling
b0b51c3955 Kernel: Limit the size of stack traces
Let's not allow infinitely long stack traces. Cap it at 4096 frames.
2021-02-02 18:58:26 +01:00
Linus Groh
7b50d3cda4 Base: Update keymap(1) manpage
- Keymap name/file is now optional
- No root shell required (/bin/keymap is setuid root)
- Add example for getting the current keymap name
2021-02-02 16:53:11 +01:00
Linus Groh
ee41d6e154 Base: Rename some keymaps to use xx-xx format where appropriate
- en.json -> en-us.json
- gb.json -> en-gb.json
- ptbr.json -> pt-br.json
- ptpt.json -> pt-pt.json
2021-02-02 16:53:11 +01:00
Linus Groh
de676bbf97 Ports: Build python3 with zlib
With the right include paths and linker flags, the _zlib module now
builds & works. :^)
2021-02-02 16:53:06 +01:00
Linus Groh
404dab5383 Ports: Build most python3 extension modules statically
Attempting to import C-extensions (lib-dynload/*.so) currently asserts
in the dynamic loader - let's just build them statically instead for the
time being.
This makes a large number of modules available for use and the port a
lot more functional! :^)
2021-02-02 16:53:06 +01:00
Linus Groh
92ca22a5e1 Ports: Add post_configure function
There's pre_configure to do things required by the configure script,
let's also add post_configure for things not covered by the configure
script.
The specific use case is overwriting a file created by python3's
configure script.
2021-02-02 16:53:06 +01:00
Linus Groh
50957ec78e LibJS: Fix variable name coding style int{Part => _part}
...and rename intpart_end to int_part_end for consistency.
2021-02-02 16:52:55 +01:00
Zac
bd6d0d2295 TextEditor: Add vim status indicators to the statusbar
When using the VimEditingEngine in the TextEditor, vim's mode and the
previous key are shown in the editor's statusbar.
2021-02-02 16:08:20 +01:00
Zac
e11ec20650 StatusBar: Allow GML files to set the number of labels to create 2021-02-02 16:08:20 +01:00
Ben Wiederhake
ab9cc49fd8 Meta: Remove now-obsolete import from lint script
I'm sorry :(
2021-02-01 22:58:56 +01:00
Ben Wiederhake
a6ed034f89 Meta: Remove 'keymap exploration' in favor of precommit hook 2021-02-01 22:35:30 +01:00
Andreas Kling
1d394b8a76 LibELF: Close dynamic objects after mapping and linking them
Oops, we were leaving the file descriptors open.
2021-02-01 20:10:03 +01:00
Linus Groh
02520f16e3 Ports: Move packages.db from Ports/ to Build/
When removing and recreating the Build directory, it's quite annoying
having to edit/remove Ports/packages.db as the installer won't install
previously installed port dependencies again if they're still listed.
This problem is easily solved by just considering packages.db a
build-specific file.
2021-02-01 19:40:34 +01:00
Liav A
878d353c3d Documentation: Add a manual page about the new MemoryDevice file 2021-02-01 17:13:23 +01:00
Liav A
6e8f86b44b Ports: Upgrade dmidecode to version 3.3 2021-02-01 17:13:23 +01:00
Liav A
65c27bfe52 Kernel: Set file size for smbios_entry_point and DMI blobs in ProcFS
This is needed to support dmidecode version 3.3, so it can read the 2
blobs in ProcFS.
2021-02-01 17:13:23 +01:00
Liav A
338c6eec65 Ports: Add dmidecode to the available ports list 2021-02-01 17:13:23 +01:00
Liav A
a1e20aa04f Kernel: Fix enum of sysconf values to be in the correct order
This prevented from dmidecode to get the right PAGE_SIZE when using the
sysconf syscall.

I found this bug, when I tried to figure why dmidecode fails to mmap
/dev/mem when I passed --no-procfs, and the conclusion is that it tried
to mmap unaligned physical address 0xf5ae0 (SMBIOS data), and that was
caused by a wrong value returned after using the sysconf syscall to get
the plaform page size, therefore, allowing to send an unaligned address
to the mmap syscall.
2021-02-01 17:13:23 +01:00
Liav A
a9d1ddb1a5 Ports: Add a port of dmidecode 2021-02-01 17:13:23 +01:00
Liav A
c6fe1de30e LibC: Expose various option variables for later usage
These variables are used by the dmidecode utility to parse the
commandline arguments that were specified by the user.
2021-02-01 17:13:23 +01:00
Liav A
5ab1864497 Kernel: Introduce the MemoryDevice
This is a character device that is being used by the dmidecode utility.
We only allow to map the BIOS ROM area to userspace with this device.
2021-02-01 17:13:23 +01:00
Liav A
df59b80e23 Kernel: Expose SMBIOS blobs in ProcFS 2021-02-01 17:13:23 +01:00
Ben Wiederhake
e4e74c48ea Kernel: Provide torture tool for invalid memory checks 2021-02-01 17:07:56 +01:00
Ben Wiederhake
92cee5bdf5 Kernel: Demonstrate crash for invalid pointers 2021-02-01 17:07:56 +01:00
Brendan Coles
bda572ef48 Tests: Add Tests/LibGfx/image-decoder tests 2021-02-01 13:40:15 +01:00
Andreas Kling
1ce03f4f34 LibIPC: Stop sending client ID to clients
The client ID is not useful to normal clients anymore, so stop telling
everyone what their ID is.
2021-02-01 11:32:00 +01:00
Andreas Kling
a5bbe3280d LibGUI+WindowServer: Don't use a WM IPC to initiate own window resize
The WM_* IPC messages are intended for "outsider" window management,
not for a client's own windows. Make a separate StartWindowResize
message for this.

This was the only reason that every IPC client had to know its server
side client ID.
2021-02-01 11:23:54 +01:00
Linus Groh
c41d340983 LibJS: Use VM::names for Object::invoke() function names 2021-02-01 10:34:45 +01:00
Ben Wiederhake
52fff644d5 Documentation: Keymaps are nice, document them!
fixup! Meta+Documentation: Fix sync-local.sh support, document keymaps
2021-02-01 09:54:32 +01:00
Ben Wiederhake
cbee0c26e1 Kernel+keymap+KeyboardMapper: New pledge for getkeymap 2021-02-01 09:54:32 +01:00
Ben Wiederhake
272df54a3e Kernel+LibKeyboard: Define the default keymap only in one place
Because it was 'static const' and also shared with userland programs,
the default keymap was defined in multiple places. This commit should
save several kilobytes! :^)
2021-02-01 09:54:32 +01:00
Ben Wiederhake
2617279579 keymap: Unveil path, if one is given 2021-02-01 09:54:32 +01:00
Ben Wiederhake
0e3408d4d6 LibKeyboard: Don't assert on failure 2021-02-01 09:54:32 +01:00
Ben Wiederhake
d9e7e13fb2 KeyboardMapper: Without arguments, load current keymap 2021-02-01 09:54:32 +01:00
Ben Wiederhake
dd4e670f72 LibKeyboard+keymap: Support querying the keymap via commandline 2021-02-01 09:54:32 +01:00
Ben Wiederhake
a2c21a55e1 Kernel+LibKeyboard: Enable querying the current keymap 2021-02-01 09:54:32 +01:00
Ben Wiederhake
d47ed35801 Meta: Add script that checks consistency of keymaps 2021-02-01 09:54:32 +01:00
Ben Wiederhake
9f60ce4801 Base: Replace tabs+spaces in keymaps by only spaces 2021-02-01 09:54:32 +01:00
Ben Wiederhake
b6dddd27b4 Base: Cover entire German keyboard
I'm strongly basing this on what I'm used to (xkb-data's "de(basic)"),
but without dead keys (since we don't support them).
2021-02-01 09:54:32 +01:00
Ben Wiederhake
2f92c8cad5 Base: Replace unnecessary escapes by actual codepoints
I used this arcane incantation by @emanuele6:

    < <(grep -hoP -e '\\u[A-Za-z0-9]{4}' ./*.json) grep -i -ve '\\u001b' \
    | sort -u \
    | while read -r; do
        sed -i "s,\\$REPLY,$(eval "echo $'$REPLY'"),g" ./*.json
    done

Plus some manual editing to re-align everything. Thanks! :)
2021-02-01 09:54:32 +01:00
Ben Wiederhake
fa642eb7d0 Base: Fix wrong offset for Numpad and later keys
This seems to be the last remaining fallout of
8733da652e.
2021-02-01 09:54:32 +01:00
Ben Wiederhake
aa3d915260 LibTextCodec: Avoid duplicate definition of standard encodings 2021-02-01 09:54:32 +01:00
Ben Wiederhake
03b11af00f KeyboardMapper: Export keymap not as a byte, but as unicode
What a silly mixup. Loading and saving no longer loses any data! :^)
2021-02-01 09:54:32 +01:00
Ben Wiederhake
4deb0f8343 KeyboardMapper: Remove duplicate 'save' button
There already is a standard action in the menu, and Ctrl-S also works.
No need to have an extra button for that.
2021-02-01 09:54:32 +01:00
Ben Wiederhake
6c04629ff8 KeyboardMapper: Make all of the GUI visible 2021-02-01 09:54:32 +01:00
Mart G
9068398f6b AK: Make single pivot quick_sort guarantee a max stack depth of log(n)
- The change to quick_sort requires SimpleIterator to support
  assignment.
- Rename quick_sort to single_pivot_quick_sort to make it easier
  to choose a specific implementation (not based on signature).
- Ensure single_pivot_quick_sort does not copy the pivots
- Expand sorts_without_copy test case to cover both single and dual
  pivot implementations.
2021-02-01 09:52:36 +01:00
Matteo Sozzi
40da077f6c HackStudio: added new directory action
Added the possibility to create a new directory in the current project.
2021-02-01 09:52:13 +01:00
Jean-Baptiste Boric
b48d8d1d6d Userland: Rename PCI slot to PCI device terminology 2021-01-31 19:06:40 +01:00
Jean-Baptiste Boric
06d76a4717 Kernel: Fix PCI bridge enumeration
The enumeration code is already enumerating all buses, recursively
enumerating bridges (which are buses) makes devices on bridges being
enumerated multiple times. Also, the PCI code was incorrectly mixing up
terminology; let's settle down on bus, device and function because ever
since PCIe came along "slots" isn't really a thing anymore.
2021-01-31 19:06:40 +01:00
Thomas Mangin
34508c0b01 LibX86: sanity check for Instruction read size
During "Emulator hacking: Let's make the userspace emulator go faster!",
the switch implented in read() was inlined (toward the end of the video).

This patch restore the assert check for any read other than 8, 16 or 32
bits was lost during the code conversion.
2021-01-31 19:06:24 +01:00