Commit Graph
69128 Commits
Author SHA1 Message Date
Philippe Houdoin 3136245cbf libprint.a: check the transport add-on file actually exists before trying to load it
This should fix runtime_loader "cannot open file" errors logged into syslog because every
standard locations were attempted without checking for actual existance of a file to
attempt to open.

There messages were misleading users about their criticity.

Change-Id: I621b122a4eee1cc7ad2ff1c03f5146809657e7d4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11175
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2026-06-22 18:59:45 +00:00
Augustin Cavalier 2b6e9091da kernel/slab: Fix KDEBUG check.
KDEBUG itself is an expression already.
2026-06-22 14:52:02 -04:00
Augustin Cavalier bc3624c0a9 kernel/vm: Fix typo in comment. 2026-06-22 14:51:41 -04:00
Augustin Cavalier 22d9a23207 kernel/device_manager: Add some missing checks in DMAResource::TranslateNext.
* Ensure memory is locked before doing virtual->physical translation.

 * Make sure get_memory_map_etc actually returned an entry.

I didn't see either of these trip in some basic testing though.
2026-06-22 14:51:27 -04:00
Augustin Cavalier 7bee547af0 kernel/x86: Assert locked in X86VMTranslationMap64Bit::Map. 2026-06-22 14:50:29 -04:00
Máximo Castañeda d865437549 bluetooth: there may be no active local device
Which would lead to NULL dereference.
Related: update friendly name field on device change.

Fixes: #20137
Change-Id: I909501017f92952d97791ff88202ace12ac5623a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11167
Haiku-Format: Haiku-format Bot <[email protected]>
Reviewed-by: Máximo Castañeda <[email protected]>
Reviewed-by: Mohammed R. Attia <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2026-06-20 21:39:35 +00:00
Autocomitter 1a38566ed4 Update translations from Pootle 2026-06-20 08:17:49 +00:00
Andrew Lindesay 9ca0b9036a HaikuDepot: verify clock and auth
This change will cause HaikuDepot to communicate
with the server on start-up to obtain runtime
information.

Included in the information is the server's
current timestamp. This allows the client to then
validate there is not too much drift between the
server and the client.

The primary driver for this change is to pickup
the future transition from the server allowing
nickname+password authentication over to only
supporting SSO. Once the server no longer supports
nickname+password auth then the UI can disable it
and the users of the legacy HaikuDepot versions
can nevertheless continue to use the rest of the
application OK.

Change-Id: I203102c2266f67115f4b0290f1909346701f79e4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11047
Reviewed-by: Andrew Lindesay <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2026-06-19 22:47:00 +00:00
Augustin Cavalier 719b0ce380 kernel/vm: Consolidate and add an assert in vm_page. 2026-06-18 18:06:09 -04:00
Augustin Cavalier 59fb06ae9d kernel/vm: Overhaul set_memory_protection's handling of caches with multiple areas.
* Properly handle copy-on-write in the case of consumers, same as
   set_area_protection. This seems to fix most of the remaining problems
   in boehm-gc's mprotect-VDB.

 * Do not call set_area_protection if the whole range is covered,
   as it tries to acquire address space locks, which can lead to
   deadlocks: that was the cause of #20138. Instead, handle changing
   the protection of all pages in here.

 * Don't unmap pages of lower caches; just don't allow writing to
   those pages. This allows us to avoid unlocking the translation map,
   and also should mean a lot fewer page faults, hopefully improving
   performance.

Fixes #20138.
2026-06-18 18:06:09 -04:00
Augustin Cavalier bd8dfa4693 kernen/device_manager: Add a missing clear of an area_id.
Probably not needed, but doesn't hurt.
2026-06-18 18:06:09 -04:00
Augustin Cavalier 7214df8d3c kernel/slab: Keep ACCESS page state during mapping.
We don't assert this inside Map() at present, but I added one there
for debugging purposes, and this is one of the few places that tripped.
2026-06-18 18:06:09 -04:00
Augustin Cavalier 61445814f2 kernel/vm: Allow calling AddressSpaceWriteLocker::SetTo with something already set.
Other Lockers behave this way, and the behavior will be needed in
_user_set_memory_protection.
2026-06-18 18:06:09 -04:00
Augustin Cavalier 2e98b42157 kernel/vm: Add some more ASSERT_WRITE_LOCKED assertions. 2026-06-18 18:06:09 -04:00
Augustin Cavalier 40c254f71c kernel/locks: Allow passing const rw_locks to ASSERT_READ_LOCKED_RW_LOCK. 2026-06-18 18:06:09 -04:00
Sam Roberts 6a3298c918 BStringList: Invoke qsort_r with different argument order on macOS
Change-Id: I542be695bf42827f0ac8fde403bcbb5c6a6a6964
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11147
Reviewed-by: waddlesplash <[email protected]>
2026-06-17 18:02:41 +00:00
Sam Roberts c1bea23ef3 arm64: Correct MaxPagesNeededToMap computation
This would underestimate the number of pages needed to map an address
range resulting in too-small page table page reservations, causing a crash

Change-Id: I34513621b36ecd60de71e128912950b66a6a6964
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11129
Haiku-Format: Haiku-format Bot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2026-06-17 18:01:51 +00:00
Sam Roberts 1938377e5d arm64: Synchronize icache when mapping pages & changing page protection
Change-Id: Ib11b46fa0003e6a3a68154b8109c5d6a6a6a6964
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11125
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
Haiku-Format: Haiku-format Bot <[email protected]>
2026-06-17 18:01:51 +00:00
Sam Roberts dad765a43b arm64: Track per-cpu MPIDR in arch_cpu_info
Apple's interrupt controller needs to know the MPIDR of the
CPU you want to send an ICI to

Change-Id: I81d1c25d5977140aaa4349fa83b7235e6a6a6964
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11124
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2026-06-17 18:01:51 +00:00
Sam Roberts c216360337 kernel/interface: 30-bit RGB pixel format support
On Apple ARM platforms, iBoot sets up a 30-bit framebuffer

Change-Id: I6c03937303a3363fde511c8b8b7f8fd66a6a6965
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11128
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2026-06-17 18:01:51 +00:00
mohammedrattia a309dd6890 bluetooth: adding a functioning cancel button to the Inquiry Panel
- This is a mandatory feature in HCI Implementation Conformance Statement (ICS).
- The inquiry cancel logic was implemented in Haiku, but wasn't linked to the inquiry panel.

Change-Id: Ic827b0a09979a078bed5b9f99a8541dc319ac449
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11106
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2026-06-17 17:47:53 +00:00
Jérôme Duval 31c245ae13 Workspaces: allow switching by moving with Workspaces [left|right|down|up]
* -i to dump the layout
* Idea taken from workspacectl

Change-Id: I8d0c4abdffc63db14f3a4ecd590439fbbfe38ce4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11127
Reviewed-by: Jérôme Duval <[email protected]>
2026-06-16 04:57:27 +00:00
Jérôme Duval 528bb58299 BStringList: add Sort() with custom functions
fix #9268 and a TODO

Change-Id: I3148b32221f34f5fb270d8892a6fc80f69ba2e29
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11104
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2026-06-15 14:49:00 +00:00
Augustin Cavalier 22a2180aa5 app_server: Always store the current configuration when adding screens.
Should hopefully fix #20136.

Change-Id: I29730bdb9bd9ceaaa68028f00797cc275ecd4629
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11107
Reviewed-by: waddlesplash <[email protected]>
2026-06-14 02:34:18 +00:00
Augustin Cavalier 2a0ccdfd34 app_server: Handle brightness more similarly to other screen configurations.
Untested as I don't have hardware with supported brightness control,
but the changes are relatively straightforward.

Should fix #20134.

Change-Id: I45b78bc8006a54cc5ba4f65a026df99401c621b5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11083
Reviewed-by: waddlesplash <[email protected]>
2026-06-14 02:34:18 +00:00
mohammedrattia 1613469e57 bluetooth: fix "Invalid Arguments" error while pairing from Haiku
- Running the function RemoteDevice::Authenticate() caused "Invalid
Arguments" error because packetType had both ACL and SCO types while
the command parameter require only ACL packet types.
- Thus, bits 5, 6, and 7 should be 0 becuase they're for reserved for
future use.
- This was tested on Haiku to pair with an Android phone.

Change-Id: I24a338a2494bfaaab056abf73f1c946179d6b606
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11105
Tested-by: Commit checker robot <[email protected]>
Haiku-Format: Haiku-format Bot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2026-06-13 08:09:27 +00:00
Leo Rouleau 315411d839 Devices: extend dm_wrapper and new layout
Shows Device path in /dev if used and Driver used. New tree-view layout for Basic
Information and Attributes separated.

Changes:
- Added new attribute in device_manager to get the path of device
- Tree view layout that separates the Basic Information of a device,
  such as name or driver used and the Attributes that shows the rest
- new call in dm_wrapper
- new case in device_manager
- logic to add the new attributes as Device path and Driver used in
  DevicesView.cpp

Change-Id: I05eaf5d7cf9e3b5ec8e9f1e0ac5c6cf7561ccde5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11012
Reviewed-by: Kacper Kasper <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Jérôme Duval <[email protected]>
2026-06-12 20:16:56 +00:00
Máximo Castañeda e196d6d923 BNetworkSettings: use after "free"
We can't use a pointer to internal data of a message after we have
removed the field.

Change-Id: I09e014e1d1256eb71ad1a23760c4fa709511f2a3
2026-06-11 21:28:28 +02:00
Augustin Cavalier 2a209bcf58 build: Enable S3 driver & accelerant on x86_64.
It works there now. Fixes #20112.
2026-06-10 11:58:27 -04:00
Augustin Cavalier dd5feaa4a6 freebsd_network: Drop the scan_done_sem.
It's not used anymore. Thanks to madmax for noticing!
2026-06-10 11:57:17 -04:00
Augustin Cavalier 7288df8b9c nvmm: Reinstate fallback in os_mtx_lock.
It is actually needed for the VMX backend at least.
2026-06-10 11:50:52 -04:00
Nathan Patrizi 414f2e77a3 IOSchedulerSimple: Prevent corruption when FS block size < device block size
* Block writes to ranges that have been read as part of a
  read-modify-write operation until that operation has completed.
* Fixes potential corruption issues when using a filesystem block size
  smaller than the device physical block size.

Fixes #16951

Change-Id: Ibae317483ae34e506ceee1736107837a3b999ca7
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11017
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2026-06-10 15:47:26 +00:00
Pascal Abresch 0c3a037c33 mediasettings: minor label color fix
Change-Id: I56928a554ada7cc86f0b8540371d017a9aa7980f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11073
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: nephele nephele <[email protected]>
2026-06-10 15:43:10 +00:00
mohammedrattia efce1b942a bluetooth: Add text field to change the friendly name in preferences
- The feature was tested in Haiku Nightly
- Users now can type a new friendly name in settings then the name will be updated in the local devices menu, the device view, and the Bluetooth device

Change-Id: I367512ceba8e798327c7b28fa4ea5a2f63c3f383
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11076
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2026-06-10 15:42:53 +00:00
mohammedrattia c3bd18778b bluetooth: Adding support for the HCI Read Local Supported Commands command
- The added command is mandatory under the HCI Implementation Conformance Statement (ICS).
- The command was tested through running the bluetooth_server and Bluetooth preferences and tracking the output logs.

Change-Id: I471766233dee5b24b3fe424fe6724e4378b5927b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11075
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2026-06-10 15:42:53 +00:00
Jessica Hamilton f5aa8427b1 bfs: skip checking indices when there's no indices root.
This follows on from hrev59702, fixes #20133.

Change-Id: I03a8324e4a2002f9f793f33fb7d3654f77bc8e92
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11077
Haiku-Format: Haiku-format Bot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2026-06-09 05:15:04 +00:00
Augustin Cavalier 4402cb4497 nvmm: Implement FPU save/restore.
Otherwise, the host won't be able to modify the guest FPU (and we could
clobber the state, too.)

This doesn't seem to fix the general problems seen so far, however.
2026-06-08 16:31:21 -04:00
Augustin Cavalier e2accec408 nvmm: Remove now-unnecessary hack from os_mtx_lock().
It's not needed after implemeting a real os_return_needed.
2026-06-08 16:31:21 -04:00
Augustin Cavalier aeadb071a2 Tracker: Fix deadlock on opening file panels a second time.
Follows up on #20125.
2026-06-08 16:24:06 -04:00
Augustin Cavalier 29393e16ae graphics/s3: Fixes for 64-bit.
Untested as I don't have this hardware, but relatively straightforward.

Part of #20112.
2026-06-08 12:11:18 -04:00
cafeina 8294280634 Haiku Book: added Image for the Kernel Kit.
Made visible that kit in the index page.

Change-Id: I1bceecc49205a2344bc5a6eff3296980162bf620
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11015
Haiku-Format: Haiku-format Bot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2026-06-08 07:07:05 +00:00
PulkoMandy 268e56a9c8 Try to workaround BFilePanel setup and initial locking again
This seems to fix the crash when opening a filepanel. I didn't test it
further. It may make more sense to revert all my attempted changes
instead and find a better approach.

Fixes #20128.

Change-Id: Ibf8d77a5f435abdbf4610666642235f2f727879f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11074
Haiku-Format: Haiku-format Bot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2026-06-07 03:54:51 +00:00
PulkoMandy 0dcb236007 Remove unzip support from ExtractArchive rule
Not used anymore since the deprecation of pre-package kit
OptionalPackages

Change-Id: Ie2c7bd1df1afc9edad08078392bf7d3122e8cbdd
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11070
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Jérôme Duval <[email protected]>
Haiku-Format: Haiku-format Bot <[email protected]>
2026-06-06 19:14:03 +00:00
Autocomitter 289b0a154b Update translations from Pootle 2026-06-06 08:09:03 +00:00
SED4906 c12b2aba11 build: initial support for ppc64
https://review.haiku-os.org/c/buildtools/+/2784

Change-Id: If429e20752712224ffc2afb0c32ca94d14a8b7a8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10809
Haiku-Format: Haiku-format Bot <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2026-06-05 10:52:04 +00:00
PulkoMandy 61fec68746 Tracker: fix infinite recursion in debug mode
Change-Id: I3a75ff1d5db9cc42467e456bacb899ce72fc8dba
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11057
Reviewed-by: Adrien Destugues <[email protected]>
Haiku-Format: Haiku-format Bot <[email protected]>
2026-06-05 10:47:54 +00:00
Andrew Lindesay 182fd3635e HaikuDepot: not available for screenshot
When there is no screenshot, shows a
placeholder image and some text to explain
that there is no screenshot.

Closes #19923.

Change-Id: Icd12dca9503d9fc270fc88ec8cba05ad20fa8a79
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11013
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Andrew Lindesay <[email protected]>
2026-06-05 09:54:00 +00:00
Augustin Cavalier 658cb74bed kernel/x86: Initialize CR0 in the kernel more than the bootloader.
The bootloader is now only responsible for setting up Protected Mode
and Paging. It otherwise preserves the existing CR0, and leaves setup
to the kernel.

The kernel now sets CR0 for each CPU in preboot_init_percpu().
Some redundant sets are removed from x86_init_fpu, which now
panic()s in the case where we don't have a FPU, and avoids
unnecessary prints.

This fixes a massive oversight where CR0 was never reset on x86
systems booted using the EFI loader, except on the boot CPU! That
meant that NUMERIC_ERROR and possibly even WRITE_PROTECT were
simply not set on non-boot CPUs, unless the EFI BIOS had set them up
already. (On the BIOS loader, smp_start_kernel() ran on all CPUs.)

Fixes NVMM initialization on non-boot CPUs on Intel hardware.
2026-06-04 18:18:28 -04:00
PulkoMandy f03734abc9 ContainerWindow: unlock the looper when not running in constructor
Fixes #20125 (tested with Backgrounds and WebPositive)

Change-Id: I9d74bb4a8e0d3c23f4de225f1a395b1916692063
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11069
Haiku-Format: Haiku-format Bot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2026-06-04 17:02:23 +00:00
Augustin Cavalier de79d42abb nvmm: Use dummy kernel & current process maps to avoid allocations.
Removes a bunch of #ifdef __HAIKU__ and avoids unnecessary overhead.
2026-06-04 12:35:08 -04:00