Commit Graph

63541 Commits

Author SHA1 Message Date
X512
fce7f3a748 integrate AutoDeleter's into pointers
Change-Id: I6c3925a7aec4d0647c76c2a03aad7b08985d7166
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3490
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2022-02-02 19:29:52 +00:00
David Karoly
478279116b boot/efi/arch: remove comments related to ConvertPointer
Change-Id: I1c0ebe04c180f3c50ac07c7d043a33d2c4563a18
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4924
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
2022-02-02 16:36:14 +00:00
Rudolf Cornelissen
ed9bb4dc76 intel_extreme: decoupled PIPE/eDP link programming from FDI train, fixed eDP pgm error. 2022-02-01 23:48:48 +00:00
Rudolf Cornelissen
41f6b7906d intel_extreme: if no EDID found use boottime EDID if there 2022-01-31 22:05:08 +00:00
Jérôme Duval
f9e868fc8f sdhci: accomodate 64-bit PCI BARs
* init works better with this. it doesn't work yet, but at least the boot
isn't completely borked.
* also fix the infinite loop in SoftwareReset() to timeout after 100ms.

Change-Id: I76dac8360eaf3575adf7d0b3bf3e2b72daeedb21
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4923
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2022-01-31 17:49:19 +00:00
waddlesplash
50ea01e93d Revert "runtime_loader: Support resolving weak symbols as NULL."
This reverts commit 74843df324.

Reason for revert: Change was not ready, see comments on #8288.

Change-Id: I82dc23ca5a86fa2906fb6eb19f9f872603618fad
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4897
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2022-01-31 15:20:28 +00:00
David Karoly
4f912a8b33 enable building EFI loader for x86
Change-Id: Ic7d2c3194b8555f7b6704131f5fc2bce3b139ee4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4918
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>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2022-01-31 14:22:57 +00:00
Augustin Cavalier
74843df324 runtime_loader: Support resolving weak symbols as NULL.
In the case where a weakly declared symbol has no definition,
it should just resolved to be NULL instead of failing to load at all.

GCC 11 builds of libroot.so wind up having one weak symbol
declaration that is unresolved at runtime, to __cxa_pure_virtual,
which seems to be provided by some object in libsupc++.a that ld
does not pull in. We could probably force it to be, but implementing
proper weak symbol resolution seems to be the more sensible path.

Change-Id: Ifd512b73dc67581e6173b5c78ce73ac68971707a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4768
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: X512 <danger_mail@list.ru>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2022-01-31 14:19:39 +00:00
David Karoly
a7b50febfa kernel/x86: use proper phys_addr_t field for storing ACPI root pointer
Change-Id: I475b7b3f9bd0711ecd037043e86559ab691a82a7
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4881
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>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2022-01-31 14:15:46 +00:00
David Karoly
bfd5d56283 boot/efi/mmu: fix sign extension issues
Conversion from pointer to phys_addr_t (i.e. uint64) results
in a sign extension on x86.

Therefore we first convert to addr_t and then convert from
addr_t to phys_addr_t.

Change-Id: Id9d9db03d9940a11ea3892841c271e12fad3975a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4872
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>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2022-01-31 14:14:12 +00:00
Humdinger
8b35436293 Audio mixer: Remove option for linear gain sliders
* always use non-linear gain sliders (was the default setting)
* remove functions and members connected to linear gain setting
* remove "(like BeOS R5)" from "Attenuate by 3 dB" option
* add "Low/High quality" to resample algorithm option

Fixes part of #17554

Change-Id: I746da3f5bcc8f0cb017c75509565b535d5442f71
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4917
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2022-01-31 11:44:19 +00:00
Alexander von Gluck IV
4ac99e3932 system/boot: Don't borrow libroot objects
* kernel + bootloader get differing compiler flags
* Trying to reuse libroot objects makes what objects
  are being built with which flags slightly confusing.

Change-Id: Ic8ac7255db99d6825ca022afc3f4fd416c57c12d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4876
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2022-01-30 22:03:10 +00:00
Rudolf Cornelissen
c749333b59 intel_extreme: added EDID use for eDP laptop panels 2022-01-30 23:35:29 +00:00
Rudolf Cornelissen
d7a6d9cb6e accelerant_common: fixed typo in EDID dump 2022-01-30 23:28:41 +00:00
David Karoly
4ca2120531 boot/efi/x86: take care of PAE flags during MMU initialization
UEFI specification states that on IA-32 paging may or may not be
enabled during startup. If paging is enabled, PAE might be active.

During jump to kernel and early kernel initialiation we use paging
without PAE.

Therefore the following initialization sequence is introduced:
* disable paging
* disable PAE
* load page directory
* enable paging

Change-Id: Ife9a631b914dd5867f6673713e20e8abfce1ea44
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4919
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2022-01-30 13:39:43 +00:00
Rudolf Cornelissen
ba0c9427cd intel_extreme: for Ivy/SandyBridge added eDP programming for laptops. 2022-01-30 00:21:32 +00:00
Adrien Destugues
071a83af4f fix macOS hosted build after hrev55802
The stat structure fields are not standardized, so we can't use an
hardcoded field name. The code in all other places was already adjusted
with a macro to handle the access, but hrev55802 introduced a new place
where we need to read the access and modification times. Use the macro
there as well.

Thanks to anuragpd4 for reporting the problem!
2022-01-29 15:57:56 +01:00
Autocomitter
9b199d1c7b Update translations from Pootle 2022-01-29 08:07:53 +00:00
Humdinger
7ae9eac3a9 Diskprobe: fix scrollbar insets
Fixes #17558.
Change-Id: I89863e7fcfa61292ac0ef3ccb7752e5c45519c61

Change-Id: I2e4ca735c00bb078ccf203e52e72e1c2f5481e90
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4893
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: John Scipione <jscipione@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2022-01-28 18:22:05 +00:00
Alexander von Gluck IV
b0dd708eca arm64/debug_console: Add basic functionality to puts call
* Matches arm and riscv64

Change-Id: I88874df4da16f5019def0c0c79ca41f37a926c12
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4916
Reviewed-by: <karolyd577@gmail.com>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2022-01-28 15:35:11 +00:00
Alexander von Gluck IV
8e6c16e503 arm/debug_console: Ensure we always return before newlines
* Similar to what riscv64 does
* Solves incorrect newlines
                            in qemu serial.

Change-Id: Ib1179728529dd4bf51c8361fdb6190bd43ccb851
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4895
Reviewed-by: <karolyd577@gmail.com>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2022-01-28 15:35:11 +00:00
urnenfeld
f9412d9f8a boot: ARM64 EFI port
* MMU mapping
* EL2 to EL1 transition (FreeBSD/Jaroslaw Pelczar)
* Initial implementation for cache cleaning and TLB invalidations (ARM)
* Processor Helper functions
* Additional Logging in boot process

Change-Id: Idcee93583418a3c3528c5d9586d3add487f9d5ca
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4888
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-28 15:33:12 +00:00
David Karoly
5e5299336b boot/efi/x86: implement MMU initialization and jump to kernel
Change-Id: Ie42c69f3851acae3a8184aa97ab2dd01c9485f46
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4850
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2022-01-28 15:31:07 +00:00
David Karoly
20c0887491 boot/efi/arm64: implement arch_convert_kernel_args()
Empty function for now as no arch-specific calls to
fix_address() needed on arm64.

Change-Id: Ifef100c132eac29a2b763e06bf1efd695b284851
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4894
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2022-01-28 15:28:03 +00:00
David Karoly
36e8ac9d41 boot/efi/x86: implement timer initialization
Change-Id: Ida16e63d2b8f87b90897892faf0e6db92b185d34
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4851
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2022-01-28 10:25:29 +00:00
David Karoly
367beefadc boot/x86: move HPET initialization to arch folder
Change-Id: Iac3f4923f132c4c3328fde5af1dad75af5b2efbd
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4864
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-28 10:25:29 +00:00
David Karoly
8d743ebd60 docs/arm: remove TODO item for bootloader memory map handling
Change-Id: Iabcada696eb87500dbcdb03cf742607e0e525707
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4892
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
2022-01-27 20:25:22 +00:00
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