Commit Graph

63036 Commits

Author SHA1 Message Date
X512
5ab0674c38 kernel/arch/riscv64: fix crash on userland thread exit
Set first stack frame return address to
<commpage>commpage_thread_exit, so it will be called
when thread entry point returns.

Change-Id: Ide5cde8d4501eb7241e03ff4052174e984e78870
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4493
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-10-11 17:38:20 +00:00
Fredrik Holmqvist
812397ffd9 Update HaikuPortsCross package versions for ARM64 2021-10-11 19:32:27 +02:00
Adrien Destugues
f122405db8 Add some documentation about interface kit coordinate spaces
I hope this clears some of the confusion about it.
2021-10-09 21:10:26 +02:00
Jérôme Duval
3f8482c472 kernel/x86_64: remove lfence after swapgs on syscall entry and exit
in a syscall, swapgs is always executed and can't be speculatively executed or bypassed.
it's also not needed on exception/interrupt exit, only on exception/interrupt entry.
follow-up on commit 84f6e2d39f by waddlesplash

(7aa47cace1)

Change-Id: I56de9526a1acd0075c4a12147ae782f0366dec52
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4557
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-09 18:54:16 +00:00
Franck LeCodeur
98193d2688 raw_decoder: Fix warnings and enable Werror
Done as part of #9460

Warnings related to comparison of integer expressions of different signedness

Change-Id: If5543db951b11aab1858a18a057b7d2e08ee2b42
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4503
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-10-09 18:00:06 +00:00
Adrien Destugues
ae51dd6785 x86_gcc2 haiku_secondary package: Add missing dependency on libzstd.
libbe now links against it, and it will soon be used to compress hpkg
files. But the dependency was not added.

Fixes #17287.
2021-10-09 17:32:59 +02:00
Adrien Destugues
13241731dc runtime_loader: improve error message
When a library is not found, it is useful to know why it was linked in
by showing the previous link in the dependency chain. We had the
information available, but did not use it in the error message.
2021-10-09 17:12:11 +02:00
Adrien Destugues
fb5c24d812 MediaAddOn: missing const
Pretty much all add-ons are setting this to point to a const string, so
we should make sure that nothing tries to modify it.
2021-10-09 16:38:46 +02:00
Adrien Destugues
857c79a6b8 Introduce symbol_visibility.h with macros to define hidden functions
These were used in function_remapper.cpp but can be used elsewhere too,
so move them to a private header. Also use them for the stack protector
hidden function definition (probably not so useful since gcc2 doesn't
support using the stack protector anyway?).

The gcc2 way to make a symbol hidden is to manually generate the .hidden
directive in the assembler output. This is not perfect: it is hard to
use for C++ functions and methods (manual mangling of the name is
needed), and inline assembler can only be inserted inside functions. But
the alternative is patching gcc2 to add support for the function
attribute, and I don't want to dig into that today.
2021-10-09 15:03:36 +02:00
Adrien Destugues
cfa6534031 LayoutUtils: improve text dump of layout
- Show view names in addition to class names
- Use class_name from ClassInfo.h to get class names (no functional change)
- Use 4 spaces for indentation instead of 2
2021-10-09 14:59:04 +02:00
Adrien Destugues
2770bfe8e4 driver_settings: use B_DEFINE_WEAK_ALIAS to define a weak alias 2021-10-09 13:34:48 +02:00
Adrien Destugues
2ac7dbb046 Remove libc++
This is an old version of libc++ that was imported in an early attempt
of building Haiku with clang. It is currently not used for anything. In
fact there never was a Jamfile to build it.
2021-10-09 11:04:22 +02:00
Autocomitter
6558fa2ef4 Update translations from Pootle 2021-10-09 08:47:16 +00:00
Jérôme Duval
947d3b862b app_server: handle RGB48 and RGBA64 in switches
Change-Id: I14019b3285e036eba4b73effd79d7e1b4181daeb
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4558
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-10-08 15:06:07 +00:00
Coldfirex
536fc87a33 Netfs: Fix wformat-security
Change-Id: Id24585b12a264deb7dc87deb87a523e507773096
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4483
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Franck LeCodeur <cassisian@gmail.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-10-07 11:15:14 +00:00
X512
7fb43331f8 ldscripts/riscv64: adjust after adding --enable-initfini-array flag
Change-Id: Icd5b944901c483100808d6624ca742bd04b869bc
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4074
Reviewed-by: X512 <danger_mail@list.ru>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-10-06 15:23:53 +00:00
nhtello
a56c73f9ff control_look/decor: Add Flat style to haiku_extras package
* Works a bit better with dark themes
* Has some interesting alternative design elements
* MIT licensed

Change-Id: I6cfd1d4d05016fb014d515d94cff3b8c8d0298b2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4508
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-10-06 15:23:27 +00:00
Alexander von Gluck IV
b9b2a1dcd2 radeon_hd: yolo add navi chipsets
* PCI ID's from Linux
* There are a bunch of NAVI quirks around 3d rendering pipelines
  but not many around modesetting (which is the only thing we care
  about)

Change-Id: If63e31fe1d37d9d95f2a71c222a4cda7a2914a5e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4467
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-10-05 21:13:46 +00:00
Alexander G. M. Smith
0b057a903f 3rdparty/os_probe: Better wording, fix Beta+ version parsing.
Add lots of comments explaining things in the code.  Also fix parsing
of Beta updates which have hrev version numbers with an extra bit at
the end, like hrev12345_67.  Include architecture in the GRUB menu
title, so you can tell 32 bit and 64 bit installs apart.  Switch
back to #!/usr/bin/sh, like all the other probes do.

Change-Id: Id47afe5029369c739d5177b1dd917c7d1d631ad6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4498
Reviewed-by: Alexander G. M. Smith <agmsmith@ncf.ca>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-10-05 16:07:01 +00:00
Alexander G. M. Smith
c09821c07d 3rdparty/os_probe: August 2015 version of 83Haiku.
This one seems to be the final collated version with the previous
patches and ideas all included.  It's version 42 (dated 20150811)
put together by Jeroen Oortwijn at
https://bazaar.launchpad.net/~idefix/ubuntu/trusty/os-prober/HaikuPM/files/head:/os-probes/mounted/x86

Change-Id: Ia7f276b45a5766c5f5bf1495d3726e5d475e2eee
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4497
Reviewed-by: Alexander G. M. Smith <agmsmith@ncf.ca>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-10-05 16:07:01 +00:00
Alexander G. M. Smith
3958b5545b 3rdparty/os_probe: First 83haiku with Package Manager support.
Change-Id: I9c660b1569b5439f2cd9088fde4e96512e7817d8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4496
Reviewed-by: Alexander G. M. Smith <agmsmith@ncf.ca>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-10-05 16:07:01 +00:00
Alexander G. M. Smith
0235470472 3rdparty/os_probe: Original 83haiku GRUB auto detect Haiku.
Original version of 83haiku as seen in Debian Linux, for detecting
pre-package based Haiku OS and automatically setting up a GRUB
boot menu item for bootable Haiku partitions.

Change-Id: I0d1fe4c9b395e7912b2398ab6bac5c25d92aa64a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4495
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Alexander G. M. Smith <agmsmith@ncf.ca>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-10-05 16:07:01 +00:00
Coldfirex
1286f0ccc0 hda:sync intel ids list from freebsd
Change-Id: I8a9610a10709de1d54f315d4868b7b4001c06a0f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4500
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-10-05 13:30:47 +00:00
Alexander von Gluck IV
7f276d8306 hda/intel: disable MISCBDCGE on chip init
* Disabled Misc Backbone Dynamic Clock Gating during init.
* The alsa and linux kernel drivers both do this on
  these skylake HD Audio chipsets.
  First iteration:
  https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=6639484dda
  Later iteration (all skylake and broxton):
  https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/sound/pci/hda/hda_intel.c#n555

Change-Id: Id914fb5541f7020b9edb4fa635fcfffde9847663
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4556
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-10-05 13:25:39 +00:00
Jérôme Duval
65496b3a28 matrox: SMAP fixes
tested with success at least on VGA, see #16069. Thanks TmTFx and rudolfc!

Change-Id: I4183416b09216b111984658eb8b23c8f62a0e36d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2762
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-10-04 15:15:22 +00:00
Rudolf Cornelissen
66af68c2e6 intel_extreme: only primary accelerant should kill the locks. Should fix trouble after closing clones. 2021-10-03 13:49:40 +00:00
Augustin Cavalier
7aa5574713 kernel & addons: Build with the non-legacy GCC even on x86_gcc2h.
Only one code change: for some reason, GCC chokes on the cr3 functions
as macros (throwing errors about invalid registers.) The BSDs have them
as inline functions instead, so they are converted to that here.

Tested and working. There seems to be about a 10% decrease in CPU time
on some compilation benchmarks that I briefly tried.

Change-Id: I31666297394d7619f83fca6ff5f933ddd6f07420
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4515
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-10-02 18:29:40 +00:00
Jérôme Duval
407f08de29 usb_disk: fix SMAP violation for B_GET_MEDIA_STATUS ioctl
should fix #17283. To be tested.

Change-Id: If594129a6e16b50c314efa2a7bb1d18e01cdad15
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4505
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-10-02 15:06:29 +00:00
Autocomitter
92c0f8bf27 Update translations from Pootle 2021-10-02 08:46:11 +00:00
Augustin Cavalier
c4eec9f1e8 Distinguish KERNEL_ARCH_DIR from KERNEL_ARCH.
On x86_64, the KERNEL_ARCH should really be "x86_64", but it was "x86"
as the architecture sources/headers directory is shared between 32 and 64 bit.

Should not be a functional change on any platform outside x86_64.
2021-10-01 16:26:45 -04:00
Murai Takashi
2cc1b23d48 boot/platform/efi/arch/x86_64: fix -Warray-bounds
Size of gBootGDT[] is 'USER_DATA_SEGMENT + 1' defined at line 26,
and it equals USER_CODE_SEGMENT, so gBootGDT[USER_CODE_SEGMENT]
is out of bounds at line 44.

Change-Id: I1374f4d1185b6a47f910ac128d49a07cdd80d925
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4536
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-10-01 13:55:43 +00:00
Augustin Cavalier
1496cfe1de Remove now-unused WiFi firmware binaries from the repository.
They were outsourced in the previous commit.
2021-09-30 19:24:03 -04:00
Augustin Cavalier
7fd8b4addd Outsource most WiFi firmwares.
Some are still in-tree and need to be removed, but this takes care
of all recent Intel, Realtek, and also the old Ralink chips.

This cuts down the size of haiku.hpkg by close to 10MB.
2021-09-30 19:23:22 -04:00
Augustin Cavalier
e8a8e39533 Update build-packages for x86_64.
Introduces libraw and libavif for the translators.
2021-09-30 19:12:43 -04:00
Augustin Cavalier
30e3418589 Revert "Jamfiles: Repace TARGET_PACKAGING_ARCH with TARGET_KERNEL_ARCH in a few places."
This reverts commit 6683314327.
2021-09-30 18:47:40 -04:00
Augustin Cavalier
e87395438a Revert "Jamfiles: Repace TARGET_PACKAGING_ARCH with TARGET_KERNEL_ARCH in a few places."
Previous revert inadvertently staged a different version. That's what I get for
rebasing 3 things at one time...

This reverts commit 6683314327.
2021-09-30 18:44:16 -04:00
Augustin Cavalier
24e15920a2 Update build-packages for x86_gcc2.
zstd is left disabled on GCC2 despite being added due to problems in kernel-land.
2021-09-30 18:40:06 -04:00
Augustin Cavalier
4319e24c4e Revert "Jamfiles: Repace TARGET_PACKAGING_ARCH with TARGET_KERNEL_ARCH in a few places."
This reverts commit 6683314327.

Apparently, on closer inspection, this is not actually correct:
TARGET_KERNEL_ARCH is "x86" even on gcc2, and not an index into
the TARGET_CC_* etc. variable sets. That is pretty confusing and should
probably be fixed.
2021-09-30 18:36:05 -04:00
Augustin Cavalier
1bcecb98c3 nvme_disk: Add structure padding for 32-bit.
The static asserts are broken on GCC2 and so did not catch this. It appears
nobody has ever tried to use this structure on 32-bit plaforms in the upstream
libraries or SPDK/DPDK?

Fixes #15212.
2021-09-30 18:05:16 -04:00
Augustin Cavalier
6683314327 Jamfiles: Repace TARGET_PACKAGING_ARCH with TARGET_KERNEL_ARCH in a few places.
This is more technically correct.
2021-09-30 18:03:29 -04:00
Augustin Cavalier
ec29597345 freebsd_network: Put MII and USB headers in the common generated directory.
They are not in any way architecture-specific. Simplifies the various driver Jamfiles.
This also paves the way for some upcoming changes that make the kernel always be built
with the non-legacy GCC...
2021-09-30 18:03:29 -04:00
Augustin Cavalier
2aaa4f6aad package_infos: Fold x86_gcc2/haiku into generic.
Only a few #ifdefs now required. Verified the generated packageinfos
are identical at the end.
2021-09-30 14:06:45 -04:00
Augustin Cavalier
7f4c5a1fe7 launch_daemon: Do not return errors from RegisterExternalEvent.
We will pick up events that have no match later on, and if we return
an error here, it will prevent the job from being initialized, which
we definitely do not want.

Fixes #17291.
2021-09-30 13:25:54 -04:00
Augustin Cavalier
63b76faeea Break translators out of haiku.hpkg into a separate haiku_datatranslators.hpkg.
Translators and media-plugins are the main source of dependencies in haiku.hpkg,
and thus the main source of packages being pulled into chroots, especially
HaikuPorter chroots. (FFmpeg pulls in a rather large array of sub-
dependencies, itself.) So, here we break all the translators into their
own sub-package.

For now, haiku.hpkg is declared to depend on haiku_datatranslators,
so that users will not suddenly update and have no translators.
In the future, this will be dropped.

Note that this is only done for the primary arch at present.
Secondary architecture translators remain in the main secondary package
for now.

Change-Id: Id0b352f34f7110b79ec7787792bf3ae0edab4054
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4477
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-09-30 16:38:36 +00:00
Franck LeCodeur
7b1db53111 network/datalink_protocols: Enable Werror as there are no related warnings
Part of #9460

Change-Id: Ibcc30af0c2d351742cbedd6df15b2880b92edfee
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4513
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-09-30 13:33:30 +00:00
Franck LeCodeur
521f76b999 network/stack: Enable Werror as there are no related warnings
Part of #9460

Change-Id: I4958c99c828a34343481b8e6ada877c9124411a8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4512
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-09-30 13:33:30 +00:00
Augustin Cavalier
81eacf8d4f highpoint_ide_pci: Rework tracing.
* Rename TRACE to INFO as it is always enabled.
 * Rename TRACE_EXT to TRACE in line with other drivers.
 * Move most previously-TRACE-now-INFO message to TRACE,
   removing them from debug output.

This should get rid of the Highpoint-IDE syslog spam in every boot log.
2021-09-29 15:37:56 -04:00
Augustin Cavalier
627dc1ffed USB: Less-than-equals comparison for length and MAX_FRAGMENT_SIZE.
We want to continue iterating until we have either reached the end
of the vectors or until we know that length is greater than MAX_FRAGMENT_SIZE,
so we need <= here, not <.
2021-09-29 13:35:32 -04:00
Augustin Cavalier
895e0c8a32 launch/system: Use single-line "on" trigger.
The "user" launch file already uses this everywhere, so
we may as well save a few characters.
2021-09-29 13:33:21 -04:00
Alexander von Gluck IV
4ef28d2f12 image/definition: Add missing empty control_look, opengl dirs
Change-Id: I3db814c7a05666f4755f3375ec7d5f4295b24d84
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4507
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-09-29 15:50:02 +00:00