Commit Graph
100 Commits
Author SHA1 Message Date
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
PulkoMandy eb853f8901 elf.h: add some missing macros
ElfW(x): to automatically use the relevant Elf32 or Elf64 type for the
current system

NT_GNU_BUILD_ID: constant defining the GNU "build ID" note in ELF files.

WebKit uses both of these to store info in javascript object caches, so
it can detect if the same version of WebKit is being used and the cache
can safely be reused, or if it should be reconstructed.

Change-Id: Ia9eccc1acc79ac4982b87609d2815c4a611e4176
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9143
Reviewed-by: nephele nephele <[email protected]>
2025-03-23 10:29:23 +00:00
PulkoMandy 1fbf09c309 Internals documentation: add notes about the process without vendor branches
This is still used in various places, so we should be clear about how it
is supposed to be done. It should avoid people learning from repeating errors
that others have already made.

Change-Id: I2468e51e62658bfad499c22294dd8a34c8aa8c90
2025-02-23 10:35:42 +01:00
PulkoMandy 85fc17e562 Migrate syscalls documentation from the website to Haiku internals book
Change-Id: I997049a1e174e7dd346e1342a2513a67e118a93b
2025-02-20 22:38:20 +01:00
PulkoMandy af5f256338 InterfaceDefs: complete ASCII control char definitions
Make it clear that this enum just defines ASCII control characters, and
there is no 'free space'. Also add comment showing which key combination
produces each control character.

Change-Id: I01884132842281cce6c13dd9398b1aeddadae58a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8899
Reviewed-by: nephele nephele <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2025-02-04 17:19:28 +00:00
PulkoMandy a087f310d1 vesa: enable bios_patching by default on cards where it is known to work
Change-Id: If2da4847ab2a10fcae53472d7f863f5397cd2f07
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8633
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2024-12-24 09:48:00 +00:00
PulkoMandy 1b6f159e88 neomagic: enable -Werror, fix compiler warnings
Change-Id: I176a316c6cb18d3684cf6166c4a2fe74f816d0d8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8702
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2024-12-22 14:27:47 +00:00
PulkoMandy 1fd7b2f396 3dfx driver: enable -Werror and fix warnings
Change-Id: I8278dab0456dbad86c27e483fcb91a9c21d3f517
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8701
Reviewed-by: Adrien Destugues <[email protected]>
2024-12-22 14:27:47 +00:00
PulkoMandy a4d7ac5b5f ArchitectureRules: enable -Werror for more video drivers
Change-Id: I446716f1b767f390dc589715f8bd41f50de325f2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8699
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2024-12-22 08:38:02 +00:00
PulkoMandy 3b119ad9e1 ps2: check error bit behavior before enabling active multiplexing
The synaptics specification changes the meaning of the system bit when
there is incoming data from the AUX (mouse) port, to indicate that the
incoming byte is an error. This also allows to detect if the active
multiplexing is not enabled correctly or has been reset.

Use this as an additional check so that active multiplexing is disabled
on my laptop, where it doesn't work.

Keeps #19266 fixed while avoiding the long timeout on my machine.

Change-Id: Ia8277e135a149cfa25a2a3022c87c3e05aacb6d5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8632
Haiku-Format: Haiku-format Bot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2024-12-22 08:34:43 +00:00
PulkoMandy 1ad0f6ade6 via graphics: fix compiler warnings
Change-Id: I4ac406b2024acc85feff41c2c702b1ba49fca1fb
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8698
Reviewed-by: waddlesplash <[email protected]>
2024-12-21 15:26:23 +00:00
PulkoMandy 63c2738059 radeon: fix compiler warnings
Change-Id: I952abcec52bd00a05193cf4a96b1b2a63947080c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8697
Reviewed-by: waddlesplash <[email protected]>
2024-12-21 15:26:23 +00:00
PulkoMandy e0d66c025d nvidia: fix compiler warnings
Change-Id: I49acd914c2f0a67dc2f4cbe7abd0ee0111db5309
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8696
Reviewed-by: waddlesplash <[email protected]>
2024-12-21 15:26:23 +00:00
PulkoMandy bed6017a15 matrox: fix compiler warnings
Change-Id: I5dce7230fcf5098bd361b459fc77e2be0af4f5d2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8695
Reviewed-by: waddlesplash <[email protected]>
2024-12-21 15:26:23 +00:00
PulkoMandy 53143b25da hda: missing const
Change-Id: I0af1c02beaa18a7a0b17cf76632abde96685895e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8694
Reviewed-by: waddlesplash <[email protected]>
2024-12-21 15:26:23 +00:00
PulkoMandy a38c3c0384 serial/tty: fix handling of custom baudrates
Fixes the code I introduced in hrev50114 for custom serial port
baudrates. The idea there was based on FreeBSD implementation, but I
missed a key detail: speed_t in BeOS (and Haiku) is only an 8 bit value.
Note that BeOS does not have c_ispeed and c_ospeed fields, instead they
are named c_ixxxxx and c_oxxxxx with a comment in termios.h saying that
they are not used. So the renaming and moving of these fields isn't a problem.

This means the previous code worked only for speed between 20 and 255
baud, quite the opposite of what I wanted to do, which is to enable
access to fast baudrates.

This new implementation exploits the fact that tcflag_t is 32 bit, but
we never actually use more than 16 bits. Therefore, the high bits of
each value were unused, and can be reclaimed to store the speed,
by changing tcflag_t to 16 bits. The speed is then inserted as two 16
bit values that can be combined as a 32 bit one. The flag bits are not
moved (on little endian systems), and the extra values are guaranteed to
be set to 0 by any previous code that was compiled with 32 bit tcflag_t.

Support for different speeds for input and output is now also possible
(POSIX specifies separate functions for setting the input and output
speeds, which is useful for some old terminals and modems, where it was
useful to have a high baudrate for data to display on the screen, but
things typed on the keyboard aren't quite as fast). If desired, we could
now properly implement this in our serial drivers, but it isn't done
here yet.

Additional changes:
- speed_t is now a 32bit type, allowing to pass large values to
  cfset(i,o)speed
- fix some places where a baudrate enum value was incorrectly put in the
  c_ispeed and c_ospeed fields, this is not how they were meant to be
  used (it meant the default was to use a speed of 0, that means "hangup"
  the line, which I think no serial driver really implemented).
- do not put baudrate enumeration values in c_iflag and c_oflag, they
  are meant to be used in c_cflag only, and conflict with other bits.
  Separate speeds for input and output can be done by setting the
  c_cflag value to CBAUD (indicating custom baudrates) and then setting
  the values in c_ispeed and c_ospeed.

Fixes #18483

Change-Id: If63a24b5ced5edf6d051d921197db194def0c614
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7068
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2024-12-14 12:29:05 +00:00
PulkoMandy 5941862c92 Cortex LoggingConsumer: log more details about media buffers
Change-Id: I24d175ae8a414d10fa6c4f49aa2f86ee9b939c4f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8585
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2024-12-08 09:36:40 +00:00
PulkoMandy 8fbddf13a1 POSIX 2024: add mkostemp
Change-Id: I254b3e5c64f5036e99a94513f05d8c491cbd6273
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8590
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2024-11-25 22:01:21 +00:00
PulkoMandy f0427429e2 usb_rndis: fix handling of canceled transfers
When the transfer is canceled, there is no new data received. So we
should stop the processing and inform the network stack that the
transfer is canceled.

Change-Id: I5c991899292b84e6d9bc589348a5ab32384ea09a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8577
Haiku-Format: Haiku-format Bot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2024-11-19 18:36:11 +00:00
PulkoMandy 9548274ed5 usb_rndis: remove reattach code
The MAC address is randomly generated each time the device is connected.
So there is no way to match with a previous session and reattach the
interface transparently.

Change-Id: I8aea95d5a09621a0dcdd7ce89787663a38435001
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8576
Haiku-Format: Haiku-format Bot <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2024-11-19 18:36:11 +00:00
PulkoMandy 344ded80d4 ioctl: Document in Haiku book and in comments
- Convert libroot from a page to a group, so that it can list the
  included file and functions in the generated book (like the kits)
- Add unistd.dox and move the relevant part of ioctl details there
- Make sure to use C89-compatible comments only in POSIX headers

Change-Id: I8f0412e4c75de6f48018a0436909f8b0076342a4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6369
Reviewed-by: Adrien Destugues <[email protected]>
Haiku-Format: Haiku-format Bot <[email protected]>
2024-11-18 17:12:04 +00:00
PulkoMandy fd7bde29e9 listusb: decode color format descriptors in usb_video devices
Change-Id: I3de3b1a893ec02d32f1b10f80653d433ac4526ee
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8582
Reviewed-by: waddlesplash <[email protected]>
2024-11-18 16:44:46 +00:00
PulkoMandy d05ff048a2 uvc_webcam: use shared USB_video.h
The driver had its own header file with definitions from the USB video
specification. Use the system ones already in place for use in listusb.

Also recognize devices which advertise themselves as "miscellaneous" in
the device descriptor, this is the recommended way in the specification
as the usb_video interface may be only part of a device, with other
interfaces and endpoints used for audio or for HID for example.

Change-Id: I7e2e45328dcc1e81c407937e8dd3d77209c5c52a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8581
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2024-11-18 16:44:46 +00:00
PulkoMandy 58bfdd0cb5 intel_extreme: DPLL configuration for Tiger Lake
The DPLL selection registers have changed again somewhere between
Skylake and Tiger Lake. Our code was trying to read/write the Skylake
registers on hardware where they don't exist anymore.

Introduce the new Tiger Lake registers and implement enough of it to get
things working on my machine (but probably only on my machine). Also
add a bit of specialization of DisplayPort which I think was not done
correctly on previous hardware either: for DisplayPort, the link rate is
selected from a handful of allowed frequencies, instead of closely
matching the pixel clock.

Things left TODO:
- Write a proper PLL allocation system to ensure each display gets
  assigned its own PLL (unless multiple displays use the same timings).
  For now it is hardcoded to what I want on my machine.
- Fix the DisplayPort PLL computation to use the values from Intel
  datasheets, not the ones used by my machine which are somehow
  different.
- Fix the DisplayPort PLL computation to select one of the several
  available frequencies, allowing resolutions higher than Full HD which
  require higher clocks.
- Fix DisplayPort link training or whatever must happen after the PLL is
  set up, since changing the PLL results in a non-working display and we
  don't get it back.

Unfortunately this still isn't enough to bring up both displays to life
at the same time. I think it is not very far, but the secondary display
(as decided by the BIOS) remains off for now even after successfully
setting it all up.

Early testing on other machines is welcome.

Change-Id: I37209bb14f32c99944bdc8ef6eef75e2550e18ed
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7367
Reviewed-by: Alexander von Gluck <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2024-09-07 09:13:31 +00:00
PulkoMandy feff791acc ECAM: do not convert 8 and 16 bit access to 32 bit ones
May fix #18536

Change-Id: I8854350b70793160548fe96e15d95874deed4f7b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8042
Reviewed-by: waddlesplash <[email protected]>
2024-08-17 16:30:45 +00:00
PulkoMandy 3a84f6fc56 ahci: make Intel quirk more similar to Linux implementation
May help with #18536

Change-Id: I5755b3484eb8e89fba6fd49a31dd701b8fe884d1
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8041
Haiku-Format: Haiku-format Bot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2024-08-17 16:30:45 +00:00
PulkoMandy 174a9dbf80 ACPI: buffer output before sending it to dprintf
ACPI sometimes print a single message line using several calls to
its printf function. We directly map it to dprintf, which causes two problems:
- In the syslog, each call to dprintf is prefixed with 'KERN:'. So,
  several 'KERN:' were added in the middle of such messages.
- The successive calls to dprintf may be intertwined with logs from
  other places, making it difficult to see what message came from where.

To avoid these problems, store data in a buffer until we have a complete
line, and only then send it to dprintf. The resulting syslog is much
easier to read then.

Change-Id: I745e50b6fbbc3c875716fb68951d8d47312f96f6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6896
Reviewed-by: Jérôme Duval <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2024-08-16 12:38:52 +00:00
PulkoMandy 81c6ba2aee acpica: Demote #error to #warning
Needed for the acpi_call tool.

Change-Id: I6b8440e9d011892b7f2fedc76cc34cf459ccbf22
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8000
Reviewed-by: Adrien Destugues <[email protected]>
Reviewed-by: Jérôme Duval <[email protected]>
Haiku-Format: Haiku-format Bot <[email protected]>
2024-08-16 12:38:52 +00:00
PulkoMandy 6221fe6648 ACPICA: re-apply Haiku patches
These were upstreamed in https://github.com/acpica/acpica/pull/918

Unfortunately the last release of ACPICA is just before merging these
changes.

Change-Id: Ib183235d9197bed0a421eec9adfa68c1a13c6bf4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7999
Reviewed-by: Jérôme Duval <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2024-08-16 12:38:52 +00:00
PulkoMandy 6dde014f76 ACPICA: update to 20240321
Change-Id: I7a763e212e9a658d7655ae0910e0d00559826121
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7998
Reviewed-by: Jérôme Duval <[email protected]>
2024-08-16 12:38:52 +00:00
PulkoMandy c251e4e13b BMenuItem: draw checkmark on marked item in matrix-layout menus
Fixes #18990

Change-Id: Id2f3b78bb443b8f76ab0bdde4318ddfd95d283bf
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8038
Haiku-Format: Haiku-format Bot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2024-08-15 11:18:20 +00:00
PulkoMandy 909af08f43 pkggraph: merge _devel packages with their main package
Makes the graph a bit more reasonable.

Change-Id: Ib1ef182fb0c6c0c88fafe2dd194cae72200d7826
2024-08-11 10:51:39 +02:00
PulkoMandy 9d62be21bf gnu/sched.h: missing features.h include
Change-Id: I5032dbf08a034df77ab4b436178d08fba2137da5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7974
Reviewed-by: waddlesplash <[email protected]>
2024-08-10 11:26:53 +00:00
PulkoMandy 0ea56347bd Update to OpenSSL 3.
- Rename the package in Jamfiles as appropriate (but don't rename the
  build feature)

- Remove libnetapi SSL class (not needed anymore, OpenSSL now knows how
  to use pthread functions directly and seed its random generator)

- Rename or remove a few other deprecated functions

Change-Id: I624833923e113a8235932d7ce8020bf27c6e2ea6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7717
2024-08-09 22:49:51 -04:00
PulkoMandy b9ec4108cc PCI ECAM: fix boundary check
The previous code (introduced in hrev57034) was correct for most accesses, but
would reject access to the last word of the configuration space using 8 or 16 bit
access.

May help with #18536

Change-Id: I3eecbdb187eca0ec57e0ce65e4d1eb0d7c43d00a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7929
Reviewed-by: waddlesplash <[email protected]>
2024-08-05 16:21:20 +00:00
PulkoMandy 2d24dd2184 Synchronize PowerPC HaikuPortsCross repo definition with actual repository state 2024-07-20 23:30:04 +02:00
PulkoMandy 9d09763865 Create source packages during bootstrap
This used to be the default in haikuporter, but it isn't anymore. This
resulted in source packages (which are needed for bootstrap) not being
generated.
2024-07-20 23:27:50 +02:00
PulkoMandy ee658d503b Tracker Kit: fix TitledSeparatorItem size
This menu item has extra decorations around the label, that need the
menu to be a bit wider than just what would be needed to fit the string.
Otherwise, the string can be truncated.

The problem is not visible in the current usage in Tracker (in open
panel favorite menu) because other items force the menu to be wide
enough. However, I tried to reuse this code in another app and hit this
problem.

Change-Id: If5d2475c22d9943e26b45c415fcd6e4df3d5fc4c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7834
Haiku-Format: Haiku-format Bot <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2024-07-09 19:08:55 +00:00
PulkoMandy a85ea80f68 Fix adding Gutenprint to regular image
This was missed in the update to Gutenprint 9.

Change-Id: Ie372a38d557e8f1506b27294b3d6699bb30f7fc0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7716
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Haiku-Format: Haiku-format Bot <[email protected]>
2024-06-26 01:54:07 +00:00
PulkoMandy 7d5b913b51 BCatalog: declare GetString as format_printf function
This tells the compiler that this function takes a format string as a
parameter, and returns a "similar" string with the same formatting
operations. This allows the format string to "propagate" to prinf-file
functions (including BString::SetToFormat) and the format string to be
actually checked with the arguments passed to that function.

Without this, all translated strings were not checked to match with
their arguments.

Change-Id: I5c3c5cbfe7dfede9a6f45cad47a7524f9138fac0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7663
Reviewed-by: Adrien Destugues <[email protected]>
Haiku-Format: Haiku-format Bot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2024-05-03 16:38:23 +00:00
PulkoMandy 7eab6b486e Fix printf format warnings in B_TRANSLATE strings
Previously these were not checked by the compiler due to a missing
function attribute.

Unfortunately, for the translation macros to work, the translated string
must be identical in all architectures (otherwise, we would need
different translations and different catalogs for each). This means the
B_PRI* macros can't be used, and instead the parameters must be in one
of the types handled directly by printf. Change the variables types
directly where it was easily possible, and otherwise, use a cast.

Change-Id: Ib77a7e378b7c508f6e7a015bbe3cbb4c2c096bfa
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7665
Reviewed-by: waddlesplash <[email protected]>
2024-05-03 16:38:23 +00:00
PulkoMandy c9810ca22a GLife: more style fixes
Change-Id: I16eecf18736058329c5a073d9b569f2a4d5941d8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7664
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2024-05-03 16:38:23 +00:00