Commit Graph

63394 Commits

Author SHA1 Message Date
Rudolf Cornelissen
661732341f intel_extreme: haswell and skylake DDI EDID support added, modesetting not finished yet. 2021-11-02 20:04:37 +00:00
Adrien Destugues
3457006a9a WebPositive: fix linking with static libraries
Some symbols were available because they were reexported by haikuwebkit
1.8.2, but they won't be exported anymore in the next releases. So we
need to link to libnetservices.a directly, and link to it before the .so
files to make sure the symbols from the static library are used.
2021-11-01 18:15:00 +01:00
David Karoly
264451d95a kernel: fix loading kernel add-ons on arm
Change-Id: I60cc1c1aa9d4298453aece0456ce7ee74fc95a34
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4659
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: X512 <danger_mail@list.ru>
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
2021-10-31 18:03:59 +00:00
PulkoMandy
c00a982d2a kernel: do not allow undefined symbols
If there are undefined symbols, we can't load the kernel (the bootloader
complains about missing relocations). It makes sense to not allow that
at compile time.

Change-Id: I430bebada16544ffa8be293cd6c075338970d8ce
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4668
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: X512 <danger_mail@list.ru>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-10-31 15:28:05 +00:00
PulkoMandy
f240512a53 sparc: add more relocation types
Change-Id: I32be0b466bfcd1d3b481eea25e96d485658be0a0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4676
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-10-31 15:28:05 +00:00
Rudolf Cornelissen
e8e44117c8 intel_extreme: probe EDID again so DDI will fail restoring screen on some systems (workaround) 2021-10-31 12:21:28 +00:00
Rudolf Cornelissen
721918869c accelerants common: fix crash on x86 i2c tracing 2021-10-31 00:45:52 +00:00
Augustin Cavalier
7d41530f62 openfirmware: Refactor console implementation following bootloader changes.
Confirmed working on sparc

Change-Id: I60bf82978ccf967e7e10611f6360cadccf22d15d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4667
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-10-28 20:06:38 +00:00
David Karoly
9aba9395e7 boot/efi: fix alignment exception on arm
Change-Id: I8384433c4bed474c3cb82bc8451ecde9a47bcff8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4656
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>
2021-10-28 11:07:50 +00:00
David Karoly
c8e72ef924 kernel/arch/arm/paging: ARMVMTranslationMap32Bit::QueryInterrupt shall return page start address
Change-Id: I8949518c563b367b8b84f3728ae1e923e49044ba
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4666
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-10-28 11:06:40 +00:00
Augustin Cavalier
52f94eb19e nvme_disk: Add missing checks in the case where there is only one iovec.
May fix the remaining KDL in #16973.
2021-10-27 14:54:02 -04:00
Augustin Cavalier
535b7dc9d3 nvme_disk: Include smp.h.
It is implicitly included on x86_64, but apparently not elsewhere.
Also fix a format warning.
2021-10-27 14:02:01 -04:00
Augustin Cavalier
9bc2885cd4 nvme_disk: Allocate and utilize qpairs based on how many CPUs we have.
This replaces the previous round-robin system. It should reduce
lock contention on multi-core systems, with potential other
benefits depending on drive behavior.

FreeBSD's NVMe driver does basically the same thing.
2021-10-27 13:38:28 -04:00
Augustin Cavalier
18851359d0 nvme_disk: Add the block size and count to the syslog output upon opening devices.
Since we do not entirely go through DMAResource, these numbers can
be relevant in diagnosing problems from tickets.
2021-10-27 12:59:00 -04:00
Augustin Cavalier
5250914df7 nvme_disk: Remove redundant check.
If the address % pagesize == 0, then clearly it is also aligned
on 32 bits, and we do not need to check & 0x3.
2021-10-27 12:41:26 -04:00
Augustin Cavalier
dab646ac9a nvme_disk & virtio_block: Remove unneeded log2.
It was used, but then the result discarded. We have a log2()
in kernel/util/BitUtils.h anyway, so if it is really needed,
that should be used instead.
2021-10-27 12:40:31 -04:00
Augustin Cavalier
6bef34f853 launch/user: Put env in both target desktop and service app_server.
It seems launch_daemon does not actually support root "env"s,
and adding support for that does not appear to be trivial.
2021-10-27 12:33:51 -04:00
Adrien Destugues
4492fde7bf intel_extreme: reduce use of display_mode where display_timing is enough
In most cases we don't need to use the complete display_mode struct and
we just need the timings. This will avoid future confusion between the
virtual width/height and the actual display timings, if we implement
scrolling someday.

Change-Id: I6c4430b84130b956a47ea0a01afb0843f5a34fd2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4665
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-10-27 14:33:46 +00:00
Adrien Destugues
0cabd8891f intel_extreme: fix regression introduced in hrev55419.
Apparently my comment about the width and height being swapped in this
register was not visible enough, so I make it a bit more obvious by
adding some uppercase.

Change-Id: I27621032d071ed09f82aa109f37482178351db04
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4664
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-10-27 14:33:46 +00:00
David Karoly
a1f7cb5d4e ldscripts/arm/kernel: discard exidx sections
Change-Id: I88523e1efc3968828df588c2fdad8d7eb1a531c7
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4662
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-10-27 07:25:45 +00:00
Andrew Lindesay
0d4fa3e526 HaikuDepot: Show Publish Date
Add a column to the table to show the publish
date.  Also add text on the featured packages
view to show the publish date.  Supports
sorting.

Fixes #13006

Change-Id: I19d9bc5bf7f44b5673c2ade5d00de8fdadbe1b06
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4649
Reviewed-by: humdinger <humdingerb@gmail.com>
Reviewed-by: Andrew Lindesay <apl@lindesay.co.nz>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-10-27 05:27:53 +00:00
Alexander von Gluck IV
491592688d system/boot: Fix build of bootloader without zstd build-package
Change-Id: I39b52def6892f77f5b3b1c088b01459b689c80e2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4648
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-10-26 22:13:45 +00:00
Augustin Cavalier
1d5de1d840 Remove firmware licenses that now are in their own packages. 2021-10-26 17:54:58 -04:00
Augustin Cavalier
4acd233580 Package Kit: Scale compression levels to the method's levels.
Zlib has (for now?) 1-9 as its compression levels, but Zstd has
1-22, so we need to scale and round based on *_COMPRESSION_LEVEL_BEST.
2021-10-26 16:51:09 -04:00
Augustin Cavalier
a89813083e ZstdCompressionAlgorithm: 22 is now "best" in libzstd.
Ideally we would use ZSTD_MAX_CLEVEL, but we cannot use zstd headers
in here...
2021-10-26 16:47:50 -04:00
Augustin Cavalier
fd276f19fe package command: -z now takes an argument to specify the compression method.
The upcoming change to use zstd by default will make the -z no-argument
variant obsolete, so instead we need to support passing "zstd" or "zlib"
to actually indicate the compression method we want to use.
2021-10-26 16:24:22 -04:00
Augustin Cavalier
fd7438acec package command: Remove duplicate code in recompress. 2021-10-26 16:24:22 -04:00
Augustin Cavalier
04a7f3ede0 package command: De-wrap help lines.
Now that the coding style limit is 100. Slight tweaks as well.
2021-10-26 16:24:22 -04:00
Augustin Cavalier
3d4e153c9f libbe_build: Compile with support for Zstd.
This way, the build package commands will be able to deal with
and create Zstd-compressed packages.
2021-10-26 16:24:22 -04:00
Augustin Cavalier
0cf34918bf Remove ZSTD_ENABLED checks from the Package Kit.
BZstdCompressionAlgorithm already has these #ifdefs and will
return error codes appropriately if built without libzstd,
so we do not need to check again inside the Package Kit.

This should not break the no-zstd build (well, it is broken
somewhat right now anyway, but this will not break it further),
and it simplifies logic somewhat.
2021-10-26 16:24:22 -04:00
Augustin Cavalier
a04b2f4c5e Launch app_server in user context.
This way, we get the user's environment variables, and so should
input_server, which is started by app_server.

This should, after 6 years, fix #12534. We may need to revisit this
when/if we add multiuser support, but that is a problem for another day.

Change-Id: I04698306bc68a585acd232e9f9d29c50bc170a1f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4506
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-10-26 19:20:53 +00:00
Augustin Cavalier
b69c9008dd nvme_disk: Re-enable MSI-X.
It now works in QEMU, probably following the addition of 64-bit
address support in hrev55542.
2021-10-26 14:17:43 -04:00
Augustin Cavalier
9710cdc6b3 nvme_disk: Move interrupt initialization to before qpair allocation.
At least QEMU's emulated controller seems to expect this.
2021-10-26 14:14:45 -04:00
Jessica Hamilton
69958ca2ef hda: subsystem is from the codec, not the PCI bus.
* Refactors so that we look for a codec subsystem ID, then the
  Audio Function Group subsystem ID if not found.
* Moves the order around a bit so that the quirks are set early
  enough.
* Also adds a quirk for MacBookAir 6,2, allows speakers to work.

Change-Id: I4c64f96936a82a5d7187d86d8558f28516fd4ecb
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4654
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-10-24 09:58:55 +00:00
David Karoly
b594d76c81 boot/efi: use ROUNDUP for aligning the page directory
Change-Id: Ib52ca83cbc390f2e450c174741ed24e745fb7eab
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4655
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-10-24 09:05:47 +00:00
David Karoly
5ac73692f2 boot/efi: better logging for system memory map
Change-Id: Ie35061f5c80f8b82071bbbf6fdaa006aca50a8a2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4651
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-10-24 09:04:55 +00:00
David Karoly
286a9c991c kernel/arch/arm/paging: ARMVMTranslationMap32Bit::Query shall return page start address
Change-Id: Ibe95f8808bc052c31765f055bef1daf0aa1eac6d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4652
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-10-24 09:04:29 +00:00
David Karoly
b05be77d78 kernel/scheduler: fix compile error when TRACE is enabled
Change-Id: I95da18c9faa343fb3a44c627c1227a778701ebbe
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4653
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-10-24 09:04:19 +00:00
Augustin Cavalier
7da3d33132 ipro100: Check interrupt status in HAIKU_CHECK_DISABLE_INTERRUPTS.
This should make ipro100 behave better on shared IRQ lines.

Should fix #17349.
2021-10-23 13:51:06 -04:00
Augustin Cavalier
91337da63b freebsd_network: Avoid using kernel thread structures in priv_check.
We can just use geteuid() here which does the exact same thing.
May help with testing #17337.
2021-10-23 13:16:36 -04:00
Rudolf Cornelissen
994794f2d4 intel extreme: skylake sets color, base and address, no resolution and refresh yet 2021-10-23 17:13:43 +00:00
Autocomitter
393c7b8b5c Update translations from Pootle 2021-10-23 08:45:35 +00:00
Augustin Cavalier
778706215d app_server: Drop gfxcpy and implement some TODOs about checking for graphics memory.
We still do not know if the accelerant buffers are graphics memory or not,
but in my testing (on the VESA driver), the only time I could get _CopyRect
to be called was where the buffer was in fact not graphics memory.
So that should provide a performance improvement there.

On the other end of things, this should resolve unaligned video memory
access problems on RISCV, and potentially other platforms, as gfxcpy32
did not attempt to align pointers; it should also improve performance
as memcpy will usually be faster than our custom gfxcpy here.

Most of this code has not been touched since 2006 or so.

Change-Id: I40b0345c5d47f2b45acafb14f03fd3a24d2042a8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4315
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-10-23 00:40:53 +00:00
Augustin Cavalier
b419a79f8f app_server: Remove IsDoubleBuffered() default implementation from HWInterface.
It just causes confusion and is wrong in the case where double buffering
status changed during the object lifetime.

Change-Id: Ia1a9ae3f5a1b1b7d521b79c7d1c7be92cef60a06
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4633
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-10-22 21:05:35 +00:00
Augustin Cavalier
f638102196 Remove conditions for HOST_PLATFORM=msys.
It never really worked beyond the most basic of commands
and required a lot of hacks, and these days WSL should be used instead.
2021-10-22 17:03:44 -04:00
Augustin Cavalier
b6a6890f4c termcap: Remove.
It was removed from the build in the last commit.
2021-10-22 16:43:14 -04:00
Augustin Cavalier
87bdb69ccf Remove termcap from the build.
libtermcap was deprecated in favor of terminfo in 2013; the library was
removed then, and this file was only left because not all optional
packages had yet been rebuilt against ncurses. Well, that has now
long been completed, and indeed all applications continue to function
even after removing /etc/termcap.

In case any legacy applications that I have missed still do need it,
it should be provided by HaikuPorts and not Haiku itself.
2021-10-22 16:43:01 -04:00
PulkoMandy
d1ecc0955f sparc docs: write down some more useful things
These are better here than in my bash history...

Change-Id: Iab8940f4efed950e26a8bad29cb8954464270e8f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4645
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-10-22 20:23:01 +00:00
PulkoMandy
6711cd9e9e bootloader: reduce stack usage
On Sparc Openboot, we get allocated a stack of only 8 kilobytes, and
each called function costs at least 176 bytes for the stack frame.

This means we need to be more careful than usual about stack usage. Move
some large-ish allocations off the stack by either making them static,
or allocated dynamically.

Add a compiler flag to error on functions which use too much stack. The
threshold is at 1023 bytes, because that's what allowed me to find the
two functions that were causing a stack overflow (open_from and
_ParseActivatedPackagesFile)

Change-Id: Ia0d13a9247e1a3fff4ce654bdffd6edb16e7cbc7
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2371
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-10-22 20:23:01 +00:00
PulkoMandy
a9fed72b4b sparc: add arch-specific libroot stubs
These are helper functions for long double math. On sparc there is no
hardware implementation of long double instructions, and the ABI defines
these methods which must be part of the C library. GCC calls the methods
directly in its generated code.

They were already added to libroot, but they also need to be in the
stub, which is used during bootstrapping to link mpfr (during the
target gcc build).

I put these in a separate file because I assume the generation of the
stubs file from the real libroot.so will usually not be run on sparc,
and will not include these symbols otherwise. This may become a problem
if libroot for different architectures starts to diverge further.

Change-Id: I6070394c685fee35b3dc12a507f5a6271571b993
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4636
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-10-22 20:23:01 +00:00