Commit Graph
69160 Commits
Author SHA1 Message Date
Máximo Castañeda 1833cdb155 BNetworkSettings: fix loop termination condition
Fixes infinite loop when loading empty wifi_networks file, and incorrect
fields format when saving.

Change-Id: I269e6176df8d81fb113795b40763cc3ef7afb1ab
2026-06-03 13:26:46 +02:00
Máximo Castañeda d45c3c5793 DriverSettingsMessageAdapter: fix printf format
We want to limit the characters from a non NULL terminated string, not
to impose a minimum width.

Change-Id: I0349aad9776b4fd55dfb80a8f9bf84d4aeb21508
2026-06-03 13:26:46 +02:00
Sam Roberts 26b5e6d4a1 acpi: Initialize embedded controller from ECDT
Some systems need embedded controller access during their _INIs,
so we need to use the ECDT to initialize the embedded controller
during ACPI init.

Since we can now initialize the EC during ACPI module init, we can't go through
the ACPI module anymore, and instead call its functions directly

This should fix
"KERN: ACPI Error: Region EmbeddedControl (ID=3) has no handler"
seen in a few ACPI-related tickets, including:
#19602, #19407, #18864

Change-Id: Ia648ee8036b68416ed1ca1c51dd1daea6a6a6964
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11058
Reviewed-by: Fredrik Holmqvist <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2026-06-03 09:35:23 +00:00
PulkoMandy 27fea46e59 Tracker: do not assert when there is a fifo or device driver in a directory
Part of #20119, but the file is still not displayed.

Change-Id: I7a3ba7e825aec8b1e176ba6c396fb9bde3ef91ba
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11056
Reviewed-by: Adrien Destugues <[email protected]>
2026-06-03 09:33:34 +00:00
PulkoMandy 7f27e3d426 Tracker: do not start looper when creating a file panel
Should really fix #19499.

Change-Id: I66f54f2820261980ebab5f5cfd720632fc8b7c44
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11055
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2026-06-03 09:33:34 +00:00
Kevin Adams b5ac9ff15b agp_gart: add missing Skylake IDs
IDs sourced from "Intel Open Source HD Graphics, Intel Iris Graphics, and
Intel Iris™ Pro Graphics Programmer's Reference Manual. Volume 4:
Configurations" PDF from Intel.

https://www.intel.com/content/www/us/en/docs/graphics-for-linux/developer-reference/1-0/hardware-specs.html

Verified on a Dell Inspiron 7559.

Fixes #17682.

Change-Id: I21db7c2beda1363046e82c55651fe05fa31b5fe8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11049
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2026-06-02 07:46:04 +00:00
Sam Roberts 700dc49d83 boot/efi: Do not allow insert_physical_allocated_range to fail
Change-Id: Id10b81ae869b62bf94ace3a9f2482e076a6a6964
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11051
Reviewed-by: waddlesplash <[email protected]>
Haiku-Format: Haiku-format Bot <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2026-06-02 07:44:24 +00:00
Andrew Lindesay 5bbd5a82ae HaikuDepot: reverse anon-stats yes/no default
When the application starts, it asks the user if they are
OK to send anonymous stats to count how many times a
package is viewed. This defaults to Yes but this change
will swap that so that it defaults to No.

Change-Id: I15a165f9352ccd5d7901fc8ef874cb3ab1d0b9f4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11048
Haiku-Format: Haiku-format Bot <[email protected]>
Reviewed-by: nephele nephele <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2026-06-01 21:00:45 +00:00
Jérôme Duval 43453b6774 kernel: add memory barrier around cpu thread pinning
should avoid instruction reorder seen on #20100,
could lead to pinning happening after getting the cpu

_ZL15call_single_cpujPFvPviES_b before:
mov    0x90(%rbx),%rax
addl   $0x1,0xa8(%rbx)

_ZL15call_single_cpujPFvPviES_b after:
addl   $0x1,0xa8(%rbx)
mov    0x90(%rbx),%rax

Change-Id: I7759c5e086856a190aac21270601ae55c0b39fac
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11050
Haiku-Format: Haiku-format Bot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2026-06-01 18:27:26 +00:00
vighnesh-sawant 7e713fa44e Bluetooth: Adds isochronous usb endpoint to bluetooth h2generic driver
This changes the driver to scan all usb interfaces.

Change-Id: Ieebbabe549ff126e4c3df1e33f2993c2da66bb1d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11025
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
Haiku-Format: Haiku-format Bot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2026-06-01 08:31:21 +00:00
Pascal Abresch 30a47b2406 WebPositive: remove INTEGRATE_MENU_INTO_TAB_BAR
This was ifdefed in 2010, and was never promoted to a setting.

Change-Id: Ia172b9aec54ed475de1384ba1850a5d53cf206a5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11022
Haiku-Format: Haiku-format Bot <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2026-06-01 08:25:20 +00:00
PulkoMandy 96037d5af2 Move USB CDC Ethernet descriptor to shared header
Use the same structure in usb_ecm and listusb

Change-Id: I8d33b434560bb18bb2f6247090d1580c267adab2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11046
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2026-06-01 08:00:34 +00:00
PulkoMandy 30cb44085c If B_SET_CURSOR_BITMAP hook fails, try B_SET_CURSOR_SHAPE
This provides more intuitive behavior when writing drivers: a hook that
does nothing and returns an error should be the same as not setting the
hook at all.

Also, it allows the hook to fail only on some cursors (for example if
there are size or colorspace limitations in what the driver/hardware
can handle).

Change-Id: Ia7b8c7f61c1a5af3214653bb05d9568b1bba1147
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11030
Tested-by: Commit checker robot <[email protected]>
Haiku-Format: Haiku-format Bot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2026-06-01 07:59:41 +00:00
nipos 7a8abde99b ActivityMonitor: Calculate and use correct window size limits
Fixes #17915

Change-Id: I88f3bd55e926e1cbd30c188aa885f9e23f8f09c1
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11003
Reviewed-by: nephele nephele <[email protected]>
2026-05-31 13:59:51 +00:00
nipos 0ed78609b2 ShowImage: Fix displaying the toolbar at start
Change-Id: I9270f7adf3bb894df2f865e945207cbdcfe649dd
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11045
Reviewed-by: nephele nephele <[email protected]>
Haiku-Format: Haiku-format Bot <[email protected]>
2026-05-31 13:46:07 +00:00
Humdinger 3804ca7ce8 TextSearch: truncate long History item labels at fixed width
If you've searched for some very long string, the menu item label
in the "History" may get so long, it stretches wider than the
screen width. Happened to me accidentally…

Truncating labels at a fixed width with middle truncation.

Change-Id: I10d457044ad67563efd59960af5093d2c8717b85
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11028
Reviewed-by: Adrien Destugues <[email protected]>
Reviewed-by: humdinger humdinger <[email protected]>
Haiku-Format: Haiku-format Bot <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: nephele nephele <[email protected]>
2026-05-31 12:49:41 +00:00
Pascal Abresch 18ba9f76e7 registrar, WebPositive: minor warning fix
Change-Id: Ibb3bce29aafa517e043e46e63cf548dfb96b2127
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10455
Tested-by: Commit checker robot <[email protected]>
Haiku-Format: Haiku-format Bot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2026-05-31 10:40:18 +00:00
cafeina 49d1c362d3 Haiku Book: added NetworkAddress, NetworkDevice, NetworkNotifications, NetworkRoster and NetworkRoute
Change-Id: If2123eabeb30e9d09e2de0a603a77f30c8324f7f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10225
Haiku-Format: Haiku-format Bot <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2026-05-31 08:43:32 +00:00
cafeina d1c493cc67 Haiku Book: added USBKit and minor change in Joystick
Change-Id: Iced405b7497e5178211da1dd99290e7a9493e60c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10972
Tested-by: Commit checker robot <[email protected]>
Haiku-Format: Haiku-format Bot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
Reviewed-by: Jérôme Duval <[email protected]>
2026-05-31 08:14:30 +00:00
PulkoMandy 1ffe2291a5 listusb: decode CDC-NCM and CDC Ethernet descriptors
Change-Id: I2f7200613397d002cd90023e3186463d1fd86305
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11032
Reviewed-by: Adrien Destugues <[email protected]>
2026-05-31 07:22:28 +00:00
PulkoMandy 8a152bcf44 Update usb.ids with the latest version from http://www.linux-usb.org/usb.ids
Change-Id: Id1771a760e7d8aa860ee81edd7de39c470183f56
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11031
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2026-05-31 07:22:28 +00:00
Humdinger fdce1a3521 StyledEdit: Split menu "Font" in "Font" and "Style"
When you have many fonts installed, the "Font" menu in the menu bar
gets very tall. If you just want to set the style (italic, bold etc…)
or the colour of the selected text, you always have to scroll to the
very top.

Putting all fonts into a "Font" top-menu leaves the the styling actions
always accessible in the renamed "Style" menu.

Also, put the "In/Decrease size" items under "Size", similar to e.g.
Tracker's "Icon view".

Fixes #20098

Change-Id: Idadcf902b1b97fe439a4958e995722e9d76f804f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10986
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: nephele nephele <[email protected]>
2026-05-30 09:21:59 +00:00
Autocomitter 797a2feba5 Update translations from Pootle 2026-05-30 08:12:57 +00:00
Autocomitter cd19411712 HaikuDepot: pkg list tab + keyboard fixes
This commit will tidy up the package list views'
tab handling so that the model is always a
correct representation of the chosen list view.

The commit also sorts out a problem where the
BView focus can be stuck on the wrong view when
the tab changes.

Fixes #20109

Change-Id: I1f2769481cf3d89d160002e12092ff50df997077
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11014
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Andrew Lindesay <[email protected]>
2026-05-30 04:06:39 +00:00
Kevin Adams c21dc49cbb printers: remove "Save as PDF" printer queue
Haiku current has a "Save as PDF" printer queue, but that does not make
sense becuase the PDF Writer driver does not ship with Haiku (it's in
haikuports). This causes confusion for the users.

I will update the haikuports PDFWriter package to create the queue on install.

Fixes #20110.

Change-Id: I19edc41e5481f2de6f19fad1b63a2f9e3f0a03de
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11029
Haiku-Format: Haiku-format Bot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2026-05-29 16:24:21 +00:00
Pascal Abresch 4ae1fb4ffa Webpositive: Improve appearence of some buttons
This makes the New Tab and tab buttons hidpi supporting
and fixes the close menu for the search bar

All of these controls now properly support the dark mode

Change-Id: Ibd2b86b9c1c1e1f812ea946627cbff007b32b452
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11023
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: nephele nephele <[email protected]>
Haiku-Format: Haiku-format Bot <[email protected]>
2026-05-29 14:32:41 +00:00
Sam Roberts ce692ecc03 intel_extreme: Clear all framebuffer tile mode bits
Some newer architecture added Y tiling

Maybe fixes #17688

Change-Id: I048c2523b8a804e53752f12cfed436616a6a6964
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11027
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2026-05-28 12:20:19 +00:00
Augustin Cavalier 0088ac13b0 app_server: Refactors to screen configuration management.
* Drop screen_configuration::is_current. This just caused significant
   confusion and problems, because values could get out of sync between
   the Stored and Current screen configuration storage.

 * Try to match by monitor_info always, not just ID.

 * Add the current vs. stored Configurations distinction to VirtualScreen.
   This will populate the CurrentScreenConfiguration object during
   initial configuration of screens.

Fixes app_server not properly reverting to the original resolution after
apps that change the resolution quitting, which was seen in #20042.

Change-Id: I61c9ee4c5b7e755cbb207170d2eddb1d31fd0ea8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11024
Reviewed-by: waddlesplash <[email protected]>
2026-05-28 01:22:15 +00:00
Sam Roberts 588830e92d acpi: Always read EC_DATA after burst enable command
It's possible for the EC to disable burst mode (maybe because
we're taking too long and it's impatient) before we check 
the status register to see if burst mode is enabled. If that
happens, we consider the burst enable command to have failed,
even though it succeeded and put EC_BURST_ACK in the data register.
So, the next time we read the data register for a subsequent
command, we'll read that EC_BURST_ACK.

This fixes ACPI battery & shutdown on 2015 MacBook Pro

Change-Id: I49711b224fee027e28825674d9c845bf6a6a6964
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11019
Reviewed-by: Fredrik Holmqvist <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2026-05-27 16:48:18 +00:00
Máximo Castañeda f13844fed1 DriverSettingsMessageAdapter: escape strings
They may contain separators or other syntactic elements that would be
interpreted when unquoted.

Reported by @PolloBlu in the forums as the reason for their not
automatically connecting to an SSID with spaces in its name.

Change-Id: I19e88121a8d6dab9a722807971bcc7872578037d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11026
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2026-05-27 16:47:49 +00:00
Pascal Abresch 9afa3f0e86 WebPositive remove gopher from supported protols
This was already 1) broken in webkit 2) removed in registrar

This will now also cause WebPositive to hand off gopher urls to a more
apropriate app instead of giving it to webkit and getting an error back
because it is unsupported

Change-Id: I5253eaf8f8bfe3c0971895c6df6fa03b9fc4e237
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11021
Reviewed-by: waddlesplash <[email protected]>
2026-05-26 21:31:58 +00:00
Pascal Abresch 16c62a59bf WebPositive: update duckduckgo & google url to noai variant
Change-Id: I7aece349c7289365f7c923dde7a2e5a95ffcfb5e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11020
Reviewed-by: waddlesplash <[email protected]>
2026-05-26 21:31:58 +00:00
John Scipione 58e64b2b93 Revert "Tracker: Remove drag fade, fixes a complaint from #19429."
Restore drag fade, fixes CPU spikes reported in #20102. Make fade
rect 256x256 instead of 256x192.

This reverts commit 5660b231ec.

Change-Id: Ia0f6c2389ea915ecc1a9691615264cf192560ac3
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11009
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2026-05-26 11:38:45 +00:00
Sam Roberts f6d3a6f6c7 intel_extreme: Disable framebuffer tiling
On some Intel MacBooks, system firmware configures the framebuffer
as X-tiled and uses the "Graphics Memory Fence Table Register"s to
transparently convert linear framebuffer accesses by the CPU to tiled
accesses. If you change the framebuffer base address or stride, you get
a garbled display since the "fence" configuration no longer matches
the framebuffer.

Might fix #17688

Change-Id: Iaf9ea7641f7809acb9b8fbf14b88ed656a6a6964
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11016
Reviewed-by: Adrien Destugues <[email protected]>
2026-05-25 18:01:29 +00:00
Autocomitter ddf7ab43b5 Update translations from Pootle 2026-05-23 08:13:43 +00:00
Augustin Cavalier 914768faa8 kernel/timer: Reinstate lazy timer resetting.
This reverts dbc6b2061e.

Hopefully after the various fixes to APIC timer setup, the
problems that this was causing will be gone. (The users who
reported issues with it did so only on the forums and never
opened tickets, it seems.)
2026-05-21 15:12:00 -04:00
Augustin Cavalier 5dfc0663d5 kernel/x86: Avoid using any initial values in APIC timer registers.
We should just be zeroing any unknown bits, not trying to preserve them.
If the BIOS or other mechanisms left the timer in some other mode
besides "one-shot" like we need, then we might incorrectly preserve
those bits.

This also has the advantage of avoiding config reads in set_hardware_timer.
2026-05-21 15:01:17 -04:00
Augustin Cavalier faa27a36dd kernel/thread: Print pinned_to_cpu when dumping thread information.
May help with diagnosing #20100.
2026-05-21 14:06:12 -04:00
Augustin Cavalier 51bbd3778c kernel/smp: Drop the "last caller" spinlock debug system.
Even on a single-core software-emulation QEMU VM, we acquire more
than 10k spinlocks per second (sometimes even over 100k.) That makes
sense, as every syscall entry, mutex acquisition (even uncontended,
for KDEBUG kernels), etc. acquires a spinlock. So, reasonably, this
list will always be too small to detect much of anything at this point.

If we need a similar debugging facility, we should store addresses
or thread IDs in the lock structure. That will require a more significant
refactor to locking code, however, and it doesn't seem necessary at this
time, so I haven't implemented that (yet).
2026-05-21 13:41:52 -04:00
Augustin Cavalier 282c6a34f6 Package Kit: Fix memory leak in BRequest. 2026-05-21 12:58:53 -04:00
Augustin Cavalier 8c25999955 BTabView: Allow SetEnabled to work even if there is no view.
Amends 0a2766d6b0.
2026-05-21 12:58:35 -04:00
Augustin Cavalier f5842905e3 kernel/UserTimer: Major overhaul of the locking design.
* Get rid of the global sUserTimerLock. This was added in 2013
   to prepare for the removal of the global scheduler lock, which
   is what all these routines previously used. The locking design
   was never redesigned since then to accomodate for the changes,
   it appears.

 * Make CPU timers always locked by time_lock, and the system-time
   timers locked by a local lock.

 * Make fScheduled load-bearing as to whether the timer is presently
   in the team/thread lists or not.

 * Don't re-fetch the team/thread every wait cycle. This allows us
   to avoid a lock/unlock dance that would otherwise complicate
   the scheduling logic significantly.

Tested using the old version of the Open POSIX Testsuite (which
indeed caught some bugs in earlier versions of this patch.) All
12 timer_create tests still pass, including the ones that depend on
timers firing within the right timeframe.

Fixes #20090.

Change-Id: I54dd9a49e72f51711baa0fbf18e5c35a7fafec8f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11007
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2026-05-21 16:54:52 +00:00
Augustin Cavalier 6eec6769f2 kernel: Update comments and add some asserts around the user timers.
Change-Id: I8c5e8faaf9c9a3eb86c1faed29beee4ab2958b3c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11006
Reviewed-by: waddlesplash <[email protected]>
Haiku-Format: Haiku-format Bot <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2026-05-21 16:54:52 +00:00
John Scipione a950196770 Tracker: Set draw mode to alpha composite when drawing outlines: fixes #20095
Change-Id: Ic5715e9e8ed8af740337dd097f009d44cb2c1b19
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10982
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2026-05-20 01:41:15 +00:00
Augustin Cavalier 57a5a0ff6c kernel/debug: Enter KDL even if some CPUs can't be trapped in it.
Otherwise the system just hangs, which isn't good.

Turns #20090 from a hang into a KDL, as one CPU is stuck in a loop
with interrupts disabled.
2026-05-19 15:25:02 -04:00
Augustin Cavalier ced8a80543 kernel/vm: vm_page_requeue() must be called with the page in ACCESS state.
Should hopefully fix #20103.
2026-05-19 14:55:14 -04:00
Augustin Cavalier 41b45506fc kernel: Add missing NULL check in LegacyDevice::Control.
Fixes #20091.
2026-05-19 13:32:10 -04:00
Augustin Cavalier ff1c6abba8 build_cross_tools (GCC2): Use -std=gnu89 for GCC 13 also.
It shouldn't hurt, and may fix the build in more environments.
2026-05-19 13:15:41 -04:00
Augustin Cavalier c6024e1bff kernel/thread: Assert that thread->pinned_to_cpu does not become negative.
May help with diagnosing #20100.
2026-05-18 11:45:33 -04:00
Sam Roberts 1ca6acfaf9 arm64: SMP & CPU startup improvements
- Add more secondary CPU startup methods:
  PSCI using EL3 secure monitor calls (used on most ARM64 CPUs)
  Spin tables (used on Apple CPUs, which lack EL3)
- Secondary startup code was rewritten to pass all needed info
  to secondaries using static variables, since we can't
  pass any info to secondaries when using spin tables
- Setup MMU state to known good values as early as possible
  instead of relying on the values set by the bootloader.

  This also requires generating new page tables, since we're
  (potentially) changing MAIR as well as the address space sizes
  (which determine the number of page table levels we need)

Change-Id: I3b90aab04090fa0c6a8ad82a01df7fee6a6a6964
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10984
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2026-05-18 15:36:55 +00:00