Commit Graph

65239 Commits

Author SHA1 Message Date
Autocomitter
c568ba76b1 Update translations from Pootle 2023-07-01 08:15:08 +00:00
Augustin Cavalier
7a3f924a62 idualwifi7260: Synchronize with OpenBSD. 2023-06-30 15:41:13 -04:00
Augustin Cavalier
f89692a376 BMessage: Define getters/setters for BAlignment.
Fixes #18469.
2023-06-30 15:20:01 -04:00
Humdinger
f4f9c81086 Mail: fix "Set status" layout, localization
* Use layouting flag for Mail's "Set status..." window
  to avoid cut-off buttons.
* Added localization.

Change-Id: I6e075f162b02ddd98bbde8346cc2f9e84f4e5976
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6662
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2023-06-30 18:15:10 +00:00
Theodore Wang
0f293bd7b6 PowerStatus: Implemented sound cues for low battery and charging
* Added two beep events ("Low battery" and "Battery charged") to Sounds
* "Battery charged" is activated when the battery is fully charged to 100 percent
* "Low battery" is activated when the battery is less than 15 percent
  or has less than 30 minutes of usage time left, whichever comes first

Change-Id: If95f812be7a0aa15d668a42fdcfaccd2995d2b4f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6481
Reviewed-by: Niels Sascha Reedijk <niels.reedijk@gmail.com>
2023-06-30 06:53:04 +00:00
Augustin Cavalier
1676a41ec5 zip: Remove last remnants.
We still have "unzip" for some parts of the build involving attributes,
but "zip" we no longer have in-tree, so remove these last bits of it.

Fixes #18476.
2023-06-29 21:32:21 -04:00
Augustin Cavalier
a41f112b07 libroot: Downgrade lock assertion into a syslog print.
It seems there has been a bug lurking for years that this exposed.
Rather than inconvenience users further, as it's not especially
hard to trigger, let's down-grade it into a message until it can
be properly investigated and fixed.

Related to #18451.
2023-06-29 21:26:07 -04:00
Augustin Cavalier
30fda09a95 kernel: Rewrite KDEBUG_RW_LOCK_DEBUG.
Previously this just turned the rw_lock into the equivalent of a
recursive_lock, which meant that reader vs. writer assertions
were of no use.

Now, we have a per-thread static array which stores the held read
locks, allowing ASSERT_READ_LOCKED_RW_LOCK to work properly,
and allowing multiple readers to be active at a time.

This probably should still remain disabled even on nightly builds,
but at least it's much more useful as a debugging tool than it was
beforehand.

Change-Id: I386b2bc2ada8df42f4ab11a05563ef22af58e77f
2023-06-29 21:04:40 -04:00
Augustin Cavalier
50330091b0 bfs: Disable asynchronous IO routine when KDEBUG_RW_LOCK_DEBUG is enabled.
See inline comment: it relies on behavior that the assertions
cannot track.
2023-06-29 20:51:08 -04:00
Niels Sascha Reedijk
0a8972bbea Cortex: initialize the log message
GCC 13 warns that the item could be initialized. From looking at the code, it
could very well be that the log message contained garbage. At least clear the
data before sending it out.

Change-Id: Id02bf314d0c02f852748bdac9cef010ebf073994
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6654
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2023-06-30 00:30:58 +00:00
X512
5d39116f10 fdt: copy FDT data from kernel_args to kernel heap
Change-Id: Id7b18c582357b8eeaa2e6b7956da3db35ebded3a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6599
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2023-06-30 00:29:58 +00:00
X512
2075595c78 fdt: expose FDT data to userland
Change-Id: I05c935735f54874630c641bf8ab7cbd378b71ba0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6598
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Niels Sascha Reedijk <niels.reedijk@gmail.com>
2023-06-30 00:29:58 +00:00
Niels Sascha Reedijk
bb2b9b02aa btrfs: use global namespace
The module includes the C-style header file, thus all members are added in the
global namespace.

Change-Id: I5e82c8520b0495e3c437c43cfeea9cc454d39482
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6653
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2023-06-28 07:11:17 +00:00
Niels Sascha Reedijk
555b9ff733 agp_gart: initialize member before using it.
GCC 13 warns that this member could be unitialized. Now it is initialized
explicitly before it is used anywhere else.

Change-Id: Ia8d5e95cc247921c6ee240a106a80d73c54caee4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6652
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2023-06-28 07:11:17 +00:00
Niels Sascha Reedijk
03c3e2083e freebsd_compat: fix GCC warning
The C++ standard in rule 3.3.7[basic.scope.class] determines how the compiler
should handle cases where a member shares the name of a type. It is up to the
compiler whether this requires a diagnostic warning. GCC 13 emits a warning
(changes-meaning). This fixes the issuing of this warning.

Change-Id: I9c58c0dd6298055959154f78d47ad9088e8225dc
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6651
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2023-06-28 07:11:17 +00:00
Niels Sascha Reedijk
5cd344f75a app_server: fix order of initialization
GCC 13 warns that the a pointer is taken from a member that according to the
rules is not yet initialized. Fix the declaration and order of initialization
to prevent us depending on undefined behavior.

Change-Id: Iab4644c33a3a286e083450da0b3575acfe284f29
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6650
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2023-06-28 07:11:17 +00:00
Niels Sascha Reedijk
a962cc5543 Pulse: adjust buffer to maximum
Just in case, adjust the buffer to format an int32 to a string as the maximum
length that it could be.

Change-Id: I00aede3f684211f9c860455063244422be1d0ee9
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6649
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2023-06-28 07:11:17 +00:00
Niels Sascha Reedijk
b9a6a85bc3 libbsd: rewrite fts.c to avoid error
With GCC13 the current code and its use of the `realloc` function triggers a
potential use after free warning. The code is most likely correct, but there
may be a bug in GCC13's use after free checking, or this is one of the cases
where it is not possible to accurately detect if there is really a chance that
it is used after free.

This rewrites the code in such a way that the warning is no longer triggered.

No functional change intended.

Change-Id: I85e145de2128d4b12a9b3016de33d9facaf0d758
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6648
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
2023-06-28 07:11:17 +00:00
Niels Sascha Reedijk
5140a1bb94 Package Kit/Launch Server: avoid/ignore use of requires keyword
In C++20 `requires` is a reserved keyword. GCC13 warns against its use. This
change removes the use of the keyword in our own code, and ignores it in the
external 'libsolv' code.

Change-Id: I3319d20c0a3fdad89630683cdff5ea3b17f04e99
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6647
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2023-06-28 07:11:17 +00:00
Niels Sascha Reedijk
7345ce9a9e usb_midi: use the private kernel headers when building the module
Change-Id: I40c1c38cdcc3b7930b8dba1cacbb43d97714cfb5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6646
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2023-06-28 07:11:17 +00:00
Niels Sascha Reedijk
3fb092979e kernel: provide kernel-level equivalents for math.h and stdlib.h
GCC 13 is more strict about what C++ features are available in a freestanding
(= build without standard library) build. The `stdlib.h` and `math.h` headers
are redefined as part of libstdc++. If the object is built as freestanding, it
should be assumed that none of the standard library functions are available.

The solution in Haiku has been to add part of the standard library into the
kernel shared object. The method of exposing them has been to allow the
use of `stdlib.h` and `math.h` in the kernel and in kernel add-ons.

This change allows that approach to continue. What it does, is that it defines
specific headers which will be picked up when a module is built using private
kernel headers. When building for the kernel (or for the boot module), it will
bypass GCC 13's libstdc++ default behaviour of not including the POSIX/platform
header with all the function definitions.

An alternative to be considered for the longer term is to specifically define
the parts of the C/C++ standard library that is available in the kernel in
these headers, or create custom headers when building kernel modules (which is
how Linux approaches it).

Change-Id: Icab4614f642219fa77732b02401570708ee9a963
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6645
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2023-06-28 07:11:17 +00:00
Niels Sascha Reedijk
df66e964dd src/bin: De-duplicate query.cpp, urlwrapper.cpp and remove clockconfig.cpp
The query bin command is already added earlier in the file, and does not
actually require to be linked against localestub. Removing the duplicate, as
it caused all the include directives to gcc to be duplicated, which caused
trouble in gcc2 when using #include_next directives.

Similarly, urlwrapper.cpp is a duplicate entry and does not actually require
libbnetapi.so.

The clockconfig tool has moved to the launch daemon in c16361c4.

Change-Id: I266ada433448a96bee8de325133a548f0985da59
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6661
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2023-06-28 07:11:17 +00:00
Niels Sascha Reedijk
fdc8b001a9 print addons: remove invalid use of auto_ptr
GCC 13 warns that the use of auto_ptr on an array can lead to undefined
behavior, because auto_ptr will use `delete` instead of `delete[]`.

Replaced the use with `std::vector` instead. Since the `data()` member was only
introduced in C++11, the solution uses the [] operator instead to get the
address of the beginning of the array.

Change-Id: Ib457580eedb03338a454fb96b27602c3830c1634
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6644
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2023-06-28 07:11:17 +00:00
Niels Sascha Reedijk
1f2e9ca260 kernel: ignore overflow warnings in teams.cpp and threads.cpp
GCC's overflow checker gives a warning about the potential that the atomic
functions called in teams.cpp and threads.cpp will write to a null-pointer.
In this case, it is safe to assume that the values will never be null,
therefore these warnings can be safely ignored.

Relates to/fixes #17734

Change-Id: I777ff96f2812ed7d3ba57a46cad89ef6994cb08f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6643
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2023-06-28 07:11:17 +00:00
Zardshard
4ed150bdc3 Icon-O-Matic: Save alpha of reference images
Change-Id: I821521c2f58052d70e9f27c7ffc9849095e540a0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6658
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2023-06-27 19:19:36 +00:00
Vladimir Serbinenko
d1e42115d0 i2c_hid: Don't crash on bogus i2c devices
Chromebook elemi has no touchscreen but coreboot still declares one in ACPI
tables. Fail gracefully rather than hard crash

Change-Id: I3bad098e7c7887e86669143c0ccec5b46b1428d4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6659
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2023-06-27 14:24:46 +00:00
Jérôme Duval
3801ec71a3 emuxki: use user_memcpy to read/write the user buffers.
* map registers kernel only.
* alloc buffer user only.
* may help with #18475 and #18467

Change-Id: I3f739b98e0ec2d07e83c15a614b8b1d1722025e2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6657
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2023-06-26 10:05:47 +00:00
Vladimir Serbinenko
1ece7e4531 PS2: Fix PS2 probing on Google Chromebook
Currently internal keyboard is not detected. Turns out
that reset sequence doesn't respond in expected way. Comparing with
Linux implementation, it doesn't check the return value of reset command but
compensates it by checking get_device_id and set_leds. Try reset test if it
doesn't work check ID

Change-Id: I5506f69a7083ab8ea6c936c8016fd59311a16368
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6610
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2023-06-26 06:45:30 +00:00
David Karoly
b9cca28d48 boot: implement skip-init when detecting UART from FDT
Change-Id: I012c6238b083197c8e268185904aa0ecf6641ba3
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6638
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2023-06-25 09:24:16 +00:00
Humdinger
55403e4b96 ShowImage: avoid trigger screen saver in full screen
ShowImage hides the mouse pointer when in full screen. This change
additionally avoids triggering the screen saver in that case, using
the same method as MediaPlayer, i.e. setting the current mouse
coordinates.

Change-Id: I151be209f02a2b8d3033766f2b7469655a5c8b61
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6639
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2023-06-25 09:23:57 +00:00
Niels Sascha Reedijk
68578fe6a8 device_manager: remove unused #include <set>
GCC 13 is more strict about what C++ features are available in a freestanding
(= build without standard library) build. The container types are not
available.

In this case the device manager does not use the std::set container.

Change-Id: Iaa2d71b40c9247fac8ccf2a0033c9fc288550dc7
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6642
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2023-06-25 09:10:49 +00:00
Niels Sascha Reedijk
4958c5d7b6 HaikuBook: fix some errors and warnings during documentation generation
Change-Id: Ib6b876ff83aeba0d2346990ab2e9869cbf519284
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6641
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2023-06-24 22:00:27 +00:00
Autocomitter
8872deb057 Update translations from Pootle 2023-06-24 08:14:34 +00:00
Freaxed
ae3724532e AboutWindow: fixed invalid string pointer on application version
Change-Id: I6caf78fffddedca322464dcb4350ba03bb0b0207
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6637
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2023-06-23 02:14:32 +00:00
Alexander von Gluck IV
2bd91dc18b HaikuPortsCross: Correct misaligned bootstrap package versions
Change-Id: Ia836711b471318283a2b1ecb7c5a2e10963e8b7f
2023-06-22 10:03:00 -05:00
Alexander von Gluck IV
a165c670fd 3rdparty: Fix revision check
* Add a few nice to haves

Change-Id: I53e1fd7d067357af5ad625ebf86de3ee68903cbe
2023-06-22 10:02:29 -05:00
Alexander von Gluck IV
445d4fd926 3rdparty: Add validateBootstrapRepo tool
* Fills in a detection gap where HaikuPortsCross might reference
  packages that no longer exist in haikuports.cross
* A handy pre-bootstrap check

Change-Id: Id397ecda731a7b7d8fc3d407a4791724494611d7
2023-06-22 09:49:42 -05:00
David Karoly
b4c0589f3a kernel/arm: remove unneeded call to get_commpage_image
Change-Id: Id978ebea32ea45500ed1f30f24eaeb0017487133
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6614
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2023-06-21 19:37:10 +00:00
David Karoly
426dc0c7e4 kernel/arm: remove unneeded call to arch_thread_set_current_thread
Change-Id: I1026c733033458ed02fab9e9e61f041441e56d1e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6615
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2023-06-21 09:17:17 +00:00
David Karoly
c629d42947 kernel/arm: remove unused barrier functions
Change-Id: I45c863c4ac027cc3ec5bb1922c22c58433603875
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6613
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2023-06-21 09:17:02 +00:00
Augustin Cavalier
46a5ba80a3 emuxki: Allocate memory for the kernel only.
May fix #18467. Untested, I don't have this hardware.
2023-06-20 16:42:02 -04:00
David Karoly
ddc88ea85a docs: remove TODO item for ARM Accessed and Modifed page flags
Change-Id: I497c054e4a58a39804e2a1ef7a5d30eb8cc73130
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6611
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2023-06-19 20:49:48 +00:00
Augustin Cavalier
513f86c7de user_mutex_defs: Add note that the flags area is shared with timeout flags.
No functional change.
2023-06-19 16:40:33 -04:00
Augustin Cavalier
70e8eacb35 kernel: Implement realloc_etc and make use of it. 2023-06-19 16:33:22 -04:00
Augustin Cavalier
f96456d863 kernel/vfs: Fix missing lock in fs_mount().
At least a read lock of the sVnodeLock must be held when calling
lookup_vnode, but we held none at all. This rectifies that problem.

This bug appears to have been around for many years, but no-one
noticed since ASSERT_READ_LOCKED_RW_LOCK only works with more
debug options turned on than the kernel is built with. I discovered
this while working on a new version of those additional options.
2023-06-19 14:27:48 -04:00
Augustin Cavalier
5e8058566c kernel/locks: De-duplicate two inlined methods.
The functions declared in locks.h were and are exactly identical
to these inline blocks of code. So, rather than duplicate them,
just invoke them directly. The compiler will probably inline them
anyway.
2023-06-19 13:23:22 -04:00
Trung Nguyen
79572316c4 kernel/vm: check if page is in area
Checks if a `vm_page` is part of a `VMArea` before doing work with
it, as pages in a `VMCache` that an area is a part of might not
belong to that area.

This fixes a bug for copy-on-write areas when an application is
`fork`ing.

Change-Id: Ic5683c67865b41bf3708bb7ea4104502ddf31a19
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6496
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
2023-06-19 15:59:11 +00:00
Trung Nguyen
bdcc293fa8 kernel/vm: handle page protections in cut_area
- Resize the `page_protections` array in `cut_area` and also shift
the bits if necessary.
- Set the correct protection array as well as the real page
protections for the second area produced by `cut_area`.

Change-Id: I62293480487e869420ebe5a3bc729cec2a14c687
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6395
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2023-06-19 15:59:11 +00:00
Augustin Cavalier
c5a0df2490 user_mutex: Add "user_mutex" KDL command to dump user-mutex information.
It takes one parameter to specify a thread that is blocked on such
a user mutex.

Change-Id: I513ce130137a327cbaf305d2945e6cfe3c09879e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6606
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2023-06-19 14:56:10 +00:00
Augustin Cavalier
fb688aa144 user_mutex: Use unwired virtual addresses when possible.
This requires the use of fault handlers in the atomics.

GLTeapot now runs in the range of 590-610 FPS on my VM. However, it still
isn't using anywhere near 100% CPU usage. Some of that may be waiting for
app_server to respond to draw requests, but a lot of it still isn't.

Change-Id: I7be87d10cb1b00f07b055d9094b77837b49c5055
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6603
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2023-06-19 14:56:10 +00:00