Commit Graph
100 Commits
Author SHA1 Message Date
PulkoMandy 63b8fe3ae8 ffmpeg media add-on: add padding around video buffers
The video buffer used for colorspace conversion was not aligned enough
(it could need as much as 64 bytes alignment) and did not include enough
padding (the functions work on 64 bytes blocks at once in some cases).

This code could be made simpler by using sws_scale_frame instead of
sws_scale, but that's more refactoring than I'm willing to do right now.

Thanks to k32n13 for providing a script to generate test videos!

Fixes #20200.

Change-Id: I8b51fd777201cdb899ce1834152066378b258521
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11343
Reviewed-by: waddlesplash <[email protected]>
(cherry picked from commit a0bfeae472eee24a9855e9685a507f6f85d91673)
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11344
2026-07-23 18:11:57 +00:00
PulkoMandy b812cfe777 cpu_type: cleanup Intel CPU strings some more
- remove "processor"
- remove repeated spaces
- clean up the "brand" ID as well

Should fix #20191.

Change-Id: Iaadfbf2d3ae6fd2555607e2ed05833ab570079de
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11341
Reviewed-by: waddlesplash <[email protected]>
(cherry picked from commit 8a8ae453bb124a63d33677fb4530d07ad8cd6df7)
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11342
2026-07-23 17:22:25 +00:00
PulkoMandy 9b5e2122ee BIOS module: don't copy the real VRAM when calling the BIOS
The BIOS module is used to run BIOS code in a "fake" machine so it can
be called from protected mode without having to go back to real mode.

To achieve this, it copies some parts of the physical memory into that
physical machine. It used to also map some of that memory directly
rather than copying it.

In hrev55544 this was changed to do a copy instead of a mapping. The
copy can then be written to, which opens the way for VESA BIOS live
patching.

However, the copy also means that the entire copied physical memory area
is accessed by the CPU. That area includes the VGA memory, which may not
exist or be masked. In particular this happens in QEMU by default (the
memory is only mapped when graphics mode is activated). In the case of
the NVMM virtualizer, this results in a crash of the virtualizer as
the guest attempts to access memory that doesn't exist.

To avoid the issue, the "fake" machine now includes a copy of the EBDA
(top of RAM) and the BIOS ROMs, but not the video RAM (that part of the
memory space is left uninitialized). This way, it doesn't matter if the
hardware has valid memory there or not.

With this fix, Haiku can boot even without the "Don't call the BIOS"
option set.

Thanks to sed4906 and waddlesplash for the help in locating the issue!

Fixes #20123.

Change-Id: Ide9b6900d2b2abe59138c0c370c8f37a856c4bcd
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11337
Haiku-Format: Haiku-format Bot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
(cherry picked from commit f8e60239a31589e57f0693f27bf731fa98ad1c52)
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11338
2026-07-23 17:01:40 +00:00
PulkoMandy 4b34eedc59 AboutSystem: update credits
- Move Philippe Houdoin back to active contributors (welcome back!)
- Add all GSoC contributors since 2012 who worked on directly
  Haiku-related work (excluded: failed projects, projects related to
  Trac or other tooling, and 3rd party apps). Students before 2012 were
  already consistently added but we forgot to do it for some of them in
  the next years. They are added to the "contributors" section (if some
  of then do have commit access, they should be moved to past
  maintainers or active maintainers accordingly).

Change-Id: Icc615b07bc2911ce81d13ee2a6305b7251405647
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11270
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: nephele nephele <[email protected]>
Haiku-Format: Haiku-format Bot <[email protected]>
(cherry picked from commit 33f8320181e5809e89bcdcaedcd1c259992a19ff)
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11275
2026-07-19 21:00:52 +00:00
PulkoMandy 59ea9704f6 WebPositive: do not overwrite Go button focus rect with URL bar border
Fixes #20181

Change-Id: I2dc0a5b609054cf04e32835582c1487dda40c52f
2026-07-18 15:46:42 +02:00
PulkoMandy 2ad746bb5e app_server: save brightness even if the workspaces settings don't yet exist
Use the proper "Set" method instead of getting and modifying an existing
entry. This creates the entry if needed.

Fixes #20166

Change-Id: I6ad8bc379372a0b04b42b0f12a46e2c07d23f60a
2026-07-11 12:12:12 +02:00
PulkoMandy 1d6b5a5f09 WebPositive: layout ceanup for URL bar.
- Less strict sizing constraints for the button so it can always occupy
  the full height of the URL bar
- Use "draw after children" for the URL bar border so it is drawn above
  the button and icon edges
- Remove insets that were there to attempt to make the outline visible
  (I think)
- Use negative spacing to make the button border collapse into the text
  control border so they look visually as a single control

Fixes #20124

Change-Id: I4be0c422c00acbc37a4197406a86a73c3193b9f5
2026-07-10 18:48:06 +02:00
PulkoMandy eb349566e3 docs/develop: fix documentation generation warnings
Change-Id: Ib0e17c1f7d539ed73adf1a3d57316853c7183a4c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11249
Reviewed-by: waddlesplash <[email protected]>
Haiku-Format: Haiku-format Bot <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2026-07-09 06:50:41 +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
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
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
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
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
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
PulkoMandy 36aa36d060 Increase PTHREAD_KEYS_MAX from 256 to 512
Current values from other systems:

- Linux/glibc: 1024
- OpenBSD: 512
- FreeBSD and NetBSD: 256

256 keys causes a problem with the Rust compiler running out of TLS keys
See: https://github.com/haikuports/haikuports/issues/14042
See: https://github.com/rust-lang/rust/issues/155758

Change-Id: I932a7fc8508c4ab7d93d2ef610d9746134df779b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10976
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2026-05-15 06:31:05 +00:00
PulkoMandy 24f729f2df mmc_bus: use acquirebus/releasebus instead of direct access to the semaphore
Change-Id: Ie469ae00fbdbc88d118c5a008e2b37bea4271ca3
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10965
Reviewed-by: Jérôme Duval <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Haiku-Format: Haiku-format Bot <[email protected]>
2026-05-11 16:56:26 +00:00
PulkoMandy bc6a9bae35 Improve SD/MMC drivers documentation
Change-Id: I0575c2cc02bba19335a5f2cef941f0f445e829e2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10947
Haiku-Format: Haiku-format Bot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2026-05-11 16:56:26 +00:00
PulkoMandy 8e37e00684 Fix typo "are send" -> "are sent"
Change-Id: I7f68cb2719f15663a980f754aa665c3d0ccef9b9
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10944
Haiku-Format: Haiku-format Bot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2026-05-07 07:22:21 +00:00
PulkoMandy 5efaab5061 mmc: adjust switching to 4-bit mode for MMC devices
CMD6 is a normal command on MMC, but an application command on SD. And
the parameters and response type are different.

Change-Id: I0583b8a98cf18dc4d77d28066673d0d07229e161
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10934
Reviewed-by: Adrien Destugues <[email protected]>
2026-05-07 07:22:21 +00:00
PulkoMandy 1e9473f97e mmc: handle "high capacity' (>2GB) devices similarly to SDHC
A similar change was made to address sectors instead of bytes.
The detection method is different in the initialization sequence.

Change-Id: I38af6e21b720d4437594431964a5244fb0d80848
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10933
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2026-05-07 07:22:21 +00:00
PulkoMandy 0753e9eb5e mmc_bus: set card type before sending first command that needs it
Change-Id: I9ba2b5dca69da31b6de1e3baa79e53c611b85913
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10932
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
Haiku-Format: Haiku-format Bot <[email protected]>
2026-05-07 07:22:21 +00:00
PulkoMandy 5a1cec163d sdhci: improve handling and recovery from data transfer timeouts
Change-Id: Ib4d448b45b887668b8e05dca62478fdbe90c236c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10930
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2026-05-07 07:22:21 +00:00
PulkoMandy 05b7380f79 sdhci: prepare for MMC EXT_SEND_CSD command
This is needed to handle MMC devices larger than 2GB. The protocol used
is different from how it's done in SDHC/SDXC.

Change-Id: I12edb1a4196c1e8f375886e9e5a5c1cef111e33c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10929
Reviewed-by: Adrien Destugues <[email protected]>
2026-05-07 07:22:21 +00:00
PulkoMandy 9e21efa6d8 sdhci: always clear command inhibit after a timeout
The command inhibit status bit is only set after trying to send another
command while the card is busy. But the clearing can be done without
waiting for that, which is simpler and faster.

This allows eMMC cards to get past the failed CMD8 used to differenciate
them from SD cards.

Change-Id: Id5a104e0d9bd6f9afe2c9e149bb95cb41f137fbc
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10927
Tested-by: Commit checker robot <[email protected]>
Haiku-Format: Haiku-format Bot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2026-05-07 07:22:21 +00:00
PulkoMandy caf5c2722d i2c_hid: add some NULL checks
Apparently, ACPI string attributes can exist but be NULL.

Fixes a crash on boot when the driver is enabled on my Chromebook.

Change-Id: I11a56eec5d86b7e348cbffb305270732633e7390
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10924
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2026-05-05 06:12:22 +00:00
PulkoMandy 040fad1a4a BButton: reset the colors in the Draw function
This is how BeOS does it, and changing it break things.

The regression was in 42df4f9689.

Previously this was broken in d2d239f4c4
and fixed again in de9c53f8f5.

Add a comment explaining that it is done this way for BeOS
compatibility, hopefully this will avoid future regressions.

Fixes #19803.

Change-Id: I03d9f0aa379b2a0c729e1e0a2b148d88c7949376
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10181
Haiku-Format: Haiku-format Bot <[email protected]>
Reviewed-by: nephele nephele <[email protected]>
Reviewed-by: John Scipione <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2026-04-05 09:14:29 +00:00
PulkoMandy 30a96490a0 ImageRules: do not include catalogs from .so in dependencies
The rule to add an executable or shared library to the Haiku image
automatically also includes the corresponding locale catalogs and MIME
database entries.

The locale catalogs for .a files linked in the executable are also
included, since .a files are not themselves added to the same package.
This makes sure the executable has all the catalogs it needs.

The jam rule was written assuming that NEEDLIBS would only contain .a
files, but that is not the case when compiling Haiku. Libroot for
example is also in NEEDLIBS (this makes sure it is linked by absolute
file path, whereas LINKLIBS would instead use -lroot and may link the
host system one).

Rewrite the rule to include catalogs from the selected target and only
its .a dependencies.

Fixes #19721.

Change-Id: I0315476030d2e6e4dea574bb5f254ce9b442f556
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10563
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2026-03-23 00:16:01 +00:00
PulkoMandy ec3ccc394c BGeolocation: switch to Beacon DB
Mozilla Location Service was killed by Mozilla.

This is a (mostly) compatible replacement that does not need a secret key.
The differences are:

- No API key: instead Beacon DB asks users to identify themselves by
  user agent
- The content type for the request has to be set to application/json

Change-Id: I4fd95ff66f1d77c2380e393800c0a09a7f4f0cf5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10329
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
Haiku-Format: Haiku-format Bot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2026-02-14 18:11:26 +00:00
PulkoMandy e7ff15b674 df: show free blocks in free column
Previous change accidentally switched to showing used blocks instead,
which is less useful.

Also fix an alignment issue in the header.

Change-Id: I5878c2336009c351a5f305ab510d42354d6db18d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10229
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2026-01-17 21:28:45 +00:00
PulkoMandy 5779727045 Copyright year bump.
Fixes #18992

Change-Id: Ic22e26c404a91773403d658f5156db0c8726378c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10231
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2026-01-17 21:27:28 +00:00
PulkoMandy 6e452cc1ea makebootable: fix check for BFS signature when using start-offset option
For example when building a VMDK image in Haiku build.

Fixes #19891.

Change-Id: I2666083b074b20b3da2f53999a9abd116ce31603
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10230
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2026-01-17 14:25:55 +00:00
PulkoMandy 842fe03f7c docs/develop: add documentation of known POSIX non-conformities
As discussed in #15102, atime behavior may be POSIX compliant by a
technicality, but it's not the expected behavior. In any case,
compliance requires documenting the functions that update atime.

Change-Id: I266b4d8d8a4a5d0f28f7c352d8942b417c2e31e4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10219
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2026-01-11 09:12:42 +00:00
PulkoMandy b31ff5b650 ImageRules: remove dependency on bc
POSIX shell now supports $((expression)) for arithmetic expression
evaluation. This removes the need for an external command, which may not
be available on the build host.

Change-Id: Ibd1342c723c2320d77c4de5b1620be32086daa56
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9238
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2026-01-07 13:06:57 +00:00
PulkoMandy a65ba286ee PoseView: improve drag bitmap computations
Tracker creates a drag bitmap containing the selection being dragged.
There is a size limit if the selection is too large to avoid moving a
huge bitmap around.

There were two problems with the way this was done:

- The smaller rectangle was always centered on the cursor, even if that
  was near the edge of the selection being dragged. In that situation,
  most of the drag bitmap would end up being empty. Instead, move the
  rectangle to align it with the edges of the selection if it goes
  outside them. This makes sure we always use as much of the drag
  rectangle as possible for useful data.
- Moreover, there was a regression on the rendering of the
  "fade" at the edge of the rectangle. This is a transparency gradient
  that should be at the edge only, to indicate that the drag bitmap has
  been truncated, and that more (invisible) things are also being
  dragged. In hrev58665, this transparency gradient was changed to cover
  the entire width and height of the dragged bitmap, instead of just the
  edge. This lead to most of the text being almost invisible in a lot of
  cases. Change the code to use a gradient only near edges again.

Fixes #19429.

Change-Id: I395fda191dc61732e4bdc5287a09882cdc2b5f55
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10177
Reviewed-by: John Scipione <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2026-01-06 13:29:09 +00:00
PulkoMandy 0d6bb5bfc1 BFilePanel: lock window while constructing
TFilePanel inherits from Tracker's ContainerWindow, which calls Run() in
its constructor.

This results in the constructor of the subclasses being run while the
window message loop is already running and processing messages.
Specifically, views are getting resized and moved both by the
constructor (in RestoreState) and by the resizing code (_ResizeBy
recursively relayouting all children).

This results in the cancel button being left at the wrong place at the
end of the constructor (or shortly thereafter). While that on its own
has no consequences because the layout is fixed when the window is
finally shown, the position of the cancel button just after the
constructor is relied on by applications which add custom widgets to the
window (Wonderbrush, Icon-O-Matic, Pe for example).

Make sure to keep the window locked while setting it up, so the message
loop does not interfere.

Fixes #19499.

Change-Id: I83f8fcfc56434e979b20043d8d652074f2f3cf5d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10176
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2026-01-01 08:32:50 +00:00
PulkoMandy d9ee2fab67 makebootable: guard against writing to non-bfs partitions
- Check superblock magic. Overwriting the first sectors of partitions
  using other filesystems than BFS is likely to cause trouble.
- Check presence of bootcode in the same version, as well as the correct
  partition offset.
- Tell the user when the partition was already bootable and nothing was
  done, hopefully this will finally stop people from thinking that
  makebootable is of any use (it isn't, Installer already does the
  work).

Change-Id: I792fb29166773e224266d35a4976ac90662e5cb6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10174
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2025-12-31 21:22:44 +00:00
PulkoMandy c2606d189c DriveSetup: show on all workspaces if Deskbar isn't running
Same thing is done in Installer to avoid confusion in case workspace
switching shortcuts are used accidentally.

Fixes #19278

Change-Id: I20af1a235f47f012a120c6a94511bfe94a2cdfbd
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10145
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-12-31 19:29:16 +00:00
PulkoMandy 9867652063 bfs: better filter invalid timestamp values
Timestamps in BFS are stored with a 16 bit subsecond precision. However,
a lot of files have this field set to 0 as they are created with APIs
that do not set a subsecond precsion value.

The previous format (introduced in hrev31057) did not track wether the
stored data was a 12 bit sequential number or a 12 bit subsecond
timestamp + 4 bit sequential number.

As a result, setting a timestamp with nsec=0 would read back a different
value (exposing the sequential counter to userspace).

Older versions of Haiku, and BeOS according to the Practical Filesystem
Design book, did not store a timestamp there. Haiku used to store the
volume UID (I don't understand why), and BeOS stored a sequence number
because the POSIX APIs at the time didn't allow to get and set the time
with nanosecond precision.

The Practical Filesystem Design already mentions that storing a
subsecond precision value here would have been better than their
workaround.

The new format relies on the fact that nanoseconds can only be in the
range from 0 to 999999999. After the conversion to a 16 bit value using
simple shifts, this result in a maximum possible value of 0xEE60. The
new format exploits that, and uses the range 0xF000 to 0xFFFF to
represent 0 timestamps with a 12 bit sequence number.

This allows the sequence number to be hidden from userspace entirely.

Fixes #19213.

Change-Id: Id80289a4331ecfbf2f1a35520b58a99227d1f1d6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10146
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2025-12-31 12:50:48 +00:00
PulkoMandy 41f7e3c29a makebootable: guard against writing to non-bfs partitions
- Check superblock magic. Overwriting the first sector of partitions
  using other filesystems is likely to cause trouble
- Tell the user when the partition was already bootable and nothing was
  done, hopefully this will finally stop people from thinking that
  makebootable is of any use (it isn't, Installer already does the
  work).

Change-Id: I9352f1a3853626d093c04f8283771189395d023b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10171
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2025-12-30 20:45:34 +00:00
PulkoMandy 368cac3c9d ImageRules: do not include catalogs from .so in dependencies
The rule to add an executable or shared library to the Haiku image
automatically also includes the corresponding locale catalogs and MIME
database entries.

The locale catalogs for .a files linked in the executable are also
included, since .a files are not themselves added to the same package.
This makes sure the executable has all the catalogs it needs.

The jam rule was written assuming that NEEDLIBS would only contain .a
files, but that is not the case when compiling Haiku. Libroot for
example is also in NEEDLIBS (this makes sure it is linked by absolute
file path, whereas LINKLIBS would instead use -lroot and may link the
host system one).

Filter out .so files from the NEEDLIBS list when determining which
catalogs to include.

Fixes #19721.

Change-Id: I04604bd37c656f987dd17be8db6edffe88cee651
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10144
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-12-28 11:57:29 +00:00
PulkoMandy ad4a31e93c getnetent: move networks file to system data directory
Hosts and services files have been moved in a similar way in hrev33972.

Fixes #19432.

Change-Id: Ib0a74cc8706f9ac5ed76ee1f6f8d6d362574d0f0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10143
Reviewed-by: waddlesplash <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-12-23 08:58:15 +00:00
PulkoMandy b731250e25 Improve drawing of "partially on" checkboxes
Use the existing practice from other operatign systems (at least
some places in Windows XP do this): fill the checkbox with a square
to indiate that it is partially activated.

There is already a color difference, but that is not visible when the
checkbox is also disabled, and maybe a bit too subtle in general.

Change-Id: Icd4403374bd1cec3efeb3146e64b352caabc6d82
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10051
Reviewed-by: waddlesplash <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-12-19 20:19:58 +00:00
PulkoMandy 0bd4842c05 docs/user: Typo in BKeyStore documentation, reported by TmTfx
Change-Id: Id2ddb67050d8b8de53c20146b9beb35d884186cb
2025-12-19 18:40:40 +01:00
PulkoMandy 1251c7d8a9 Bootstrap image: Add network stack and drivers to preloaded boot modules
This is needed for network booting the image.

Change-Id: I8132bca717de7e0b72d43ad9b348f045300ef353
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10112
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2025-12-18 10:45:08 +00:00
PulkoMandy a4f6102692 efi network boot: tell the kernel we're booting from the network
Pass network boot parameters in the same format used by the PXE loader.

Change-Id: I90c9cbfcb6b7bd5bbeb3bf4918880174fd348ee3
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10111
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2025-12-18 10:45:08 +00:00
PulkoMandy d0d8228843 efi arm: use kernel args allocator built-in alignment feature
No need to manually align allocations, the kernel can do it.

Change-Id: Ib5b271df0a44f0ed3d8af584b9a881b1d35120a3
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10110
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-12-18 10:45:08 +00:00
PulkoMandy 3d2b40d59e efi: synchronize style fixes accross versions of arch_start
The arch_start code is quite similar for all efi architectures and may
be unified someday. Try to keep it as similar as possible by
synchronizing at least style fixes (variables renaming, line breaks,
format macro fixes).

No functional changes intended.

Change-Id: Ie4d54e73020e05a2af6755b7f5a65b92b4953080
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10106
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2025-12-18 10:45:08 +00:00
PulkoMandy b42876eb45 bootloader fat: use shared utf16 conversion function
Change-Id: I9264e633479ea039a2c004c3331453754a92ca43
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10105
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Jérôme Duval <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2025-12-18 10:45:08 +00:00
PulkoMandy 97675f2fc4 arm: relocate UART when remapping virtual memory
The uart virtual address changes as soon as we apply the kernel memory
map. gUART is used only after that, from serial_init() onwards. So it
should use the virtual address, and not the physical address it was
previously created with while parsing the FDT.

Change-Id: I8c8a024fe564b49d6555f8e48f5ab31652d30708
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10068
Reviewed-by: Fredrik Holmqvist <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2025-12-09 19:35:39 +00:00
PulkoMandy 172caabf4d BitUtils: fix gcc2 build
Change-Id: Ib347785c466df7df3f40c4781bb46f6fc12ef647
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10046
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2025-12-09 10:08:25 +00:00
PulkoMandy cf930b7e6c Move BitUtils.h outside of kernel directory
It is not specific to the kernel

Change-Id: I334c39b39d74f61b30215fb5489dec09e318dacd
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10049
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2025-12-09 10:08:25 +00:00
PulkoMandy 1dfcf1b9c6 input_server addons: use shared FunctionTracer
Change-Id: I1985dd8508388ff829b8bfb4af61a0b118da26a0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10045
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2025-12-03 07:48:12 +00:00
PulkoMandy 9cb525a2e3 FunctionTracer: add support for "this" pointer and custom printf function
Prepare for replacement of modified version used in input_server addons.
Adapt existing callers.

The "this" argument is required, and the CALLED macro can only set it to
one single value for an entire file currently. So, in any case where at
least one standalone function or static method uses CALLED, the macro
has to use a NULL pointer for all calls.

Change-Id: I42fdcbeaf6dd039d4c4369818220ad85e0b8087e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10041
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2025-12-03 07:48:12 +00:00
PulkoMandy b939b5a9f4 debug_printf: return number of printed characters
For compatibility with other printf functions

Change-Id: I52c85d590b8480427952740cb896112bb4e71c18
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10044
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Axel Dörfler <[email protected]>
2025-12-02 09:43:45 +00:00
PulkoMandy dffebdd68a Rename some debug_printf functions in drivers
There is a debug_printf function in headers/os/kernel/OS.h that can
conflict with these.

Change-Id: Ic0d4e8169984f5b4df2be8fc3e00b8b55e68d864
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10043
Reviewed-by: waddlesplash <[email protected]>
Reviewed-by: Axel Dörfler <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-12-02 07:22:27 +00:00
PulkoMandy 772e0a03ef x86_64 efi bootloader: use generic function instead of copying it
Change-Id: I4bddc86c1e19f7654db62be52e04056e9e858513
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10037
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2025-12-01 16:01:16 +00:00
PulkoMandy 51c5d2370a OpenSound: use shared function tracer and fix format macros in tracing
Change-Id: Ie2311eb212fcd30460f293c4dbe25d512a2acefc
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10040
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Niels Sascha Reedijk <[email protected]>
2025-12-01 09:48:36 +00:00
PulkoMandy dd24562c1a TextSearch: use shared FunctionTracer
Change-Id: I952e33649c4e0cf6e065040ec47d587fa627aa4c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10039
Reviewed-by: Niels Sascha Reedijk <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-12-01 09:48:36 +00:00
PulkoMandy b1ff3e6c46 FunctionTracer: use __PRETTY_FUNCTION__
Change-Id: I49d53f4bb7b65d32c9e1e22be89add6199ccad24
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10038
Reviewed-by: Adrien Destugues <[email protected]>
Reviewed-by: Niels Sascha Reedijk <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-12-01 09:48:36 +00:00
PulkoMandy a6e9275281 Fix bootstrap build for arm and arm64
- Update texinfo to 7.2
- Update bash to 5.3
- Update ICU to 70.1

These versions are patched in haikuports.cross and allow cross compiling
from Debian sid with a modern GCC. Confirmed that both architectures can
build a filesystem, kernel and bootloader.
2025-11-22 17:08:33 +01:00
PulkoMandy 2c34eec7ce sdci: enable command timeout interrupt
Otherwise, command timeouts are not correctly detected.

Change-Id: I8cc84a248952c716c30c90d21b33e19415928034
2025-11-17 16:25:34 +01: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
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
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
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
PulkoMandy f32dba563a condition_variable: fix NotifyOne possibly not notifying
The notify loop normally checks all pending condition variable entries
and notifies either all of them, or only the first one.

In the case where the first one is being removed from the condition
variable just as the notification happens, it is skipped, however, in
the case of NotifyOne, that should lead to attempting to notify the next
one.

It looks like an oversight in 6d3065508f,
where the notified threads counter was changed in a similar way, but
these two lines of code were not.

The problem seems pretty unlikely, as it would need:
- Multiple threads waiting on the same condition variable,
- The first one being removed just as the variable is notified

Change-Id: I0492c56b15b6b2871954e9114df046ec94539971
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9677
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-10-05 19:58:16 +00:00
PulkoMandy fc3e0e860a usb_rndis: improve logging and error handling
- On read errors, make sure to reset the read buffer pointer and not
  return any more packets from the incorrectly read buffer
- Fix a case where an error didn't stop the processing, and we would
  return a zero-byte packet to the network stack instead of an error
- Make sure to use different log messages for different error cases
- Use strerror where appropriate
- Add some TRACE calls to be able to fully trace the code.

There seem to be an error at the XHCI level where it has an "USB
Transaction" error (converted to a B_DEVICE_CRC_ERROR Haiku error code).
After that, despite cancelling that transfer and clearing the HALT
feature, it is not possible to receive anything from the receive
endpoint and the connexion is stuck (it appears sending data still
works, at least from the network stack point of view).

Change-Id: I58687a6eb7b19ba7e7ca594c55499b60fb8b5b26
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9658
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-09-28 14:01:31 +00:00
PulkoMandy 902a3c1292 Devices: actually use isapnp_devids to show known ACPI node names
- Update the file with the latest version (from
  https://uefi.org/sites/default/files/resources/devids%20%285%29.txt)
- Tweak the Jamfile and awk script a bit to fix conflicts with acpi
  device IDs structures, add missing const, allow tabs in the input file
  instead of spaces (it is not formatted consistently)
- Match the hid or cid of ACPI devices to show well known names from the
  file if available and we have nothing better.

Change-Id: Iea11ca44c8fef245d044a7535e7e7a13230be848
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9632
Reviewed-by: waddlesplash <[email protected]>
2025-09-08 21:16:13 +00:00
PulkoMandy 7270c1788f Missing NULL check for CurrentWebView()
Should fix #19722

Change-Id: Ie3ff6ee15559a2726ca88eabdb8dbab2a81447e5
2025-09-07 11:29:27 +02:00
PulkoMandy 11adda21aa Expose more info in signal handler mcontext
Add the following:

- CS and SS registers
- For 32bit: DS, ES, FS, GS registers (on 64 bit these are not part of
  the iframe structure)
- CR2 register (fault address)
- Hardware interrupt number
- Hardware error code

The hardware error code, interrupt number and fault address are not
modifiable by the signal handlers. The other registers can be modified.

This is used for example in dosemu to intercept errors from JIT generated
code and resume execution. Wine can also make use of it.

In order to not change the size of struct mcontext, these are inserted
in a region of the FXSAVE structure that is available for the OS to
store some data (as documented by Intel) and that we didn't use before.

Fixes #7867

Change-Id: Ia3c27a2c728e32995196c646c1d78adf40e793ed
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9456
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-07-19 18:00:39 +00:00
PulkoMandy 95c611518f listarea: show area locking and protection
Also tweak the header to stay better aligned with the values

Change-Id: I74a44ecb8e62ece75b43b75a32a0bf9f8a910309
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9457
Reviewed-by: Adrien Destugues <[email protected]>
2025-07-12 19:14:07 +00:00
PulkoMandy 9fce28cfb3 Haiku book: Tweak some section titles
Just the library name in parentheses doesn't look so great in the book
index (in particular for libroot in the "special topics" list). So include
a short description there.

Change-Id: I99ea8f85b042c5606b078aca906a0717aff6d46f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9452
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-07-11 06:56:43 +00:00
PulkoMandy b57c6ae0f4 Haiku book: Add documentation for dlfcn.h
Change-Id: I72da1e84dd31ee3fe923a55163da10a37de8b207
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9451
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-07-11 06:56:43 +00:00
PulkoMandy d27a926578 runtime_loader: implement RTLD_GROUP
The RTLD_GROUP flag to dlopen comes from Solaris. It makes the symbol
resolution for dlopen not use the global symbols from the current team
(anything that's already loaded). The loaded object must be explicitly
linked against any symbol it needs to use (or it can use dlsym to search
symbols in the global scope explicitly).

This is also how symbol resolution worked in BeOS, meaning we already
have the code to do this, and just need to enable it.

This can be used in dosemu, where DOS-like executable are linked against
their own C library and should not use symbols from libroot.

Fixes #19674.

Change-Id: I8d127c7812a31e231edb1e44edf70b868c2670e7
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9450
Reviewed-by: waddlesplash <[email protected]>
2025-07-11 06:56:43 +00:00
PulkoMandy 26bedc8f4e sparc: move kernel to a lower address
The openboot mmu code does not like addresses above 4GB, so load the
kernel to a lower address. It doesn't really matter anyway, because on
sparc the kernel normally lives in a separate address space and uses
special instructions to access userland memory.

See #19597 for details, further changes will be needed here.

Change-Id: Iac6901f275667efef5e64d059daf4c96032a7baf
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3573
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-06-11 06:40:13 +00:00
PulkoMandy 0ec1d4526c Adjust all users of BUrl to new API
The old BUrl constructor with just a string is now private. The new one
has a default value for the second parameter, but C++ doesn't exclude
the private constructor from the candidate functions search. So, the
default argument for the new constructor needs to be explicitly
specified now.

Change-Id: Idb1915649ea3d2c59e344801a9d4fe201f8040e9
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9236
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: nephele nephele <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2025-05-27 10:43:12 +00:00
PulkoMandy 7dd8d99c5e Time preferences: show help if started with unrecognized command line flags
Change-Id: I4e87ebfab28104f94e77f6d83de4fefdd7897ef1
2025-05-24 14:50:31 +02:00
PulkoMandy c1b0e7e0c5 Jam: Remove BinCommand, Executable, Server and Preference rules
They are all equivalent to the Application rule. Let's make things simpler.

Change-Id: I71f8518dae275542019d95fbdd7548b2129eeca8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9237
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2025-05-04 21:30:49 +00:00
PulkoMandy 730abd8a4f Update ACPICA to 2025-04-04
- Only patch remaining in Haiku is replacement of a #error with a #warning
  in achaiku.h. This change is preserved here.

Change-Id: I34474dc2995864ea67ae4e7257b0f6cc8f6a0d64
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8901
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2025-05-03 07:47:09 +00:00
PulkoMandy 813b97308a renice: Fix unused variable warning
Change-Id: Idc83ea2237ae878a52a951d77491536c384af38c
2025-05-01 11:50:57 +02:00
PulkoMandy c11bec8ef0 docs/develop: update bootstraping documentation
Add a section about various known problems and be more clear that this
is still unfortunately quite not well tested and experimental.

Change-Id: If8f83682e03f23097edd00a855423febaaff43ce
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9157
Reviewed-by: waddlesplash <[email protected]>
Haiku-Format: Haiku-format Bot <[email protected]>
2025-04-07 21:33:30 +00:00
PulkoMandy caa62d911c Update haikuportscross package definitions to use new version of m4
Change-Id: Ica56fc6787f6f5dd7f5d6aa49b30989df7e0c24c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9156
Haiku-Format: Haiku-format Bot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2025-04-07 20:32:24 +00:00
PulkoMandy ed280bfcfa mmap: add define for MAP_FILE
This is unused but defined in Darwin, BSD, and Linux.

It allows developers to feel good about specifying that they want to map
a file (which is the default behavior anyway). The value is 0, so
specifying this flag does not have any effect.

This allows to more easily compile code that uses the flag.

Change-Id: I7a880a3090d90b7e8cef5144e82f71beb61147a8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9152
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Jérôme Duval <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2025-04-03 18:39:00 +00:00