Commit Graph

65460 Commits

Author SHA1 Message Date
Augustin Cavalier
ef9e2f627b kernel/arch: Make arch_debug_get_caller() a macro implemented by a builtin.
Only the x86 and PPC implementations look like they would have worked,
while the builtin is available and will work across all architectures.
We already use it unconditionally in some parts of libroot.

Change-Id: I2dffb3b2c7cdd605092382b9d649151adb921bb4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6942
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2023-09-23 18:41:04 +00:00
Augustin Cavalier
d0c34f9331 kernel/debug: Invoke cpu_pause in trap_cpu_in_kdl.
This is the loop that runs on all CPUs besides the one
actually running the kernel debugger. It's functionally
a spin-loop around a few different variables, and so it
should be safe to use cpu_pause() here, just as real
spinlocks do.

(cpu_pause() just runs a "pause" or equivalent instruction,
it doesn't use the CPU-idle modules, which indeed may be
unsafe to use in KDL.)

A glance at FreeBSD seems to indicate they also do this
when their kernel debugger is active.

Seriously improves power consumption while KDL is active:
even running in a VM with only a few cores, there would be
obvious fan spin-up when entering KDL. After this change,
there's barely any at all (while overall CPU usage % remains
basically identical.)
2023-09-23 14:07:17 -04:00
David Karoly
a72ea36f95 boot/atari_m68k: add revision number to bootloader binary
Change-Id: Id68078ada652d5815a4392e8d94c4bd4ef3efcdb
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6947
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2023-09-23 17:20:27 +00:00
David Karoly
a944d6a02d boot/atari_m68k: fix crash on boot menu
Change-Id: I7d2afdd14ae9942fedd720b7d581a5acf2d6f40f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6945
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2023-09-23 17:20:22 +00:00
Autocomitter
8deedc28b3 Update translations from Pootle 2023-09-23 08:20:09 +00:00
Augustin Cavalier
f0a016dcb1 BBufferedDataIO: Fix Write().
I looked at this code as a reference when writing similar code in another
project, and realized then that this was broken to the point where I
don't think anyone could have actually used it:

1. Writes larger than the buffer should only return the amount written
by this Write() call, not the amount flushed beforehand.

2. fDirty was only set if there were bytes remaining after the first
write to the buffer. So, if you wrote small amounts of data, they
would be silently discarded most of the time!

3. When filling the buffer, we might as well flush simultaneously.
This allows the logic to be consolidated into a loop and remove the
duplicate memcpy. In case of failure, just return the bytes-written
as the write could be retried later.

4. Flush() should always return an error or 0, not bytes written.

While at it, add some basic tests for this class.

Change-Id: I2de01d0b31e3fe22863cef21dd7b0b62ed47121b
2023-09-22 19:56:04 -04:00
Augustin Cavalier
35bc8b401a ArchitectureRules: Disable autovectorization for the kernel (for now.)
See #18593.
2023-09-22 16:27:37 -04:00
Augustin Cavalier
55b2baf2f6 kernel: Use correct type for semaphore numbers.
It must be unsigned short, otherwise in some places we would use
negative offsets and wind up out-of-bounds.

Fixes #18586.
2023-09-21 22:28:55 -04:00
Augustin Cavalier
959d9cd069 kernel: Cleanups to the XSI message queue & semaphore implementations.
* Remove unused/unneeded parameters to Dequeue.
 * Make use of StackOrHeapArray.
 * Reorder syscall-entry checks for efficiency.
 * Inline the unlock-block method and unset variables in the process.
 * Reorder code for clarity and to reduce indentation.
2023-09-21 22:20:31 -04:00
Augustin Cavalier
f759ab2733 headers/compatibility/bsd: Update headers to remove BSD advertising clause.
Rewrite link.h entirely.
2023-09-21 18:38:10 -04:00
Augustin Cavalier
2e0e70b5bb libroot: Delete some old private math headers.
These haven't been needed or used in a long time.
2023-09-21 18:31:22 -04:00
Augustin Cavalier
d6b37ce996 packagefs: Fix missing unlocks in Volume package content node removal.
When breaking out of _RemovePackageContentRootNode() by encountering
a specified "endPackageNode", we need to unlock all directories.

This case is only possible to encounter when _AddPackageContentRootNode()
fails partway and invokes _Remove() to remove the just-added nodes.

Fixes a hang/deadlock encountered by Diver while testing some (disabled)
HaikuPorts recipes.
2023-09-21 14:53:06 -04:00
Alexander von Gluck IV
3e2b187899 build: Update arm64 build-packages for gcc13
Change-Id: I1143072d4783310f37ef68cd9e3793579f3388cb
2023-09-21 13:12:15 -05:00
David Karoly
1978148f9e boot/amiga_m68k: Handle, ExecDevice should be subclasses of Node
hrev55571 introduced several new pure virtual functions in Node,
none of which are implemented in Handle or ExecDevice any of their
descendants.

This change fixes the build after the Node/ConsoleNode refactor.

Change-Id: I098005df063160fd984e70da29ddb24a1d7a7133
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6940
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2023-09-21 17:58:22 +00:00
David Karoly
45c84b2857 boot/atari_m68k: Handle should be a subclass of Node
hrev55571 introduced several new pure virtual functions in Node,
none of which are implemented in Handle or any of its descendants.

This change fixes the build after the Node/ConsoleNode refactor.

Change-Id: I825b90a114d83105f46d566e7fe1f644ba997ec5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6939
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2023-09-21 17:57:43 +00:00
Augustin Cavalier
2903a69d4a network/ipv4: Fix NULL dereference in multicast-send.
Fixes the KDL in #18585.
While at it, add a missing NULL check and fix a leak.
2023-09-20 16:39:28 -04:00
David Karoly
39fa47a536 boot/next_m68k/mmu: implement missing functions
Change-Id: I78b51ab394c9083b081f12ca4e02f50904f67674
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6938
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
2023-09-20 18:47:12 +00:00
David Karoly
6393778b93 boot/amiga_m68k/mmu: implement missing functions
Change-Id: I1164ca30659684d8d273b58a7cc0ea33dde0a240
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6937
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2023-09-20 18:47:12 +00:00
David Karoly
3b7ddf557f boot/atari_m68k/mmu: implement missing functions
Change-Id: I7605abc7f5e7b5b15d6dd33ec3bd73777a0804aa
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6936
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2023-09-20 18:47:12 +00:00
David Karoly
ad29214d43 boot/libs: hush warnings for zstd on arm64
Change-Id: I971cdefd670d26e669e9bdfd9c9a29ca5508ff9d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6915
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2023-09-20 18:45:57 +00:00
Alexander von Gluck IV
bcd89a79ad build: Update arm build-packages for gcc13
Change-Id: Idc18fb42e18165fc35f657e0a1d19de479c137ed
2023-09-20 10:30:55 -05:00
Humdinger
9e76d619a2 Terminal: Fix translation of "Colors" window title
Change-Id: I9a9f166dbdb4a2e008eabab53c9ab70f3439aa59
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6899
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2023-09-19 08:49:30 +00:00
David Karoly
31199cd950 update bootstrap package versions for ppc
Change-Id: I84d8e32cbba725e952d0864c4a82028fa91b5209
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6912
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2023-09-17 19:14:00 +00:00
David Karoly
ad115900db ppc: use generic_msi
Change-Id: Ibe9e80bc9853f529bc1f0ef3dad78cd37af82280
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6911
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2023-09-17 19:13:19 +00:00
David Karoly
f76f6d8f57 libroot/musl: Import ppc atomic_arch.h.
Change-Id: I51b460b6a126cf401679ae2fd398445bd9969761
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6910
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2023-09-17 19:12:54 +00:00
David Karoly
dc3b3e172d m68k: VMTranslationMap.h is not needed in arch_vm.h
Change-Id: Ica0efdeabaa73be0030e0522352c0c3bf311a9ad
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6913
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2023-09-17 19:12:33 +00:00
David Karoly
420ca7cfe1 m68k: use generic_msi
Change-Id: Ifced80c25c08632ade10190658f2fc17b1de5309
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6909
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2023-09-17 19:12:11 +00:00
David Karoly
edc473bb3a libroot/musl: Import m68k atomic_arch.h.
Change-Id: I33aef6b417177ac7b998715b60ced7f28be8c3eb
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6908
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2023-09-17 19:11:43 +00:00
Autocomitter
cadb5b63ec Update translations from Pootle 2023-09-16 08:15:11 +00:00
Jorge Acereda
d51ee1e8bd Keymap: Add caps modifiers remapping
Refactored some functions.

Change-Id: Idb16b1298fcd8f2fbca256275d16fbc3584bdb55
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6842
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2023-09-14 06:36:09 +00:00
David Karoly
d7b59fd308 libroot/musl: adopt default implementation for a_crash from upstream
Change-Id: I30a1075163c1702755c86d0bd85beeb75ad894d2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6907
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
2023-09-13 00:35:24 +00:00
Chris Roberts
2435c1bd28 filteredquery: whitespace cleanup
Change-Id: I3d52a6edaebc21c8f1e37521d4862f4d9d3da3c1
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6906
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2023-09-10 20:31:09 +00:00
Chris Roberts
d351cd366f filteredquery: link against libstdc++
Change-Id: I595b7ab6f374657222f1030655744c68bf2a893a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6905
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2023-09-10 20:31:09 +00:00
David Karoly
05f767f88d Debugger: add DWARFv5 constants to Dwarf.h
Change-Id: I81d3e3cc6d896ca90e8c10f01783cc294b91886f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6903
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2023-09-10 13:04:22 +00:00
David Karoly
dfc8e0741a update bootstrap package versions for m68k
Change-Id: I813ddbd1619b57aceac6f303e6ea716736d8db2d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6902
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2023-09-10 11:43:30 +00:00
Chris Roberts
49f7074b65 filteredquery: miscellaneous fixes
* Remove the TFilteredQuery::GetNextDirents() stub as it was preventing the
results from showing

* Fix the getopt string so that a -p argument is recognized

* Move the folder_params declaration out one level so that it doesn't go
out of scope when needed

* Clean up the help output

Change-Id: If37c300b4b67773ffc33fd637c2ef9add3c12275
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6901
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2023-09-09 21:18:20 +00:00
Autocomitter
f4de95a66b Update translations from Pootle 2023-09-09 08:15:00 +00:00
Humdinger
5491ece2a4 PowerStatus: Rename 'battery low' sound, add 'critical' sound
* Renaming "Low battery" to "Battery low" so it's right next to
  "Battery charged" in the Sounds prefs event list.

* Adding "Battery critical" sound. I think it makes sense to have
  a different - more urgent - sound when there's only 15% left,
  compared to "Low" (30%).

Change-Id: I46b5975e5797a9c3a84d4619e697be162e79b1cf
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6900
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2023-09-08 15:12:04 +00:00
Zardshard
36830615dd Icon-O-Matic: Remove "using namespace" from header
Putting a "using namespace" statement (_USING_ICON_NAMESPACE in this
case) in a header file causes all source files that include that
header to use that namespace, regardless of whether they actually
wanted to.

Change-Id: I3ebf4ea3366f5f2b9068e3da88f40a7b4d98fd6b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6897
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2023-09-04 15:36:53 +00:00
Trung Nguyen
ea2870c839 headers: Define static_assert for C11
Defines the `static_assert` macro in `assert.h` as required by
the C11 standard.

Change-Id: Ic25dc99537f995404b7b4280b72c6000a293a1df
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6916
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Niels Sascha Reedijk <niels.reedijk@gmail.com>
2023-09-04 05:58:31 +00:00
Autocomitter
c079e6936f Update translations from Pootle 2023-09-02 08:19:51 +00:00
Augustin Cavalier
75e1de3c23 libnetwork: Synchronize netresolv with NetBSD 9.3.
Some of the Haiku-specific modifications that were previously unmarked
are now clearly marked with #ifdef __HAIKU__.

BIND9-specific files containing private APIs never exposed in public
headers have been removed.

Tested with wget, curl, pkgman (Network Kit), WebPositive (WebKit/curl),
and Falkon (QtWebEngine/Chromium). All DNS-related operations seem
to still work just fine.

(One patch also imported from NetBSD trunk for GCC 12+ compatibility.)

Change-Id: I4a349577b24b4df008fd9cba5d3a322cd24397f1
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6879
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2023-08-31 23:38:47 +00:00
Augustin Cavalier
ac30bc0ef6 libnetwork: Remove lcl_sv.cpp.
This has not been included in the build for years, probably since the
initial NetResolv merge. Services are now returned via the "protocols"
file, and getservent() has no need for these utility functions.

Change-Id: If18bdd9593463b38a9aaedb7a621d0ddc15530e4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6878
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2023-08-31 23:38:47 +00:00
Augustin Cavalier
4dcc1ed654 kernel: Synchronize inet_addr.c to remove advertising clause.
Change-Id: I03665bcad679e3fddaea0d8a95663be12b003bd8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6877
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2023-08-31 23:38:47 +00:00
Augustin Cavalier
56241aab2f Zip-O-Matic: Fix and enable _SelectInTracker().
Based on a code example from humdinger.
2023-08-31 15:25:06 -04:00
Augustin Cavalier
711b36b44c Tracker: Merge SelectPosesListMode and SelectPosesIconMode.
There was a TODO comment about this, which dated all the way back
to the original OpenTracker import over 20 years ago.

There's still more cleanup needed, so I left another TODO.
2023-08-31 15:13:06 -04:00
Augustin Cavalier
46a6070b57 libroot: Replace strcspn and strchrnul with musl versions.
Removes the last BSD advertising clause from the "string" directory.
2023-08-31 15:10:19 -04:00
Augustin Cavalier
bc328a435b libroot: Import a lot of changes to stdlib, string code from FreeBSD.
Includes licensing clause removal. Also deleted 2 files that are
not used in the build and are not referenced anywhere else.
2023-08-31 15:10:19 -04:00
Augustin Cavalier
a573f9e4be libroot: Fix build of new time files under GCC2. 2023-08-30 22:46:36 -04:00
Augustin Cavalier
a8e2f08853 libroot: Replace the old localtime fallback backend with musl code.
This allows for the deletion of quite a lot of ugly C89 code.
2023-08-30 22:32:58 -04:00