Commit Graph

63424 Commits

Author SHA1 Message Date
Máximo Castañeda
3a809d9273 riscv64 syscalls: add explicit dependency
Fixes #17518

Change-Id: Id64ee4c3a3d28a32f41d8303c4a8c0c8228838d2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4862
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2022-01-12 05:31:51 +00:00
David Karoly
ddb70de4d2 kernel/x86/hpet: fix build with TRACE enabled
Change-Id: I8b1d8f0e8ba7e800fe458135197080617be731bd
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4860
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2022-01-11 21:45:01 +00:00
Augustin Cavalier
218604196a libroot: Fix ICU locale implementation of wcsxfrm.
* The "size" parameter is the size of "out" not "in", and the
   return size_t parameter is supposed to always have the total amount
   of wchar_ts needed, not how many are actually used.
 * In the case where "outSize == 0", we set "requiredSize" and then
   return.

Fixes crashes seen in glib2 Unicode collation routines, which
are used in GTK file dialogs.

Thanks to PulkoMandy for glancing at this.
2022-01-11 16:34:15 -05:00
Andrew Lindesay
c580ec7312 HaikuDepot: Fix Scrollbar
The scrollbar on some areas is misaligned
with the window frame.  This change will fix
this.  The class that implements the scroll-
view is also shaded by two class definitions.
This is also fixed by breaking the definition
into its own file.

Fixes #16169

Change-Id: I71372906e165672c9b697ab98181ecfb1b09fb43
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4849
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2022-01-11 20:09:35 +00:00
Kacper Kasper
7323d0a21d Minor documentation fixes
* Remove duplicated Interface Kit description.
* Fixed links, a typo, inconsistent page names.

Change-Id: I38e5943f31bf30870d33f02a97b4ef899222ec36
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4854
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2022-01-11 12:22:17 +00:00
Autocomitter
f6373f2244 Update translations from Pootle 2022-01-10 16:59:00 +00:00
Jérôme Duval
a7115745f2 POSIX/C11: add timespec_get()
Change-Id: I746e32f3a463bf2c7b03097c625901d54cf2b8eb
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4853
Reviewed-by: Rene Gollent <rene@gollent.com>
2022-01-10 14:46:27 +00:00
David Karoly
6f62f45641 boot/efi/arm: initialize TTBCR when starting the kernel
Change-Id: I5ecaa0a91c8677f7d1ac6a512de6de8b2eaa597c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4852
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
2022-01-08 17:58:29 +00:00
Augustin Cavalier
a8dc67c795 XHCI: Print the actual error for some more things in AllocateDevice.
May help with diagnosing #17464 and others.
2022-01-07 22:17:48 -05:00
Augustin Cavalier
4ec4055399 BBitmap: Make now-deprecated ImportBits variants private. 2022-01-07 22:05:30 -05:00
Augustin Cavalier
644c29d069 Adjust all in-tree applications after BBitmap::ImportBits API changes.
Change-Id: If3a06f35c01089cdbb696de479984f2b59fce7a0
2022-01-07 22:05:18 -05:00
Augustin Cavalier
edd3417172 BBitmap: Introduce ImportBits variants that take BSizes.
The old versions used pixel-count dimensions, not pixel-span dimensions
as the entire rest of the API does, which was probably a mistake
in the first place. The new APIs using BSize always use pixel-span
dimensions.

The old versions will shortly be deprecated.

Discovered while working on Xlibe.

Change-Id: I604a5ac6e0588420ff0b667d9193d60ac27b92c6
2022-01-07 22:03:01 -05:00
Augustin Cavalier
d66430ec52 XHCI: Add missing set-address delay.
The USB < 3.0 init code has this, and the XHCI spec indicates that
software is responsible for dealing with this still, indeed.

Noticed by rudolfc when testing some USB audio devices in #1045.
2022-01-07 21:45:22 -05:00
Augustin Cavalier
a5404eb57f XHCI: Use B_PRI macros in one TRACE.
Pointed out by rudolfc on #1045.
2022-01-07 21:35:05 -05:00
Máximo Castañeda
910ebfc4f5 ServerFont: keep style if possible when setting face flags
The current style probably has the correct style flags portion. Getting
a new style in that case is unnecessary, and problematic with some font
families that have several fonts mapping to the same style flag
(SemiBold, Bold and ExtraBold are all B_BOLD_FACE, for example): the
chosen one might be different than the one already set.

Fixes #17229

Change-Id: Ie8e73627cc0547df9d624a8fac07f521fc983d06
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4416
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2022-01-06 10:30:47 +00:00
Anarchos
69fdc6be3b radeon_hd : control of brightness
-detect if model > HD600
-apply change by calling ATOM_TRANSMITTER_ACTION_BL_BRIGHTNESS_CONTROL and ATOM_TRANSMITTER_ACTION_LCD_BLON
Author :     Anarchos <sylvain_kerjean@hotmail.com>

Change-Id: I30b9dd66c71e05427b827fc3ef2c7fa6c498646f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2786
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2022-01-05 22:35:06 +00:00
Heinrich Schuchardt
7127c048db u-boot/arm: simplify device tree handling
By updating $fdt_addr_r we can simplify boot-arm.scr.txt.

Now we can explicitly pass the device tree address to bootefi instead of
relying on a fallback inside U-Boot.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Change-Id: Ifceb574aca2814605a2e4e58e9187773817c5df2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2970
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2022-01-05 22:30:54 +00:00
Alexander von Gluck IV
58611befa2 haikuports/arm: Add missing zstd source package
* With this, Haiku arm is compiling again!

Change-Id: I6e878941856e77be5ff38bb2603dcc57b1a1460f
2022-01-05 10:56:16 -06:00
David Karoly
023a36024d boot/efi: introduce arch_dtb
Change-Id: Iff9e4198aca706097889faf51e9559fe551126ad
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4782
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2022-01-05 16:22:35 +00:00
Alexander von Gluck IV
f4df72a061 haikuports/arm: Add new missing zstd package
Change-Id: Id23e1fd731fb98ac172b8465195e5ed028751cb2
2022-01-04 21:17:55 -06:00
Alexander von Gluck IV
9137be71a3 haikuports/arm: Bump build-packages for arm to latest
Change-Id: I63aa4d2be06da4632363217079dce400808be477
2022-01-04 14:57:38 -06:00
David Karoly
fbc211a255 efi: fix alignment for block device protocol
efi_block_io_media struct needs padding on x86.
uint64_t is aligned on 4 bytes in Haiku toolchain for 32-bit EFI loader.
But the EFI firmware expects it to be aligned on 8 bytes.

Same padding in u-boot:
https://github.com/u-boot/u-boot/blob/v2021.10/include/efi_api.h#L638

and in Illumos:
feff18a41e

Change-Id: I1b95cbe4cc1e7d96fde3ba52862a05f8a94aab79
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4840
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
2022-01-04 17:56:41 +00:00
Jérôme Duval
80753344fe radeon_hd: fetch vbios from ACPI VFCT when available
check that the correct BIOS is found with the device and PCI ids.
make the allocated rom area bigger like Linux, otherwise page faults occur.

Change-Id: Iae6ff1c8dfd81ea16c20e73d511f9a0a96f9b071
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4844
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2022-01-03 22:36:20 +00:00
Jérôme Duval
82bdd31024 ext2: the offset still can be equal to the block size with metacsum
fix assert check for _CheckBlock()

Change-Id: Ibf0052a24e4b2fbcfff1e4a10d556cc4e6a6b103
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4843
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2022-01-03 21:09:38 +00:00
Kacper Kasper
fd876ad749 intel_extreme: vblank interrupt support for Gen8+
Change-Id: I8e7e68786cc4a626cb386929600715a6a6b1917d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4760
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2022-01-01 11:36:02 +00:00
David Karoly
6117e0c29c boot/loader: relocate kernel to virtual address space on 32-bit architectures
Change-Id: Ic86ca6874f358df8755a0c691cccb155d145e06c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4675
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
2022-01-01 11:35:28 +00:00
Adrien Destugues
abef198c1a Tracker: fix logic to use custom icons.
Regression caused by refactorings in hrev55348.

The logic for deciding when to use a built-in tracker icon was changed
incorrectly to ignore attributes on directories, trash, etc (anything
but executable applications). So the built-in icon was always used.

This commit restores the previous logic.

Shoud fix #17320 and #17371

Change-Id: I51ba22db59a8b6dd2bd1121b56c753ed47224c57
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4841
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-12-31 17:41:28 +00:00
David Karoly
a7c2c5f842 Update bootstrap package versions for ARM
Change-Id: I33f690355455561cb3faa55bccbfe73d24d2a32e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4842
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
2021-12-31 16:03:11 +00:00
Alexander von Gluck IV
fa50d49db0 libroot: Correct no-builtin to be properly focused
* memset.c not arch_memset.cpp like on x86_64
* Sorry for spam

Change-Id: I79049e3a35c48431cef3bb9f54f0c9071663deeb
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4838
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Reviewed-by: X512 <danger_mail@list.ru>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-12-30 00:08:20 +00:00
Alexander von Gluck IV
f122ecfab7 libroot: Compile all arch arch_string with no-builtin
* This was originally added in hrev55661 for x86_64
* riscv64 suffers the same issue after updating to gcc 11
* Presumably, all architectures might suffer from this,
  so apply to all remaining architectures

Change-Id: I41f2adeb5153ce4f4094d667ae303394d537d8ec
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4837
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-12-29 22:40:29 +00:00
X512
0d9b77a328 haiku_loader.riscv: update for SMP support
Change-Id: Ic3f83e80347036727a06eb6199c44e00079fb304
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4715
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-12-29 20:12:19 +00:00
X512
715304011f haiku_loader.riscv: update
* Moved machine mode code from kernel.
* Added MMU page table generation.
* Added QEMU ramfb video driver.

Change-Id: Icd67cd2e8dbf2b568d81ab8dd0d6127ca3cd97a8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4302
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-12-29 20:07:31 +00:00
Adrien Destugues
0f2661cc08 Partially revert "ActivityMonitor: remove double buffering and custom background drawing"
This partially reverts commit cc0226fad0.

This commit caused high CPU usage in app_server. The double buffering in
ActivityMonitor is not to avoid flickering, it allows to draw just a few
pixels of the the curves at each update, and reuse most of the bitmap
from the previous run.

Removing this means all the curves are fully redrawn at each update,
resulting in higher CPU usage (one core at 30% on my machine with 5
different graphs).

Keep the part of the changes removing code for custom background
drawing. B_TRANSPARENT_VIEW flag can be used instead.

Change-Id: Ie3438ca634c934f3e96ce5f7ad71ce7b3a435013
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4833
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
2021-12-29 17:25:56 +00:00
Adrien Destugues
05ce14d174 app_server: fix B_OP_COPY
Skip pixels with a coverage of 0. Since the source alpha channel is
ignored, we would otherwise cover pixels that shouldn't be.

Fixes #17449.

Change-Id: I373672a765b99efce5dceed4ffa81741f78b9d9f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4836
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-12-29 16:45:53 +00:00
Alexander von Gluck IV
a06c7a2ec3 riscv64: refresh build-packages based on unbootstrapped packages
Change-Id: I53fadd4fdc733c564636a8117053f1e273ad3f6f
2021-12-29 10:41:16 -06:00
Adrien Destugues
58af5dce79 ActivityMonitor: add CPU speed graph
The info is now available in cpu_info, we should do something with it.

Change-Id: Iac7bd697783d63b5c84c7da33770b3c9a7d417b4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4832
Reviewed-by: Kacper Kasper <kacperkasper@gmail.com>
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-12-28 22:38:34 +00:00
Pascal Abresch
3604e6c384 WebPositive: fix loading bar height
Change-Id: Ic1e9c1c64b8bd00efadd6e2ea9f0c686e8b1141c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4823
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Reviewed-by: Kacper Kasper <kacperkasper@gmail.com>
2021-12-27 16:01:57 +00:00
David Karoly
235aa994d7 boot: rework 32-bit/64-bit kernel load base selection
Change-Id: I0aed05c0ef2ff1a162581e4f988bf24ed1e521e0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4816
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
2021-12-27 15:44:56 +00:00
David Karoly
b9a0a02382 arch/x86: select between 32-bit and 64-bit ELF based on arch and platform
arch_elf is reused between the kernel and boot loader

No change for kernel mode compilation.

How to select 32-bit or 64-bit when building boot loader:
* build both when building BIOS loader
* build only 32-bit when building 32-bit EFI loader
* build only 64-bit when building 64-bit EFI loader

Change-Id: I9caa1248c7eb24318911a0c369137cedb638e4e4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4817
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
2021-12-27 15:17:54 +00:00
David Karoly
182eaee962 boot/loader/x86: select between 32-bit and 64-bit ELF support based on arch and platform
Build both when building BIOS loader.
Build only 32-bit ELF support for 32-bit EFI loader.
Build only 64-bit ELF support for 64-bit EFI loader.

Change-Id: I88bb287fbb9a4b6618b365b2d03f85f64021f499
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4818
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-12-27 15:17:17 +00:00
Adrien Destugues
5fcc7f71b5 ethernet: do not log everytime there is a media change.
This code was written with wired ethernet in mind, where changes are
rare. However, on wifi the "media" changes all the time (switching
between different connection speeds). So, only log linkup and linkdown.
The other events are not that important.

Change-Id: Iaafb74ceb05a59dedf94184eee23a4e81fa5e983
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4827
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-12-21 18:51:25 +00:00
Adrien Destugues
a8b90daa8a Fix more problems with DHCP timers
- Number of retries could overflow. If we retry something more than 255
  times and it fails, just stop, instead of flooding the network with
  bogus requests
- The timeout could also overflow. It was stored in microseconds in a
  time_t, which allows a bit more than an hour. This is fine for the
  initial timeout (which starts at a few seconds and will go up to 64
  seconds), but after that we switch to a slower rate driven by the
  "state time". In particular, this can be the lease time, which DHCP
  servers may set to several days, or at least easily more than an hour.
- The computaiton of the timeout in the "slow lease" case attempted to
  do "not less than a minute", but missed a conversion from microseconds
  to seconds so it ended up doing "not less than 60 microseconds"

The combination of all these things means we can end up with a negative
timeout, and we will send a burst of requests without ever stopping,
flooding the network.

Change-Id: I0eb811c90f4a4dd8c9d92bff728bc2bbb52fbd56
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4826
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-12-21 18:51:25 +00:00
Jérôme Duval
50a4c18678 kernel/xsi_semaphore: set otime when semop() succeeds
used by PR_OpenSemaphore in NSPR to check the creator inited.

Change-Id: I626c6ab0d50896c94224718ca4fa0788f74ae27a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4824
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-12-18 21:14:39 +00:00
Alexander von Gluck IV
65ed50c713 graphics/edid: Add support for digital display info; solves #17462
* We pack the first 8 bits into a union for the raw
  edid since alignment matters.
* Handing the raw_edid is a bit ugly, so in the edid struct
  we drop the input_type from the union since packing doesn't
  matter as much.

Change-Id: I32dbfe9484f9eb83cf491a44d30a32ca36d65b7b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4775
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-12-18 15:21:30 +00:00
Lt-Henry
6a9aea9dfd input: implemented B_GET_DEVICE_NAME ioctl on both usb and i2c input devices
Change-Id: Ie1eb0a958b4d60e6fa673cf8fe72bdfe924baf51
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4798
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-12-18 14:51:19 +00:00
Alex Hitech
370623a923 Russian keymap: the Rouble currency sign was mistakenly on the Capslock key, and vice versa.
Change-Id: I3d907da00cfc0d5092ef04bfa50f413ba261e5e6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4822
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-12-18 09:39:47 +00:00
Augustin Cavalier
e0842c10af kernel/condition_variable: Pause between iterations.
Should hopefully resolve the remaining problem in #17455.

Change-Id: I6e00286508c069705e07c9a0b59af2cf5e15e427
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4819
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-12-18 07:52:47 +00:00
Jérôme Duval
101dc0ba83 strace: fix revents output for poll syscall
each poll_fd struct should be checked, valid when not -1 and revents not zero.

Change-Id: Ia624ad1369ad1a6066c9970a47cfac63fa773702
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4821
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-12-17 20:40:55 +00:00
Jérôme Duval
3285dcae22 tcp: reset receive.low_water_mark when nothing to read anymore
the socket interface module checks the receive.low_water_mark to automatically
notify a read event. available_data will be zero, thus enabling the notification.

fixes the test poll_nm in NSPR.

Change-Id: I5354faec439df96671506550cdb144a45f6082b1
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4820
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-12-17 20:40:55 +00:00
David Karoly
18e885db51 boot/efi: implement convert_kernel_args for 32-bit
Change-Id: I528d6f8ca576b38c50dc314972636e7156d24705
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4784
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-12-17 08:58:57 +00:00