Commit Graph

63375 Commits

Author SHA1 Message Date
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
Máximo Castañeda c10931f3b0 app_server tests: stacking of inverse clipping
A few visual tests of clipping composition with different combinations of
layers with and without the inverse bit.

Change-Id: Icddb377508733463378f93b24075fd06e54ef2cb
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4454
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-10-14 18:49:18 +00:00
Franck LeCodeur 23d7ddafcc input_server/methods/pen: Enable Werror as there are no related warnings
Part of #9460

Change-Id: I73a23fb2a346ab12ae95652de21f215c2a227c9e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4566
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-10-14 16:46:44 +00:00
Franck LeCodeur 2453e792d5 bus_managers/firewire: Enable Werror as there are no related warnings
Part of #9460

Change-Id: I236519962aaac58de45a4054bfb51ceb9a93df15
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4565
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-10-14 16:46:44 +00:00
Fredrik Holmqvist 48eb7d981d Allow gcc to know result is aligned
Someone on the internet found out gcc only understand posix_memalign.

The alloc_align attribute may be applied to a function that returns
a pointer and takes at least one argument of an integer or enumerated
type. It indicates that the returned pointer is aligned on a boundary
given by the function argument at position.

Change-Id: I4b0af6ef3020da1fb460652117286193d5d72f1e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4514
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-10-14 16:19:18 +00:00
Coldfirex 4a850ca730 PoorMan: update thttpd from 2.25b to 2.29
http://www.acme.com/software/thttpd/#releasenotes
Compiled on 32 and 64bit, ran PoorMan, and verified it served webpage and shows logs correctly.

Change-Id: I23fdf0f9910089aa8e24bb66ed7fb49b065b5577
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4404
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-10-12 14:15:53 +00:00
Alexander von Gluck IV 3e8376c6dd arm64: Add missing fdt storage for FDT bus
Change-Id: Ifadd47204be1ec688017a567d43dca38c80bd1df
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4431
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
2021-10-12 13:55:53 +00:00
Alexander von Gluck IV d4ca1c6746 arm: Add missing gFDT storage for FDT bus
Change-Id: I7c7eaa72515ecb5c2e50c089ceb7428b4bafbf22
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4430
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-10-12 13:55:32 +00:00
Adrien Destugues d29af2b6eb ArchitectureRules: Grooming of EnableWerror list
- All network add-ons are now built with Werror, collapse the list to a
  single entry
- Add a few busses add-ons that were not listed (to be checked and fixed if
  needed)
2021-10-11 21:31:09 +02:00
Franck LeCodeur b06bf005c5 drivers/bus: Enable Werror as there are no related warnings
Part of #9460

Change-Id: Ic88a45e0d548098d076f73ef39bd149d7a82546a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4569
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-10-11 19:26:08 +00:00
Franck LeCodeur 4ff75b9c6c drivers/power: Enable Werror as there are no related warnings
Part of #9460

Change-Id: Ia8dad5c0c4b8d3efaa3205bb8bf6cc2eb6b4e95d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4568
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-10-11 19:26:08 +00:00
Franck LeCodeur 9170263e93 kernel/debugger: Fix warnings and enable Werror
Add one missing include and change variable declaration types to match comparison type.

Part of #9460

Change-Id: I95a12e5db11f95c2fd7c1906eaabdc5e21236cf1
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4567
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-10-11 19:26:08 +00:00
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