Commit Graph

63197 Commits

Author SHA1 Message Date
Adrien Destugues
60ffcc21fb radeon_hd: move some atombios headers to private/graphics
These will be needed to implement custom modes in the VESA driver.

Change-Id: I9b52de691baa14e1f1a3ccce500ced9bb040b113
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4622
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-10-20 17:17:18 +00:00
Adrien Destugues
ed7b6396e3 bios: make the BIOS writable
This will be used for live patching of the VESA BIOS.

Change-Id: I66c2dfd950262b5ba4d1e7b424eac46f0695297a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4621
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-10-20 17:17:18 +00:00
Augustin Cavalier
411ccfeb96 app_server: Treat the framebuffer driver as a special case like VESA.
This should resolve the problems where the framebuffer driver was
getting picked instead of the "real" graphics driver, when available,
which led to the framebuffer driver getting merged back into the VESA
driver.

Change-Id: I4ad00d2ac3b5dda34aa63f8691d4cbb85e4f6bb5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4616
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-10-20 17:12:21 +00:00
Augustin Cavalier
66415cd209 Remove dumb-framebuffer handling logic from the VESA driver.
This reverts commit a0db7ef272.
This reverts commit 40cdf7d607.
This reverts commit 2ff22d6734.
This reverts commit b9eacd390d.
This partially reverts commit 5ae7ac5fd9.

This was all added in the run-up to the removal of the framebuffer driver,
or was added since then to enhance framebuffer-only support in that driver.

Change-Id: I32ab8199f22cf6846545ae19e943c98012b2a1d0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4615
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-10-20 17:12:21 +00:00
Augustin Cavalier
f7bd3509e3 Bring back the framebuffer driver and accelerant.
This reverts commit 72fc5e6a71.

They were removed because app_server often picked them instead of
a better graphics driver, and fallbacks merged into VESA instead.
That seems to have created more problems than it solved, in the long run,
and so the intent now is to change app_server to understand the
framebuffer driver as a fallback one instead.

Change-Id: I6edd97fb29ed2b9c13c6c540569695c8426ecfd7
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4614
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-10-20 17:12:21 +00:00
Jérôme Duval
b7a1261eef pci: support 64-bit BAR addressing for MSI-X memory mappings
Change-Id: I463de6aeb45d34e68e888a7648546acddb3fd57a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4613
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-10-20 14:03:08 +00:00
Augustin Cavalier
d029b0dd9f Control looks do not need to link against app_server. 2021-10-19 21:57:31 -04:00
Augustin Cavalier
7cee071659 FlatControlLook: Various clean-ups.
* Do not rely on symbols overriding other symbols, which is
   not a safe assumption and not good practice either. Instead,
   move all methods into FlatControlLook.

 * Reorganize class structures somewhat.

 * Remove unused variables.
2021-10-19 21:54:51 -04:00
Augustin Cavalier
c5325c6690 ArchitectureRules: Increase HAIKU_BOOT_ARCHIVE_IMAGE_OFFSET on x86.
The bootloader is larger after adding zstd and needs more space now.
384 is the value used already on PPC and SPARC. Fixes generating
floppyboot archives for anyboot images following recent changes.
2021-10-19 20:59:26 -04:00
Augustin Cavalier
945c0e0786 HaikuPorts/x86_64: Mesa 21 needs LLVM 9 libs. 2021-10-19 18:27:47 -04:00
Augustin Cavalier
986199c92e boot: Add calloc() implementation to bootloader heap.
Needed by zstd.
2021-10-19 18:25:36 -04:00
Augustin Cavalier
dde8b8972d DemangleTest: Add a test for demangle_symbol_gcc3 without the full demangler.
This tests what 0945c7e4e6 fixed.
Also fix one of the GCC2 tests which had expectation and input swapped.
2021-10-19 18:10:10 -04:00
Augustin Cavalier
adb04d5ad3 haiku_datatranslators: Remove version specification from libavif.
It will be set by update_package_dependencies later in the build anyway.
2021-10-19 18:01:01 -04:00
Augustin Cavalier
d3ed786f07 boot/loader: Add Zstd support. 2021-10-19 17:49:27 -04:00
Augustin Cavalier
7bd549882a boot: Move boot_zlib build out of tarfs directory.
It is also used by packagefs. Another library is coming in the next commit.
2021-10-19 17:45:19 -04:00
Augustin Cavalier
dedd2be949 BuildFeatures: Enable zstd on x86_gcc2.
Now that the kernel is built with GCC8, this does not cause problems.
2021-10-19 16:57:10 -04:00
Augustin Cavalier
96b062f1ce BuildFeatures: Enable AVIFTranslator on more than just x86_64. 2021-10-19 16:54:11 -04:00
Augustin Cavalier
b6442ab7fa BuildFeatures: Fix reference to libavif.
AVIFTranslator now builds.
2021-10-19 16:44:27 -04:00
Augustin Cavalier
c6242ccf75 HaikuPorts/x86_64: Update build-packages set.
Now libavif_devel is properly included.
2021-10-19 16:44:25 -04:00
Augustin Cavalier
1499a3026d tools/hardlink_packages: Trigger an error if there are duplicate package entries.
This would have caught a user error on my part in the last build-packages
update.
2021-10-19 16:44:24 -04:00
Jérôme Duval
f0a567c451 tcp: combine timestamp and sack_permitted options when possible
any ordering is legal, but some devices don't cope with what we do.
thus we reorder sack_permitted before timestamp, this doesn't cost us anything.
noticed by Sikk: https://dev.haiku-os.org/ticket/13681#comment:11

Change-Id: Ic2e1589945dd74e3034a653427a2ff45626b3a76
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4598
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-10-19 19:27:42 +00:00
Augustin Cavalier
eb1d596ff6 Remove B_FILE_NOT_FOUND from public headers.
Now that it is not used anywhere in the source tree following
previous commits.

Change-Id: Id2fc417a0658d09148e99587c613a928f1fbe4c2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4611
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-10-19 15:58:54 +00:00
Augustin Cavalier
6209570e34 Replace usages of B_FILE_NOT_FOUND in public-facing APIs.
As BeOS R5 had deprecated this error code, this should in theory
not cause any particular problems.
2021-10-19 11:34:32 -04:00
Augustin Cavalier
1a3be0addd Replace usages of B_FILE_NOT_FOUND in non-BeOS-API code.
B_FILE_NOT_FOUND was deprecated in BeOS R5 in favor of B_ENTRY_NOT_FOUND,
but it remained in Haiku and was never removed even conditionally, so
we have accumulated a number of usages of it.

This commit changes all the usages of it in new code, applications,
or anything else that BeOS applications will otherwise never see,
and so should be relatively safe.
2021-10-19 11:33:47 -04:00
Felix Ehlers
36df12a51a diskprobe: Add striped look and vertical line separators
* vertical lines per 4 bytes displayed
* striped line colors

Change-Id: I08508f15a60c5ceab8e3088faca9c03576c129e0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4563
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-10-19 08:24:06 +00:00
Kacper Kasper
ba6a1df423 MediaPlayer: cache file duration in memory
* SetAttribute() will fail for read-only volumes.
* Duration() is called in playlist's Draw() method.
  Since _CalculateDuration() is very expensive because it parses
  file metadata, it causes visible drawing glitches and playlist is
  almost unusable.
* Mitigates #15221. I don't consider this a fix because first draw
  is still going to block for a long time, but at least scrolling
  works smoothly now. Ideally, file metadata would be parsed
  asynchronously in a separate thread and drawn as it becomes
  available.

Change-Id: If198d61c77a7746bcc0e19b7caeed89ce829c247
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4597
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-10-19 08:21:43 +00:00
Adrien Destugues
3e9824f9ef tty: move the "tty" KDL command to the generic tty module.
Currently I'm trying to debug things using the generic tty module, and I
can't use the command from the driver for that. I hope someday the
driver and module will use the same structure for the ttys and can share
the same command...

Change-Id: I167dab600ac8567368604f9b6463f787857f4d20
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4602
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-10-19 08:19:26 +00:00
Adrien Destugues
e7a62c420f tty: synchronize the driver and module sourcecode a bit
The tty module started its life as a copy of the driver, and they
diverged over time as fixes and refactorings were not always brought to
both sides.

This commit does not improve the situation, but it tries to make the
two versions of the tty_private.h and tty.cpp files as similar as
possible to ease comparison.

Change-Id: I62255262b167ab81c9a0619c8f19b36b1a165fad
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4601
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-10-19 08:19:26 +00:00
Murai Takashi
77c1611f1d net_server: fix wrong type of arguments to formatting function
Pointed out by LGTM

Change-Id: I76c9853d62221718e20b836a27bc0a4253e9a6ea
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4610
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-10-19 08:03:48 +00:00
Murai Takashi
4fd470b7ce network kit: fix wrong type of arguments to formatting function
Pointed out by LGTM

Change-Id: Ifc58fbe8a37c824bffdfa579cb89da1fdb1c383a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4609
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-10-19 08:02:39 +00:00
Murai Takashi
9cd6397fe7 malloc_debug: fix wrong type of arguments to formatting function
Pointed out by LGTM

Change-Id: I7130e655458500fd17b40fb163da6517022cc774
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4608
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-10-19 08:01:59 +00:00
Murai Takashi
5705d286f6 storage kit: fix more wrong type of arguments to formatting function
Pointed out by LGTM

Change-Id: Iee81983a86cd71714dcedcf58f74bcea59ca619d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4607
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-10-19 08:00:48 +00:00
Murai Takashi
d171b8b533 system/boot/loader: fix wrong type of arguments to formatting function
Pointed out by LGTM

Change-Id: Ifd2cce8aa36308791845fe552893e077db47ad0c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4606
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-10-19 08:00:08 +00:00
Murai Takashi
41ed621ea6 bin/debug/strace: fix wrong type of arguments to formatting function
Pointed out by LGTM

Change-Id: If8ca0a8c9b6c3be4c888921a7a704cd351d5e115
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4605
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-10-19 07:58:52 +00:00
Augustin Cavalier
ea7b7a5408 kernel/debug: Set sDebuggerOnCPU as soon as possible.
This variable is what debug_debugger_running() checks to determine
if the debugger is in fact running. Before this commit, it was not
set until *after* calling debugger module hooks; now it is called
before them.

This fixes #17302. The problem there was that the USB stack gained
an ASSERT(debug_debugger_running()) in code that is called in the
USB keyboard debug module initialization, which before this commit
would trip, and then enter an infinite loop as panic() does not work
during debugger startup. Now the assert is true and everything works
as it did before.
2021-10-18 22:56:03 -04:00
Augustin Cavalier
69880fc7cb nvme_disk: Check addresses are 32-bit-aligned before deciding we do not need to bounce.
This should fix #16973.
2021-10-18 16:32:33 -04:00
Augustin Cavalier
62571f5eb4 nvme_disk: Disable MSI-X support for now.
It is broken under QEMU, and it may well be on real hardware, too.
More investigation is required.
2021-10-18 16:32:32 -04:00
Augustin Cavalier
f7179d9f41 nvme_disk: Improve nvme_pcicfg_map_bar logic.
The 64-bit address accounting that was added used a hardcoded bar of 0,
which is not what we want here, so use the correct offsets instead.
Also account for sizes, too.
2021-10-18 16:32:32 -04:00
Augustin Cavalier
8f5199f019 nvme_disk: Unconditionally mask off PCI_command_int_disable.
Otherwise legacy interrupts do not work at all on x86.
This fixes hrev55299, which contrary to the commit message,
did not "add" legacy interrupts support; it was already there,
and in fact that commit broke it on x86.
2021-10-18 16:32:32 -04:00
Franck LeCodeur
628ddb2790 usb_webcam: Fix warnings and enable Werror
Done as part of #9460

Change-Id: I45f53451c91d63f5e5170234c75a831472cfffc7
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4501
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-10-18 16:28:20 +00:00
Franck LeCodeur
5b38b945ae flaticon: Fix warnings due to type punning
Original warnings:

In function ‘bool BPrivate::Icon::read_float_24(BPrivate::Icon::LittleEndianBuffer&, float&)’:
/s/src/libs/icon/flat_icon/FlatIconFormat.cpp:94:20:
warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
   _value = (float&)value;
                    ^~~~~
/s/src/libs/icon/flat_icon/FlatIconFormat.cpp:108:26: warning:
dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  uint32 value = (uint32&)_value;
                          ^~~~~~

Change-Id: Ibe1facde0d37beefd5bcf542c89502bac2384034
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4499
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-10-18 16:28:20 +00:00
Alexander G. M. Smith
610f99c838 3rdparty/os_probe: Use Debian's #!/bin/sh.
Had a look at the actual Debian os-prober (1.79) package and found
that they use /bin/sh as their shell for all their os-prober scripts.
So for Fedora and other downstream packages, someone must be going
through all the scripts and changing them to /usr/bin/sh.  Switch
to the Debian variety since they're the upstream of everybody for this.

Change-Id: I2bed8cb133640861311061261ff0cae8ae6f2648
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4599
Reviewed-by: Alexander G. M. Smith <agmsmith@ncf.ca>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-10-17 18:09:26 +00:00
Rudolf Cornelissen
3a9bb1e729 intel_extreme: updated PLL restricts, updated set- and proposemode. Requested modes are now set more precise. 2021-10-16 21:15:11 +00:00
Adrien Destugues
6846668fd7 runime_loader: fix typo from hrev55497 2021-10-16 20:58:54 +02:00
Autocomitter
8c12a59297 Update translations from Pootle 2021-10-16 08:51:27 +00:00
Jérôme Duval
52b4ed6028 Errors.h: add ENOTRECOVERABLE and EOWNERDEAD from POSIX
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/errno.h.html
Change-Id: I3c0a08d447c897b3caba8d365f8e5dbab7869f18
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4573
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-10-16 08:23:28 +00:00
Rudolf Cornelissen
17cd86cd91 intel_extreme: retain requested refreshrate in proposemode. 2021-10-15 00:22:44 +00:00
Fredrik Holmqvist
b5d451373e Revert "arm64: Add missing fdt storage for FDT bus"
This reverts commit 3e8376c6dd.

Reason for revert: Bootloader currently fails to load kernel

It should be added back once the kernel can start.

Change-Id: Iebefbf8681aff4dff09cef7b7eb832b61f7789c7
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4579
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-10-14 19:52:47 +00:00
Jérôme Duval
f89943d822 build/x86: also test the stack protector on x86 secondary arch
on x86, gcc emits a local reference to __stack_chk_fail_local
which can only be provided by a static library. as we don't have
a libroot_nonshared, we use libgcc from gcc, in which libssp_nonshared
was merged, from version 8.3.0_2019_05_24-11.

Change-Id: I22bf26dec5c1fe69a3915a923bd716a494f846ce
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4564
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-10-14 19:42:07 +00:00
Máximo Castañeda
b009ef381b AlphaMask: fix bounds of inverse masks
For inverse masks the real bounds rect is the canvas, as the points that
pass through are the ones not drawn.

Change-Id: I420a5eca419b215b55e4c2362e2c7646465a4cd3
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4455
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-10-14 18:49:18 +00:00