Commit Graph
68116 Commits
Author SHA1 Message Date
John Scipione a20098f186 libsolv: Define HAVE_STRCHRNUL on darwin
src/libs/libsolv/solv/repodata.c:246:27: error: static declaration of
'strchrnul' follows non-static declaration
  246 | static inline const char *strchrnul(const char *str, char x)

Change-Id: I4a93b1c361ba32d3984567ca24bd1d473a252555
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9740
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-10-27 15:33:41 +00:00
PulkoMandy 9740fce419 ActivityMonitor: allow to display temperature from acpi_thermal
Change-Id: I658abc2c90e28c8704e6d09900095f0ae1c7665d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9698
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2025-10-27 12:48:11 +00:00
PulkoMandy b543cfa664 acpi_thermal: implement B_GET_DEVICE_NAME
Get the name from the _STR method of the ACPI object.
Convert from UTF16 as needed.

In cases where the ACPI implementation provides multiple zones, this
allows to differenciate them.

Change-Id: If349207dcfd22cc9c3baf50b8f8d63d56dc62f21
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9739
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2025-10-27 12:48:11 +00:00
PulkoMandy f80d1b0293 kernel/util: make convertutf available to C code
No reason to make it C++-only

Change-Id: Ia9c1aff68876fd0d9a4bcf82d69f5e6ec6878ca0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9738
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-10-27 12:48:11 +00:00
PulkoMandy 8ded2fd4bc sdhci: replace panic by trace.
Command execution will still be rejected, but it should not bring down
the entire system.

Change-Id: If6f0921706e0ed2a7c4d21da636419dc69ed77d7
2025-10-26 17:46:49 +01:00
Humdinger 3fb277ab3a Fix BDate::LongDayName()
As PulkoMandy found out B_LONG_DATE_FORMAT corresponds to ICU's
"Abbreviated", while we want B_FULL_DATE_FORMAT (ICU's "Wide").
That is, we want e.g. "Saturday", not "Sat".
Used in WebPositive's "History" menu.

Fixes #18630.

Change-Id: Iaca93f9e34a117dae76455cde217a03dd66f08e4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9719
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-10-26 07:00:37 +00:00
nipos b05ab78ac4 DiskProbe: Rewrite TypeEditors to use the Layout Kit
Fixes issues with some cut-off BTextControls (no ticket)

Change-Id: I28765a6c2ff8e7c3b8fc5b953883ccc4e5a9fbb0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9713
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-10-26 07:00:07 +00:00
nipos fdaf6a22db DiskProbe: Use B_PANEL_TEXT_COLOR for labels in TypeEditors
Fixes #19760

Change-Id: Ia57824bb8f31b2474c75afefc9e517a87efaf12c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9712
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-10-26 07:00:07 +00:00
Adrien Destugues ce68077e63 sysinfo: report leaf 7 features
This is where you can see if your CPU supports AVX2, AVX512, and a lot
of other things.

Change-Id: I56a24e4d27abeb357045cbd76deda40f977c6116
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9717
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-10-26 06:58:33 +00:00
nipos 4cc3c05bf5 DeskCalc: Save color only on color drops
Fixes #19762

Change-Id: If44eb69e7569a264ad51ede12f1029f14d42bfde
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9716
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-10-25 14:57:44 +00:00
nipos c63ee3a0e3 MenuWindow: Tint dark text light, light text dark for <empty> item
Fixes #19761

Change-Id: I0b72bfe54cd7a9e0c2792bc1ed11e56a83a13540
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9715
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2025-10-25 14:56:47 +00:00
Jim906 780acc5dcf nfs4: Add locking to protect a ConditionVariable
* Ensure that after RPC::Server::SendCallAsync() returns, its client
  can't delete RPC::Request::fEvent while fEvent.NotifyAll() is still
  in progress in the notifying thread.
* Fixes #19764.

Change-Id: I516fe5a1c4e0f6939c62d6d5e3b91771ab12223c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9709
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2025-10-23 16:04:35 +00:00
Humdinger 08e8099b4a TextSearch: Fix open on double-click
Need to call BOutlineListView::AttachedToWindow() or the message
assigned by SetInvokationMessage() isn't set. Which prevents opening
a search item on double-click.

Change-Id: I3028917df075c9b10aae73747100081c48ef1dac
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9710
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2025-10-22 15:56:21 +00:00
SED4906 9371fc12d7 sdhci_acpi: Use CID to detect devices
Change-Id: Ifdf4cd2f34dc610dfeeddc04e2fe65de9947c3db
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9708
Reviewed-by: Adrien Destugues <[email protected]>
2025-10-21 12:25:24 +00:00
Oscar Lesta 35a3d6b739 pkgman: add '--show <field>' to the 'info' command.
This allows getting the requires and provides for uninstalled packages,
in a format easy to parse for scripts.

Change-Id: I11a138540f820a0ecca3dad2238085fdfb9d51d2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9589
Reviewed-by: Adrien Destugues <[email protected]>
2025-10-21 07:14:55 +00:00
nipos 3db7904c54 ShowImage: Display more specific error messages if an image fails to load
Fixes #19362

Change-Id: I328711ac27a6d195401343f94e8dfc1f0aafd8d3
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9623
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-10-21 07:12:40 +00:00
Augustin Cavalier 89f76d7509 kernel/vm: Fix double-read-lock in user_set_memory_swappable.
lock_memory_etc also acquires the address space read lock.
So, just perform that step first and separately from the loop.

Discovered by the RW_LOCK_DEBUG assertions.
2025-10-17 15:56:56 -04:00
Augustin Cavalier c02707824b kernel/fs: Add some more lock assertions. 2025-10-17 15:50:51 -04:00
Augustin Cavalier 0f9f1f124f kernel/vm: Add some more assertions. 2025-10-17 15:43:03 -04:00
Augustin Cavalier a1ef046ad7 kernel/locks: Dump reader threads in "rwlock" command under RW_LOCK_DEBUG.
This makes debugging rwlock deadlocks easier (under kernels with this
option enabled, anyway, which it isn't by default.)
2025-10-17 15:29:31 -04:00
PulkoMandy b1a1645de4 DriveSetup: convert main view to use layouts
Change-Id: I92f3c7e3b4fb6babfa0688524d549e254f1ecebc
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9703
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2025-10-16 09:01:00 +00:00
Rich Felker 8cab127ab5 libroot/musl: strptime: implement conversion specifiers adopted for next POSIX issue
the %s conversion is added as the outcome of Austin Group tracker
issue 169 and its unspecified behavior is clarified as the outcome of
issue 1727.

the %F, %g, %G, %u, %V, %z, and %Z conversions are added as the
outcome of Austin Group tracker issue 879 for alignment with strftime
and the behaviors of %u, %z, and %Z are defined as the outcome of
issue 1727.

at this time, the conversions with unspecified effects on struct tm
are all left as parse-only no-ops. this may be changed at a later
time, particularly for %s, if there is reasonable cross-implementation
consensus outside the standards process on what the behavior should
be.

Change-Id: I54f4281b23576638f22e1dabf4179ccae6135c00
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9702
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2025-10-16 02:13:26 +00:00
Rich Felker 4972edeca6 libroot/musl: strftime: fix breakage in last change (uninitialized pointer access)
commit f47a5d400b8ffa26cfc5b345dbff52fec94ac7f3 overlooked that
strtoul was responsible for setting p to a const-laundered copy of the
format string pointer f, even in the case where there was no number to
parse. by making the call conditional on isdigit, that copy was lost.

the logic here is a mess and should be cleaned up, but for now, this
seems to be the least invasive change that undoes the breakage.

Change-Id: I2ccd5c949c9db63c8d4c8e752352f71ed494fbdb
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9701
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2025-10-16 02:13:26 +00:00
Rich Felker 18079f66df libroot/musl: strftime: don't attempt to parse field width without seeing a digit
strtoul will consume leading whitespace or sign characters, which are
not valid in this context, thereby accepting invalid field specifiers.
so, avoid calling it unless there is a number to parse as the width.

Change-Id: Ia683e6e8f71db8a323fec78555f3adef1bc90e6c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9700
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-10-16 02:13:26 +00:00
Alex Xu (Hello71) 5f4a1d9171 libroot/musl: __year_to_secs: fix dangling pointer
The lifetime of the compound literal ends after the "if" statement's
implicit block. gcc also warns about this.

Change-Id: I408d77638ab82c5305bfcd31affb2b14070652f4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9699
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-10-16 02:13:26 +00:00
nipos 832ccec747 ShowImage: Properly implement wrapping from last to first/first to last image
Fixes #19321

Change-Id: Iab8f4d508aed2809a3398ffd8b3dce6af609c72a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9607
Reviewed-by: Adrien Destugues <[email protected]>
2025-10-15 12:17:59 +00:00
Humdinger c928bd3270 TextSearch: add context menu
A right-click opens a popup menu with useful items of the "Actions"
menu of the main window menu.

Change-Id: Ie2eb832fee48d642cec66f0a3c7212570eedb6c0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9657
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2025-10-15 10:02:24 +00:00
PulkoMandy 913c5a4298 Time: Make middle dot of clock visible in dark mode
_DrawHands modifies the high color when drawing the shadow. This
resulted in the middle dot being drawn with the shadow color.

Fixes #19633

Change-Id: I32886c56dfb22d4a83fca9164c326ddbc3fcf0de
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9601
Reviewed-by: Adrien Destugues <[email protected]>
2025-10-15 08:26:00 +00:00
Jérôme Duval 7c089760c6 efi: fix header guard comment
Change-Id: I5528185d0b130fa8095b62d7865e51f22a68d8b5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9692
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Jérôme Duval <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2025-10-15 06:52:57 +00:00
Jérôme Duval 6ce67a5336 smbios: support getting address from EFI
* prefer v3 over v2
* adding efi attributes in gBootVolume KMessage is a bit of a hack, but
shouldn't hurt older kernels.

Change-Id: If5ea19dafa5a845872eb8d577e77a6935539ce20
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9685
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2025-10-15 06:52:57 +00:00
Jérôme Duval 4719b3c5c3 boot_loader: rename gBootVolume to gBootParams
this will be used to hold other boot parameters, for instance smbios root pointers.

Change-Id: I004a8abe553241816c0a004225e088bad1c11b47
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9691
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2025-10-15 06:52:57 +00:00
PulkoMandy fc746f4acf sdhci: use clock timing presets
This allows the controller to set up its own timing registers with
default values automatically. It is especially useful when working with
multiple MMC devices, as the controller can switch to the right speed
automatically for each transaction.

Change-Id: I356f5fd289ce55d72ad1cbb5cd27f019ea6f767b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9697
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-10-15 06:09:43 +00:00
PulkoMandy 7645cb2eb4 sdhci: Add timeout to wait for transfer complete
To ease debugging, print the status register periodically when the
expected interrupt doesn't happen.

Change-Id: I9edb84d6c7d8259f64a3b92d86ead6d4431a6bf8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9696
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2025-10-15 06:09:43 +00:00
PulkoMandy 84ec76aeaf sdhci: move transfer_mode setup to ExecuteCommand
This allows to do things in the order specified in the specification,
and keeps the calling code simpler.

Change-Id: I3c81b9501712db4b1cff09a7b146cd2436c74be3
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9695
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-10-15 06:09:43 +00:00
PulkoMandy eefb965db8 sdhci: initialize timeout_control register
The default value can be too small, in which case data transfers always
fail with a timeout. Since we previously didn't enable the data timeout
interrupt, this would lock things up completely.

May fix #17031, #17604, #19081.

Change-Id: I422ac599515d1199cdf69daac6ceae649e116de4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9694
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2025-10-15 06:09:43 +00:00
PulkoMandy 0336840df1 sdhci: unmask all error interrupts in the status register
Without this, the general error bit in the normal interrupt register
never gets set, and the corresponding interrupt never happens.

Change-Id: Ic950e55ab04ba7409a4f10bbab8f7a3ce9f08a49
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5057
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2025-10-15 06:09:43 +00:00
PulkoMandy 660f1dc9dd sdhci: readable dump of capabilities register
Change-Id: If97b8fbc20f4d064561698d8bf9601d7ed42d083
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9693
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2025-10-15 06:09:43 +00:00
PulkoMandy c66bb38463 Fix various Doxygen warnings in Haiku book.
- Return tags for methods that don't return anything
- ingroup without matching defgroup
- confusion between ref, a, and link tags (they are not the same)
- missed API changes (BObjectList templated owning, new url
  encode/decode API)
- duplicate defgroup definitions

Change-Id: I94a31b04a10a62e71659522c5ed77098728c0843
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9689
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2025-10-14 19:18:14 +00:00
PulkoMandy 4d9e77db67 sdhci: use condition variables for interrupt synchronization
This makes the code safer and easier to read.

Things work up to the first sector read, that tries to use a DMA
transfer. The "transfer complete" interrupt for it never happens.

I assume I am not setting up the SDMA correctly, but I have not found
what I'm missing yet. The old code accidentally gets past the first
transfers while it's not actually complete, and fails in the same way
as the new code during the second one.

Change-Id: I7c82aa0da4aea91b6c60165a50d656115270a3c4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9682
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2025-10-14 19:18:14 +00:00
PulkoMandy 51a2c5498c sdhci: cleanup, no functional changes.
Change-Id: Ie9b85e9a527b125db2f95ef9ee046daea20f7894
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9681
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2025-10-14 14:08:14 +00:00
PulkoMandy f6195731ea Add documentation for kernel condition variables API
Change-Id: Ib747c0b4559dba9c2985771447ea95c1a430e085
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9676
Reviewed-by: waddlesplash <[email protected]>
2025-10-14 14:08:14 +00:00
PulkoMandy 92cbc8ab0d Remove some obsolete build rules
CLucene and Taglib have not been updated since the switch to package
management. The old rules do not wrk since they relied on the
haiku-files.org domain. The libraries can be reintroduced as build
packages if we ever decide to resume the project that needed them
(general file content indexing).

Change-Id: Id7e3fb7c5b9070addaaa9763053d7d006f2b3484
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9690
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-10-14 12:02:35 +00:00
Augustin Cavalier 959feb6161 kernel/fs: Add missing early return in create_socket_fd.
May fix #19682 and others.
2025-10-13 23:16:45 -04:00
Jérôme Duval ba952ac9c0 nvme: support 64 LBAF formats
Change-Id: Ia1cc446ba1985f5e3ce80a8046aac6947b20d710
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9688
Reviewed-by: waddlesplash <[email protected]>
2025-10-13 16:04:55 +00:00
Augustin Cavalier f7d2fc176e kernel/slab: Add some more info to a paranoid ASSERT in object_cache_alloc.
This was triggered in #19782. Ultimately more information will be
needed to diagnose what overwrote the memory, and this is a start.
2025-10-10 21:16:20 -04:00
Augustin Cavalier 9359d0860b BWindow: Fix confusion between modifiers and "prepared modifiers".
The former must have B_NO_COMMAND_KEY if the shortcut has no command key,
while the latter should simply not have B_COMMAND_KEY.

This mixup meant that modifiers flags without either set were
passed back to BMenuItem, which then used them when calling
RemoveShortcut(), but that method expects B_NO_COMMAND_KEY
to be specified, so the shortcuts weren't really removed,
resulting in use-after-frees.

Fixes #19426 and related issues.
2025-10-10 16:20:03 -04:00
Augustin Cavalier 4ccb957d6c x86_acpi_cstates: Port to the new ACPI and CPUIDLE APIs.
Tested by OscarL and confirmed to be working on at least
one machine, though on others it hangs, so leaving out
of the default builds for now.

This adds an "acpi_processor_id" field to x86 arch_cpu_info,
gleaned from the MADT, so we can match our cpu_ents to ACPI
processor objects. (FreeBSD does a similar mapping, see
their acpi_cpu_probe method.)

Change-Id: Idb5e3c1fc1efaa4256d60ea17dd1824345369687
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9637
Reviewed-by: waddlesplash <[email protected]>
2025-10-10 18:24:56 +00:00
X512 31f0983fb2 remove accidentally set executable file bit
Change-Id: I6eb500ee8dc3ad0e699c3c3ec5e07d4a75264eb5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9686
Reviewed-by: waddlesplash <[email protected]>
2025-10-10 15:31:55 +00:00
Sam Roberts 262dd3c9d9 unzip: Compile with std=c99
Allows building with GCC >=15, which defaults to c23 and disallows
function declarations without parameters and old-style function
declarations.

Fixes #19584

Change-Id: Idb141b804e80d3909558abecd2c74538cb3766ae
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9684
Reviewed-by: waddlesplash <[email protected]>
2025-10-09 16:39:23 +00:00
X512 47538c534f ClientMemoryAllocator: use map and reference count
- Resolve TODO about using map for server area_id lookup.

- Remove server cloned area delete request logic because it is less
  efficient and robust. Cloned area delete request messages may be
  missed if client message queue is full so it may cause cloned area
  leak.

- Implement reference counting for cloned areas instead.

Change-Id: Ie434ad36c2761ab0df00d341d55a6cea67b69830
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9667
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-10-06 15:10:48 +00:00