Commit Graph

63464 Commits

Author SHA1 Message Date
David Karoly
d283a8c58a kernel/arm: add range checking for early page tables
Change-Id: Ibbd367475482eb0cf839314014c8bf68612c5d6a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4891
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2022-01-27 16:29:48 +00:00
David Karoly
79ee00628f boot/efi/arm: don't add ranges below KERNEL_LOAD_BASE to virtual_allocated_ranges
Change-Id: I9dbb1c46bcfcdea6fe3e8287673557e54a29c008
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4889
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2022-01-27 16:28:45 +00:00
Augustin Cavalier
2472048e57 kernel/condition_variable: Add missing newline in debug print. 2022-01-27 10:18:47 -05:00
David Karoly
a2d528242a boot/efi/arm: code cleanup
* Use TRACE() for logging
* Use B_PRI format strings
* Reformat local variables and function arguments to use camelCase
* Remove comment related to ConvertPointer
* Fix indentation for switch statements
* Remove variable sFirstPageTable as it's not really used

Change-Id: Iace275e5a3311f13a5018f497c3132e472a20848
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4885
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2022-01-27 14:11:27 +00:00
David Karoly
f991c7ee03 boot/efi/dtb: fix signedness of dtb_get_interrupt_parent()
Change-Id: Ic3a28ff003cb82dc9166200594dbf3fc58e76b51
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4884
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2022-01-27 02:02:22 +00:00
David Karoly
f06c2e7f5c docs/arm: remove TODO item for early page tables
Page directory and early page tables are allocated using
platform_allocate_region() and they don't need to be identity mapped
since commits 9103470bd and a7c69a4b1.

Change-Id: Ia7fcf1dd2fa34262e013f651139ad252a1ac9113
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4886
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2022-01-27 02:01:41 +00:00
John Scipione
cd053a381f Tracker: Fix image thumbnails
hrev55756 fixed regressions but also broke thumbnails.

Tell Model to look for an thumbnail icon in the node in
FinishSettingUpType() if eligible.

Create ShouldGenerateThumbnail() convinience method in Utilities.h

Change-Id: I454156374ec539f5bb09a61f24b16ebb6a7a95a1
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4887
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2022-01-26 22:19:55 +00:00
Augustin Cavalier
d7f7aadf98 usb_raw: acquire_sem with B_KILL_CAN_INTERRUPT.
This way, applications blocked in usb_raw can actually be killed,
instead of "hanging" until the USB device is removed or the
transfer finishes.

Improves a number of USB tickets, but does not really "fix"
any of the underlying problems that lead to this happening.
2022-01-26 17:03:28 -05:00
Augustin Cavalier
e20a08d1c2 usb_raw: Use MutexLocker and MemoryDeleter in usb_raw_ioctl.
No functional change intended.
2022-01-26 17:00:24 -05:00
Rudolf Cornelissen
022986d510 intel_extreme: sandy/ivybridge DP links to screens are now programmed to the actual mode if possible 2022-01-26 23:42:14 +00:00
Augustin Cavalier
49ddb1ffd4 kernel/condition_variable: Downgrade one of the panics into a dprintf.
On some virtualized systems, this seems to still occur,
and at this point may not be preventable.

Fixes #17455.
2022-01-26 15:45:06 -05:00
Augustin Cavalier
ebd5ba380d USB Kit: Use libtextencoding to perform character set conversions.
This way USB devices with actual Unicode names will not be mangled.
Change-Id: I59b50d38776f185cbdb4df9763608341c059a163
2022-01-26 13:44:14 -05:00
Augustin Cavalier
eecf3977a5 libroot_build: Implement FD writing STAT_ACCESS_TIME and STAT_MODIFICATION_TIME.
We have used and had fallback futimens() implementations in libroot_build
(and in this file even) for over a decade, but nobody seems to have noticed
this bit of missing functionality which can be implemented with them.

In fact, this is rather important bit of functionality, as "copyattr"
relies on it to preserve the mtimes of copied files; and we use
recursive copyattr many places in Haiku builds. Thus, the lack of
an implementation here was the cause of all files in built Haiku images
having timestamps of whenever the build was done, and not whenever
the file was actually modified.

This should make development on Haiku nightlies much more pleasant,
as the system headers from the haiku_devel package should no longer
have always-current timestamps with every upgrade.
2022-01-26 13:25:11 -05:00
Augustin Cavalier
e673363df1 libbe_build: Initialize stat structures when writing stats.
This is the same as ee4b6bdfa1,
now applied to the libbe_build Statable implementation.
2022-01-26 13:16:33 -05:00
David Karoly
8fea4985b5 bus_managers/fdt: implement interrupt-cells handling
Change-Id: Id0ff78ce51fb64065c2a6398115e3a3dd12693da
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4658
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2022-01-26 00:06:28 +00:00
David Karoly
9a573968a2 boot/efi/arm: use insert_address_range for virtual_ranges_to_keep
Change-Id: Iaf67838e8ef3d9a9494791945bd777b92315a948
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4877
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2022-01-25 11:39:14 +00:00
Jérôme Duval
971ad09095 pch_i2c: bail out if BAR isn't configured
Change-Id: If271dc01bade8a5fcf28c7a3e734d573c0008b04
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4883
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2022-01-24 17:01:23 +00:00
Panagiotis "Ivory" Vasilopoulos
789bcfd8de Update own credits/copyrights
Change-Id: Ia28784e1c8d534df3946693c850e176c75c5d99a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4882
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2022-01-24 13:11:54 +00:00
Alexander von Gluck IV
526c9fcfb4 jam/build: Solve infinite recursion on host-only tools; fixes #17546
* We should likely check for Jamfile recursion in jam instead of
  segfaulting

Change-Id: I19ed771b0e943504e11bd6182adc81a0ea2668e8
2022-01-23 16:42:21 -06:00
David Karoly
cc69b20bb1 boot/efi/arm: move arch_enter_kernel to identity mapped region
First try to allocate a page below 2GB.

If it fails, try to allocate a physical page at the address
returned by get_next_virtual_address so that we get an address
that is available in both virtual and physical space.

Finally try to allocate any available page. At this point
it's highly likely that it will be above 0x88000000 so it can be
used for trampoline code.

Change-Id: I3100a3e09efcd938bc630a52dcce74dc5f24beb5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4878
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2022-01-23 08:50:46 +00:00
David Karoly
b57ffe4006 kernel/arm/paging: zero out the bottom portion of the new pgdir
Change-Id: I899f288f451dd4c413403cd0e14a855f68355050
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4866
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2022-01-23 08:50:46 +00:00
David Karoly
933430df22 boot/efi/arm: remove identity mapping for EFI code and data segments
All the regions allocated via platform_allocate_region() are mapped to a
high virtual address so there's no need to do identity mapping for them
any more.

Copy kernel_args to a region allocated via platform_allocate_region() so it
will be mapped similarly.

Identity mapping is still needed for trampoline code for jumping to the kernel

Change-Id: I844a7a789b440a38521db49adc077bb77e658ddf
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4865
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2022-01-23 08:50:46 +00:00
Jérôme Duval
5f8b4d4d2e framebuffer: handle 64-bit PCI BARs
Change-Id: I634f2a75fe80da99063b98a255d14953cd1a361f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4880
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2022-01-22 20:32:10 +00:00
Jérôme Duval
de65a7b6b3 Update pci.ids and usb.ids
Change-Id: I99190ec9ddda1913a8bdb104c463a3c9e9fbbe81
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4879
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2022-01-22 14:40:08 +00:00
Autocomitter
39dfe582a3 Update translations from Pootle 2022-01-22 08:07:09 +00:00
urnenfeld
54ffc00e11 checkstyle: Update 80 columns rule to 100 as per coding guidelines
Change-Id: I17d8a74ec332a0073bd9d85ce23093b285a8e2d8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4875
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2022-01-20 12:06:16 +00:00
Jérôme Duval
a010d38b6e hda: remove invalid product entries for intel
A few invalid ones were introduced in 2071dc2

Change-Id: Icbe5bb4aafd9d6e03ec4175c10eccdb2e65465d7
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4874
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2022-01-20 05:34:18 +00:00
Jérôme Duval
a4c7f6c623 acpi_thermal: fix previous commit
sorry for the noise

Change-Id: Ic696f48b87d017492e054641c2b9c61a910fed0b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4871
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2022-01-18 08:59:39 +00:00
Lt-Henry
0fc10268e0 acpi_thermal: Fix 64-bit warnings
Change-Id: I5ee12a6d07a9ed61d0025c4e9e650da08a1326f8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4870
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2022-01-18 08:52:37 +00:00
David Karoly
01cb3ed58e boot/efi: add stubs for x86
Change-Id: I8d3dfa7cc07679a8b024df24f7cddb3a5bcec02c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4747
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2022-01-17 16:04:47 +00:00
Jérôme Duval
9a7f2c2459 Terminal: add support for mouse press/release events in Extended/SGR 1006 mode
fixes #17532

Change-Id: Ic9f19ace5c728b6823caa5ce8ec35dc35d244220
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4867
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2022-01-15 14:18:41 +00:00
Autocomitter
abe423c6e4 Update translations from Pootle 2022-01-15 08:07:13 +00:00
David Karoly
31f5f4d339 boot/efi/arm: remove identity mapping of EFI runtime services
EFI runtime service memory areas are remapped to a high virtual address
allocated with get_next_virtual_address() to avoid any address space
collision.

They are also added to virtual_ranges_to_keep so that the kernel knows
that these ranges should be reserved.

Change-Id: I63e1a2450fceff3b2404154907a2cf59dd1b373b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4863
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
2022-01-13 22:43:32 +00:00
David Karoly
a7c69a4b1f boot/efi/arm: remove identity mapping of initial page tables
Change-Id: I37cb756c32e05a585ff224c1e48d1a40c83e5e2e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4858
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2022-01-13 22:43:32 +00:00
David Karoly
9103470bd3 kernel/arm: don't require identity mapping of initial page tables
Remove the dependency on identity mapping for the initial page tables
used in MapEarly / _EarlyQuery.

The initial page tables have to satisfy the following conditions instead:
* the inital page tables shall be allocated in the same region as the initial page directory
* this region shall be mapped contiguously
* the page tables shall be mapped at a higher address than the page directory

Change-Id: I34854ef93826aa48f5d90582b52905e553f3d275
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4857
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2022-01-13 22:43:32 +00:00
David Karoly
dc3e1761e6 docs/arm: remove TODO item for serial port mapping
UART is mapped to kernel virtual address range since commit f5f10a9ec
so it does not overlap with user address range any more.

Change-Id: If8e18904fcddcbef1ccdc91e526d0e581f61e085
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4856
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2022-01-12 12:21:11 +00:00
David Karoly
4ddb4993c8 kernel/x86: fix HPET ACPI table alignment
vendor_id shall come after the bitfields

Move hpet_address to separate struct definition so we can apply
the correct packed flags.

see also: https://wiki.osdev.org/HPET

Change-Id: Iced005846fedd4b895910e9b61137d5349db5b41
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4859
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2022-01-12 12:20:25 +00:00
Alexander von Gluck IV
901fc0c75f posix/arch/signal: Fix riscv64 arch detection
* We decided to not create our own custom define checks
  and go with the standard ones for riscv64.
* clang doesn't define __RISCV64__ either, so this moves
  the clang build of riscv64 a bit further

Change-Id: I2a6c3751168a898c1617b32f46055a9ba1609e2b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4861
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2022-01-12 12:17:15 +00:00
Mikael Konradsson
d493aae3c4 DiskProbe: Use Shine and Shadow color instead of tinting for Haiku
This make it look much better on haiku with dark theme.
Looks the same on default because shine is set to white/very bright.

Change-Id: Iecab3477e1fd5a90c447bcc15a1c598450b074a9
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4706
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2022-01-12 12:16:26 +00:00
Jérôme Duval
0a408dfcad radeon_hd: find out rom size if loading from PCI ROM BAR
* only the rom gets copied.
* tested by smallstepforman in #17377
* fix warnings.

Change-Id: Id4803d5c5a8bcab685f687c6af0292c945813ec6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4855
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2022-01-12 05:39:40 +00:00
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