Compare commits

...

841 Commits

Author SHA1 Message Date
David Karoly 18e885db51 boot/efi: implement convert_kernel_args for 32-bit
Change-Id: I528d6f8ca576b38c50dc314972636e7156d24705
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4784
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-12-17 08:58:57 +00:00
David Karoly af90bfd3bb boot/efi: introduce arch_convert_kernel_args
Change-Id: Iabb321564d6733c6cf481ec2548fa287e308ae89
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4796
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-12-17 08:58:57 +00:00
Augustin Cavalier e94ea7bc22 UDP: Fix double-reference of DomainSupport.
PulkoMandy in cb3199681e changed
the _GetDomainSupport functions to always Ref() the the object.
However, that means in the case of the second _GetDomainSupport
function, which is implemented in terms of the first, we should
not call Ref() as this will create a double-reference.

Fixes a memory leak.

Change-Id: Ib82b2dadc0c8cc8d8f95efcffeb2430ac602a0a9
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4791
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-12-16 08:55:55 +00:00
David Karoly c1e0007eea virtio-mmio: add initialization for legacy mode (version 1)
Change-Id: I4dcfca8cfabafad592b638b28215225b1cca35d2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4657
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-12-15 15:55:50 +00:00
David Karoly f0adfe2a54 boot/efi: fix dummy reloc for x86
Change-Id: Ia61d593c8d131bd6780688ea932b5b92bd629764
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4748
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
2021-12-14 19:56:21 +00:00
David Karoly 1a7afaa45b boot/efi: fix for garbled first item returned by mmu_next_region()
Change-Id: Ic9d02800bccbb5508eeb0b2c1ee1ed1326d0829f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4783
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-12-14 19:48:38 +00:00
David Karoly 20efe26dfa boot/efi/arm: fix printout of kernel entry address on startup
Change-Id: If3d592983e1c22210c6b4d3a6ceaf2a7641e7e7a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4785
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
2021-12-14 19:46:50 +00:00
David Karoly 1f6e2499db ldscripts/x86: add ldscript for EFI loader
Linker script is adapted from elf_ia32_efi.lds in GNU-EFI.
see:
https://sourceforge.net/p/gnu-efi/code/ci/master/tree/gnuefi/elf_ia32_efi.lds

The only significant change is the additions of ctors.

Change-Id: I1091f610129f806f124d714fd9a42cf932fa1c2d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4746
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
2021-12-14 19:44:23 +00:00
David Karoly d223f9d9c2 boot/efi/serial: fix legacy mode for x86
Change-Id: I44fd33289da94e9520c6c202ac96c4ca8e511638
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4754
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
2021-12-14 13:19:14 +00:00
David Karoly a857758352 boot/efi/x86: fix address for arch args
Change-Id: If9a3bb32cb8d290f97cee2e8e821dcbf8b8852a8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4789
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
2021-12-14 11:15:37 +00:00
Jérôme Duval d057f0aedd lgtm.yml: disable Wformat-diag when building gcc
LGTM seems to provide GCC 9.2, for which the flag -Wformat-diag is falsely
detected as supported.

Change-Id: I95a5946d9c6cd2af73e85070973f855fba3fcc39
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4786
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-12-14 06:06:41 +00:00
David Karoly 3896dbcb1d kernel/arch/arm: fix missing return statement in rtc
Change-Id: Ib5a2e06884b6973ed102b30b1339a7b800c95418
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4781
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-12-13 14:47:10 +00:00
Murai Takashi 771516d7f0 lgtm.yml: add g++ to prerequisite software
LGTM build failed since -Wformat-diag check is failed.
So we add g++ to check its version in LGTM.
May help to fix #17460.

Change-Id: I9400dbbab7800c522bf7ed797adae48299581a4e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4780
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-12-13 13:59:38 +00:00
Alexander von Gluck IV 000310809f debugger: fix warning format-overflow= '%s' directive arg is null
Change-Id: Iba00fbcc3f8fde088bed62b93c4e3acae4e0b902
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4777
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-12-13 10:23:24 +00:00
Alexander von Gluck IV 4c8e85b316 3rdparty/docker/bootstrap: Fix bootstrap container
* Update for newer git (init -b support)
* Fix configure args for new cross-tools-source

Change-Id: I757a1a48affb8cd98ddd8a0890393bdb6bc2a81f
2021-12-12 14:24:21 -06:00
X512 8ca0f03d0c riscv64/smp: Implement multi-processor support
* Working under qemu smp 1,2+
* Working on SiFive Unmatched
* x86_64 efi not broken by smp_boot_other_cpus change

Change-Id: I32ebc17913e46ed082be9ade8f56448bbf12f16e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4705
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-12-12 15:35:24 +00:00
Augustin Cavalier 0cdb323800 app_server & Application Kit: Fix bitmap cursor handling.
Using a memcpy here is supremely dangerous, because we are writing to
an app_server buffer that we chose the length for, but using a size
that came from the client. And, indeed, because the buffer can contain
padding if the BBitmap was allocated with a non-standard BytesPerRow,
we will overflow the buffer and corrupt memory, causing app_server to crash.

So, instead, reorganize parameters a bit, and pass BytesPerRow along
with the other data needed to instantiate the bitmap, and then use
ImportBits.

Fixes an app_server crash I triggered with the experimental libX11
compatibility layer.
2021-12-11 21:44:59 -05:00
Alexander von Gluck IV 662912945f radeon_hd/pll: Guard bpc on non-HDMI under table 1.5,1.6
* Cut extra calls to display_get_encoder_mode
* Correct incorrect ucMiscInfo on table 1.6 via atombios
  comments

Change-Id: Ib6d7938269b8421d3711c1344eab0b9842336932
2021-12-11 10:30:43 -06:00
Alexander von Gluck IV 3084929f81 radeon_hd/pll: Fix pll MiscInfo on table 1.5
* Looks like some error in atombios. AMD just
  reversed the values instead of fixing the atom.h
  defines in Linux.

Change-Id: I440682af5708ce0da1625e8f50e8cb77595c8397
2021-12-11 10:19:13 -06:00
X512 98296c4a29 haiku_loader.efi: fix build for riscv64
Change-Id: I83f4b45ea950e81fdd712644433266401c0747bd
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4774
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-12-11 15:35:02 +00:00
Alexander von Gluck IV e87cba3470 radeon_hd: Add handling of connector routing
* A first attempt at improving on #17377
* We haven't actually seen any cards using this
  routing stuff yet pre-navi.
* We don't use the router information yet... but this might
  improve things a bit on new cards.

Change-Id: I17962dfd8bb09e619a6084cd9571ccb9832fb19a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4697
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-12-11 14:19:00 +00:00
David Karoly 6e28efbb5f platform/efi/devices: fix build when TRACE is enabled
Change-Id: If9ea3212b7908aaa6c9c6774cb68a6dbf635a5ac
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4761
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-12-11 14:16:34 +00:00
David Karoly 1103466926 build ARM EFI bootloader with soft-float
Change-Id: If7feffafea4fc6d295d04f696127c8f0fbd8fb9d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4704
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-12-11 14:07:06 +00:00
David Karoly 69f4a74149 link bootloader with libgcc-boot.a and libsupc++-boot.a on ARM
Change-Id: Ia7f41191136db3ea34ed6abee97ae627bb7b1727
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4703
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-12-11 14:07:06 +00:00
David Karoly 123aa1325c boot/efi/arm: enable FPU before jumping to kernel
Change-Id: I37bb2146102a207e97355e099f6b4160d644c326
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4701
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-12-11 14:07:06 +00:00
Jérôme Duval 17e8767959 intel_extreme: define bdb header values, check panel type.
Change-Id: I2e5b61da9aecc11be13178a0b48211d172454d94
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4773
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-12-11 13:30:20 +00:00
Rudolf Cornelissen d2e4af7873 intel_extreme: expand bios scan for panel a bit, might help ticket #17451 2021-12-11 12:21:42 +00:00
Augustin Cavalier 84c9ff3ee5 net80211: Work around #17458.
Until the cause can be properly determined, anyway.
2021-12-10 21:48:27 -05:00
Augustin Cavalier 08236b3b59 libroot: Force __cxa_pure_virtual to be linked in libroot_debug too. 2021-12-10 21:34:44 -05:00
Augustin Cavalier 7959ac39f1 kernel/condition_variable: Unblock after unset, if possible.
The previous round of this code unblocked after unset universally,
but that was incorrect in the case where the thread was not in
the "waiting" state before we unset. Yesterday I changed that to
just unblock before unset universally.

It seems, however, that thread_unblock is so time-consuming
that the other thread will wake up and begin doing things
before unblock returns for us, and then it will hit the timeout
before we have a chance to unset. So, now we unblock later
if it is possible to do so.

It seems very strange, though, that thread_unblock will
not return in a small but significant number of cases
before the unblocked thread actually starts running (note
that we are in interrupts-disabled mode here, so that is
not the problem.) That sounds like a problem for another day.

Should fix #17455, possibly in tandem with the previous commit.
2021-12-08 17:39:02 -05:00
Augustin Cavalier 145526308a kernel/condition_variable: Increase tries count.
Should help with timeout panics occurring, at least somewhat.
2021-12-08 17:33:08 -05:00
Augustin Cavalier 6ae7f1f12d XHCI: Consolidate xhci_device cleanup routine and use it in AllocateDevice.
This also fixes a leak of slots when initializing devices failed.
Fixes #16323, although there is some other underlying problem
which led to that error in the first place.
2021-12-08 12:59:45 -05:00
Augustin Cavalier 2b4a870a7f packagefs: Prevent signed integer overflow in Query::IndexGetWeightedScore.
As the comment already noted, the maximum input score is 2048,
and 2048*1024*1024 overflows int32. Subtract 1 from maxFactor
to prevent this.
2021-12-08 12:26:30 -05:00
Augustin Cavalier fb25e7349d scsi_cd: Remove unused code. 2021-12-08 12:25:09 -05:00
Augustin Cavalier ca89fd65a6 HaikuPorts: Mesa on x86_gcc2h needs llvm9. 2021-12-07 22:43:06 -05:00
Augustin Cavalier f207629e04 MACLib: Only define min & max if we are on GCC2.
Otherwise they will be pulled in from <algorithm>.
2021-12-07 22:19:31 -05:00
Augustin Cavalier 36a1e12f21 kernel/vm: Cast temporary to uint32.
It is defined as a uint32:1, which apparently becomes an "int" on
newer GCC versions, which thus triggers a -Werror=format. So,
convert it explicitly in order to prevent the error.
2021-12-07 21:24:00 -05:00
Augustin Cavalier a81d165008 Update build-packages for GCC 11 upgrade. 2021-12-07 14:26:24 -05:00
Augustin Cavalier c52bbf73b5 ArchitectureRules: Adjustments to Werror flags for GCC 11. 2021-12-07 14:24:15 -05:00
Augustin Cavalier dbaef85011 configure: Use IS_LEGACY_GCC instead of manually comparing GCC versions. 2021-12-07 14:22:54 -05:00
Augustin Cavalier f0213b4407 EXTranslator: Disambiguate clamp(). 2021-12-07 14:22:24 -05:00
Augustin Cavalier 365c228de7 RTFTranslator: Remove some dynamic exception specifications. 2021-12-07 14:22:12 -05:00
Augustin Cavalier db911197a0 libroot: Force __cxa_pure_virtual to be linked in.
In GCC 8 builds it is by default, in GCC 11 builds it is weakly
defined, which runtime_loader does not yet support properly,
so we force it to be included.
2021-12-07 14:21:52 -05:00
Augustin Cavalier 7ce3c9283e kernel/condition_variable: Unblock earlier and simplify the code more.
Unblocking after unsetting fVariable just causes too many headaches
and corner cases to deal with; the code as-is did not actually handle
all of them, as it missed the case where the entry thread had called
thread_prepare_to_block but had not yet actually blocked.

Hopefully the last fix for #17444.
2021-12-07 14:15:54 -05:00
Augustin Cavalier acdd232ad5 kernel/condition_variable: Check thread->state before unblock.
See inline comments. Should help with #17444.
2021-12-07 13:30:36 -05:00
David Karoly b3780b5658 kernel/arch/arm/int: enable OMAP3 and PXA intc drivers
Change-Id: I83ab8cd4c474bd374f66a39d9a60c778dd7033e8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4757
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-12-07 10:58:24 +00:00
David Karoly 36d65a7890 kernel/arch/arm/int: add initialization code for GICv2
Change-Id: I4f98a4e0277ce37e758cabbb04806cf13f351f1e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4674
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-12-07 10:58:24 +00:00
David Karoly 354655e136 boot/efi/dtb: implement interrupt controller detection
Change-Id: I045a94c5bcb7c16297bc6fdd1fa2981e5b3f3a62
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4756
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-12-07 10:58:24 +00:00
Jérôme Duval 09a8f74d70 intel_extreme: add PCH definitions for some platforms
Change-Id: Id91f8fb526825cc62cd4288bee4a6d08dfd6654a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4764
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-12-07 08:32:49 +00:00
Rudolf Cornelissen a4493afb60 intel_extreme: fixed small error, forgot to (re)set default refclk for DP. 2021-12-07 00:48:58 +00:00
Rudolf Cornelissen 9ef22aa9d7 intel_extreme:DP links on sky- upto/incl coffeelake are now done (refclk detection added) 2021-12-07 00:42:42 +00:00
Lt-Henry 6c88202d33 hid_shared: factorize more code between USB and HID
* Removed i2c keyboard handler, as it was just a hid shared handler duplicate with kdl stuff removed
* I've created a new macro def for the kdl code, splitting generic kdl code from specific usb one
* I2C custom KDL code can be added in the future (I don't know if it is already possible)

I am not very happy with this solution, but imho it is better than having two keyboard handlers. In fact, they were already out of sync from last patch series

Change-Id: I36513e57a2ce4f004fc7e05ccff5a6b2517fc139
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4758
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-12-06 19:49:02 +00:00
Augustin Cavalier 858210daf4 kernel/condition_variable: Acquire thread->scheduler_lock before unsetting fVariable.
This fixes a race condition as described in the inline comment.

Hopefully fixes #17444.
2021-12-06 13:11:28 -05:00
Jérôme Duval 949005a59b strace: handle parallel syscalls on different threads
If a thread executes a system call and meanwhile a different thread calls another one, then
the ongoing call is marked as unfinished. When the call returns it will be marked as resumed.

* remove PreSyscall, now unused.

Change-Id: Iea45b866be2c40568d766c2ed3cc73e34b9d1293
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4765
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-12-06 17:22:50 +00:00
David Karoly f18aba2ca8 BootRules: use non-legacy ld
Change-Id: I0dc6a1c8731e710a9c43b6dfa5ea08c84fa5d3a6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4759
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-12-06 03:08:27 +00:00
David Karoly 8032682c23 OverriddenJamRules: sort out build flags for .S files
Change-Id: I1ad67e1aab3911e7b66dc801923e8ba5cc1e087d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4755
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-12-06 03:08:27 +00:00
Jérôme Duval 39782e55fa strace: support trace for poll() and select()
in the case of poll(), the events should be printed before the actual syscall,
and the revents after, while taking in account the return value.
thus B_DEBUGGER_MESSAGE_PRE_SYSCALL needs to be enabled and handled.
the attribute "preSyscall" is added to identify such syscalls, and the parameters
are identified with the attribute "inOut".

Change-Id: I390643ea176c720738c5ec4fc75a3a4c7125a3cd
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4763
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-12-06 03:07:41 +00:00
Jérôme Duval c53f760dfe strace: add some constants ioctl from sys/ioctl.h
Change-Id: I100f715f899435c6a9bce775d95da6f755ba55c6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4762
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-12-06 03:07:41 +00:00
Rudolf Cornelissen c80ea54975 intel_extreme: PLLs post skylake work differently again. Refclk update. 2021-12-05 16:56:15 +00:00
Rudolf Cornelissen d60c7e010c intel_extreme: for gen9.5 added new portF to DDI scan. add ID dump in kerneldriver. 2021-12-05 12:47:05 +00:00
Rudolf Cornelissen 77b2dd17df intel_extreme: added DDI link colordepth detection, may fix ticket #17439 2021-12-04 23:24:50 +00:00
Rudolf Cornelissen a33640cc6b intel_extreme: fix 3 and 4 lanes DP connections (ticket #17439) 2021-12-04 00:46:36 +00:00
Augustin Cavalier 3c2597393c kernel/int: Allow arch_int_assign_to_cpu to make its own decisions.
For now this is used on RISCV64 to indicate that interrupts will always
be on CPU 0. However, in the future, some architectures may want
or require interrupts to be "steered" in various ways, and this
also paves the way for that.

Change-Id: Iec79870cf5c4898d102d0e624de19602271ae772
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4721
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-12-03 22:36:47 +00:00
Rudolf Cornelissen 3316cfc9af :intel_extreme: only offer backlight control in screenpres on laptops. 2021-12-04 00:25:49 +00:00
David Karoly 563ac51229 boot/efi: fix compile issue with format strings
Change-Id: I144afe78f73fed211ea1c72584fa5f12e4452454
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4751
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-12-02 12:50:54 +00:00
David Karoly e82b457883 boot/efi/devices: fix warning for comparison signedness
Change-Id: I2a329c91d229a8672536ccdaa2c94db109390308
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4752
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-12-02 12:50:37 +00:00
David Karoly c5d81c2739 build: prepare for x86 EFI loader
Change-Id: Ic9e4181042bf634cd590d8c95935a987a4871b0d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4753
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-12-02 12:50:25 +00:00
David Karoly f5f10a9ec9 boot/efi/arm: remap UART to kernel address space
Change-Id: Iff145a45e8efe28b710d5a948f6f69a944027885
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4744
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-12-02 08:16:31 +00:00
David Karoly 1f46427d16 kernel/arch/arm: introduce virtual_ranges_to_keep
Change-Id: I36b8b871a103f2be87c600fc0b0a12f7ceff0ae4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4743
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-12-02 08:16:31 +00:00
David Karoly 19960ba6f9 boot/efi/dtb: implement interrupt-cells handling
Change-Id: Ia95c2cfecde27cdd6d5a8f0556da7e387eecb07c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4742
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-12-02 08:16:31 +00:00
David Karoly a722fbfc45 kernel/arch/arm: enable 8250 generic and OMAP UART drivers
Change-Id: I45396eada2e9088b27df7fb9522d07e8ac223fd5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4741
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-12-02 08:16:31 +00:00
David Karoly 15951db938 kernel/arch/arm: initialize debug console based on FDT
Change-Id: I759d38185c2f7e75d8ba7120c8d06740720171ec
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4735
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-12-02 08:16:31 +00:00
David Karoly 326b5263de boot/efi/dtb: implement clock frequency resolution for PL011
Factor out the code for clock frequency lookup to a separate function.

PL011 does not have clock-frequency property, it has a clocks property
instead, containing a phandle of the apb clock.

Change-Id: I5cbe2b4b2421afe1924c2804002ceef83ce37ef9
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4734
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-12-02 08:16:31 +00:00
David Karoly ff9497b539 boot/efi/dtb: require exact match for PL011 in device tree
Don't match PL011 for arm,primecell compatibility string
as it can indicate other peripherals.

Primecell peripherals have the generic "arm,primcecell"
name as well as a specific name in the format of "arm,pl???"

see:
https://www.kernel.org/doc/Documentation/devicetree/bindings/arm/primecell.txt

Change-Id: Ida6450e9e71dac834770d558e4ab95c5574970cb
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4733
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-12-02 08:16:31 +00:00
David Karoly 8a18d81d7a boot/arch/arm: disable FPU initialization on bootloader start
Change-Id: Idd71940d22a9004e93f613899725d299a7932d8c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4702
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-12-02 08:07:42 +00:00
dsizzle d1f10fcef9 Added missing --cross-tools-source argument name for bootstrap build and missing \ at the end of line 136
Change-Id: Ie4a6d47d78a1f2eb707c15a53335adee7e370376
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4745
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-12-02 08:05:50 +00:00
Augustin Cavalier 62cdbd253e libbe_build: Add header needed on some systems. 2021-12-01 17:15:23 -05:00
Augustin Cavalier 711e2dc05b Adjust all struct dirent creations (again), this time to use offsetof().
The dirent struct is not packed, so offsetof(dirent, d_name) != sizeof(dirent).
Thus in order not to waste the alignment bytes (which are significant,
on x86_64 at least, sizeof(dirent)==32, but offsetof(...)=26.)

This is also the most portable way to handle things, and should
work just fine in cross-platform code that has a non-zero-sized d_name.
2021-12-01 17:05:40 -05:00
Augustin Cavalier ba0e4a83e5 FAT: Unlock before calling the file cache.
Otherwise if the file cache calls us again from a different thread,
as it sometimes does when doing concurrent I/O to multiple files,
we will deadlock.

Fixes #14104.
2021-12-01 16:39:24 -05:00
Augustin Cavalier e385e3a009 FAT: Remove some unneeded locks.
Noticed by PulkoMandy in review on 4725.
2021-12-01 16:29:47 -05:00
Augustin Cavalier 690671b0c7 FAT: More miscellaneous cleanup.
* Remove __RO__ hack inherited from BeOS sample code.
 * Remove and excise unneeded macros.
 * Remove readlink, VFS will return EINVAL in its absence anyway.
2021-12-01 16:28:21 -05:00
Augustin Cavalier 8896f5d72f FAT: Make more use of C++ features and utility classes.
This driver was fully C until relatively recently, when it was
switched to C++ so that it could be used with fs_shell. However,
it still is mostly using C paradigms; so this commit begins the
refactor away from that.

If I did this correctly, there should not be any functional change.

Change-Id: Id87d17b2e019ccdd1c7f07156cfe2a2124496675
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4725
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-12-01 21:16:26 +00:00
Jérôme Duval 9dcb1b7ff7 intel_extreme: added IDs for ASUS laptop in ticket #15392
also for Acer Aspire F5-573G from https://bsd-hardware.info/?probe=240171b234

Change-Id: Id3c83d3039736fa749f0411889c081e447bd0444
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4750
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-12-01 13:02:42 +00:00
Jérôme Duval befbf01515 intel_extreme: implement get_preferred_mode for vbt on mobile
this avoids searching in edid information in this case.

Change-Id: I330341f089f71cd5de657a6630b5414d02db771f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4749
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-12-01 13:02:42 +00:00
Rudolf Cornelissen 7a52a73261 intel_extreme: added IDs for ASUS laptop in ticket #16825 2021-11-30 22:25:03 +00:00
Jérôme Duval 3fedf64872 intel_extreme: enable KabyLake
Change-Id: I81d04fdf8305efcc9250cfb975dd3466ebcb4058
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4740
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-11-30 08:06:56 +00:00
Kacper Kasper 66aae93087 intel_extreme: enable CoffeeLake
Change-Id: Id73c88d0815259fa7a8027f757ac430818492b1e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4739
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-11-30 08:06:56 +00:00
Augustin Cavalier 02077ffc42 kernel/condition_variable: Atomicize ConditionVariableEntry and drop the lock.
Before 2019, the entire ConditionVariable system was "giant"-locked:
that is, there was a single global lock that all ConditionVariable
and ConditionVariableEntry operations had to pass through. This of
course was not very performant on multicore systems and when
ConditionVariables see significant use, so I reworked it then to have
more granular locking.

Those patches took a number of attempts to get right, as having two
objects in separate threads that can each access the other not turn
into a deadlock or use-after-free is not easy to say the least,
and the ultimate solution I came up with erased most of the performance
gains I initially saw on the first (partially broken) patchsets.

So I have wanted to revisit this and see if there was a better way
even since then. Recently there have been a few reports of
ConditionVariable-related panics (apparently double unlocks),
notably #16894, and so that was reason enough to actually revisit
this code and see if a better solution could be found.

Well, I think I have come up with one: after this commit, Entries
no longer have their own lock, and instead accesses to Entry members
are almost always atomic; and there is now a case where we spin inside
Variable::_NotifyLocked as well as one in Entry::_RemoveFromVariable.

This leads to somewhat simpler code (no more lock/unlock dance in Notify),
though it is significantly more difficult to understand the nuances of it,
so I have left a sizable number of comments explaining the intricacies
of the new logic.

Note: I initially tried 1000 for "tries", but on a few instances I did see
the panic hit, strangely. I don't think the code that is waited on can
be reasonably reduced any further, so I have just increased the limit to
10000 (which is still well below what spinlocks use.) Hopefully this suffices.

Quick benchmark, x86, compiling HaikuDepot and the mime_db in VMware, 2 cores:
before:
real    0m23.627s
user    0m25.152s
sys     0m7.319s

after:
real    0m23.962s
user    0m25.229s
sys     0m7.330s

Though I occasionally I saw sys times as low as 7.171s, so this seems
to be at least not a regression if not a definitive improvement.

Change-Id: Id042947976885cd5c1433cc4290bdf41b01ed10e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4727
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-11-30 02:18:27 +00:00
Kacper Kasper 7a855aa5c7 intel_extreme: fix overflow in SKL PLL calculation
* RGB 4K@60Hz clock is 594MHz, that multiplied by 5 overflows int value.

Change-Id: Idda04119d582fa4e30c7729296ad5959b29dba77
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4738
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Rudolf Cornelissen <rudhaiku@gmail.com>
2021-11-29 18:14:21 +00:00
Kacper Kasper fe9ab0f353 intel_gart: add support for Gen8+ GPUs
Change-Id: I8b84e278f33542c359fc0d783f571e06ebc89b2a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4737
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Rudolf Cornelissen <rudhaiku@gmail.com>
2021-11-29 18:14:21 +00:00
Rudolf Cornelissen c199501e81 intel_extreme: add laptop panel detection and mode scaling for DDI systems 2021-11-29 13:30:27 +00:00
Rudolf Cornelissen 6ed123e532 intel_extreme: always assume panel on eDP on laptops. 2021-11-27 18:15:07 +00:00
Rudolf Cornelissen 03ed104900 intel_extreme: enabled all known skylake gfx cards since they are pgm'd now 2021-11-26 23:52:15 +00:00
Rudolf Cornelissen 39e05c7d01 intel_extreme: skylake PLL works, all outputs fully functional. 2021-11-25 22:41:48 +00:00
Murai Takashi 4500c381d2 drivers/graphics/framebuffer: fix include guard
Pointed out by LGTM (Duplicate include guard).

Change-Id: Idc0e0cd48f85d4635f87355f36eb03932aa36d2e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4736
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-11-25 12:20:29 +00:00
David Karoly 493b3fc409 bus_managers/fdt: check for NULL
Change-Id: Ib33b2591c2966a266e0813e042d388dbe88ef939
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4700
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-11-24 13:39:23 +00:00
David Karoly 191fa37376 kernel/uart: fix GetChar for PL011
Check RX buffer status when GetChar is called in no-wait mode.
This fixes an 'infinite keypress' issue that used to occur
after 16 keypresses.

Change-Id: I47762de387b07c4fed46cc192cd3b81fdabfb270
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4732
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-11-24 13:38:14 +00:00
Augustin Cavalier 750ed8dd41 nvme_disk: Implement TRIM.
Only lightly tested (in QEMU with qcow2 images: it seems to work
and not to discard actual data.) Use with caution!
2021-11-23 17:57:37 -05:00
Augustin Cavalier ab2a1b20e3 nvme_disk: Add a missing CALLED() and another assert. 2021-11-23 17:57:36 -05:00
Augustin Cavalier 3ff0d7a882 libroot: Compile x86_64's arch_string with -fno-builtin.
Otherwise, GCC and Clang create infinite recursions.
Fixes #15827.
2021-11-23 16:36:48 -05:00
Augustin Cavalier 2532a28785 Avoid using unions for LongDirEntry.
GCC still assumes that the dirent has no data past the end for some
scenarios here and still mis-optimizes things. Therefore, drop the
usages of unions altogether, and instead use a casted character array.

Additionally, use B_FILE_NAME_LENGTH for the array, not B_PATH_NAME_LENGTH,
and make sure to add 1 for the NULL terminator.
2021-11-23 16:36:18 -05:00
Augustin Cavalier 8be37ed439 kernel/smp: Avoid casting spinlocks, which are structures.
The lock entry is the first thing in the struct, so this is a no-op
change, but it is safer to do in case of changes, of course.

Spinlocks have been structures for quite a long time, so this was
probably just missed in the conversion.
2021-11-23 13:52:44 -05:00
Augustin Cavalier ba3ee26af0 WindowInfo: Use char[0] for FLA instead of char[1].
This is a private structure, so despite being an ABI break,
it should not cause any problems.
2021-11-23 13:50:45 -05:00
Augustin Cavalier 3d34a937af Package Kit: Build FetchUtils outside HAIKU_TARGET_PLATFORM_HAIKU. 2021-11-23 13:49:14 -05:00
Augustin Cavalier 1998232e12 libpackage_build: Add FetchUtils.
Change-Id: I2394d35c520c6cdde6e7cb09039d0d8f5689f19f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4731
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-11-23 18:41:20 +00:00
Augustin Cavalier 2be10edfb9 Package Kit: Improvements to partial download handling.
* Move IsDownloadComplete call into DownloadFileRequest; this way
   we will always revalidate checksums even if the file is fully
   downloaded instead of skipping that.

 * Treat ERANGE as a "bad data" error in PackageManager (it usually means
   we have a size mismatch between the local and the server's file)

 * If we fail checksum validation or get ERANGE, and we reused a download,
   immediately try again without reusing the download. This fixes most
   problems that previously required you to delete old transaction
   directories.

Change-Id: Ia3079655691b871e0b206e366b59fca0f832c63d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4730
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-11-23 18:32:28 +00:00
Augustin Cavalier 001e157a7b libroot_build: Add better error checking to _kern_dup.
This way, we will get a more coherent crash instead of
an unceremonious one. Follow-up to #17389.

Change-Id: Iffbf421ce85d638628243d5785ba61ff6b9a8043
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4729
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-11-23 17:24:46 +00:00
Augustin Cavalier 23888052c9 ntfs: Fix off-by-one error in d_name copy.
Should fix incorrect directory contents after the dirent refactor.

Change-Id: Ic2b5024b62c9d9f9485c4695b59d0e971109f09d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4728
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-11-22 21:13:36 +00:00
Rudolf Cornelissen e8e267b4c1 intel_extreme: fix 64-bit build, use 2021-11-22 12:56:07 +00:00
Rudolf Cornelissen efde34c2fc intel_extreme: add haswell/skylake PLL calcs, no functional change yet. 2021-11-22 11:14:36 +00:00
Jérôme Duval 4106e3f146 kernel/x86: rework get_frequency_for
we don't sample if the last sample is too recent and use the cached result.

Change-Id: I17ed29bda7fe7276f1a4148b3e1985c9d32ae032
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4101
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-11-22 07:21:04 +00:00
Jérôme Duval 7c2c355f17 kernel: add frequency in cpu_info
use this in sysinfo.

Change-Id: I270ef1ab18c27c4804cb0cca2cb5088a17162636
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3214
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-11-22 07:20:25 +00:00
David Karoly f265ecf8f7 Update gcc_bootstrap package for ARM
Change-Id: Iadef37c218f46b1f809a7c6405ebfc6a73cda20b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4726
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-11-20 12:59:28 +00:00
Rudolf Cornelissen 18bb9a28a6 intel_extreme: testing skylake mobile ticket #15516 2021-11-20 14:31:07 +00:00
Augustin Cavalier 10e35b7aae RTFTranslator: Free run_array using FreeRunArray.
This is more correct.
2021-11-19 19:38:11 -05:00
Augustin Cavalier 1cb5cfb244 libroot_build: Use a union for dirent structures.
Same fixe as applied to the rest of the Storage Kit a few commits ago.
2021-11-18 16:43:57 -05:00
Augustin Cavalier d9df256704 FUSEVolume: Add a ROUNDUP() macro and use it.
No functional change intended, but this should make the code
easier to read.
2021-11-18 16:35:31 -05:00
Augustin Cavalier afcfd3c5d5 BeBuild: Remove B_ALWAYS_INLINE.
This file should ideally contain only those things needed
across all system headers, even POSIX ones, and all other
declarations (B_* ones especially) should go in SupportDefs.h.
However, as nothing but riscv64 uses this right now, I've just
moved it to there.
2021-11-18 16:35:05 -05:00
Augustin Cavalier 7db2616c44 dirent: Use an actual flexible-length array for d_name.
GCC 11 treats [1] as a fixed-length array and not a flexible-length
array, and so some things that used direct strcmp("..", ent->d_name),
for instance, would be optimized out as being always unequal,
which was the cause of #17389. Using a real FLA informs GCC that
there is going to be more than one byte of data, and thus this
fixes that bug.

BeOS used [1] and not [0], possibly because it had to deal with
compilers (MetroWerks? Early GCC2?) that did not support FLAs.
GCC 2.95 does, using [0], and GCC 4 does, using [], so we can go
with that here.

(I did try using [0] for both, which seems to be OK with GCC 11,
but GCC 8 throws errors when d_name is dereferenced directly
as being-out-of-bounds. So, we have to use the #if here and give
newer GCC the [] syntax and not [0] to avoid that problem.)

The real question probably is whether or not we should backport
some variant of these changes to R1/beta3, as software at HaikuPorts
very well may run in to the same issue. (The alternative workaround
is to compile with -O1 and not -O2 for any affected software.) But
maybe this is an argument for keeping with the beta4 schedule of
this coming January...
2021-11-18 16:34:03 -05:00
Augustin Cavalier 9d242fb955 file_systems & Tracker: Do not assume sizeof(dirent) contains 1 byte for the name.
At present, it does, but that is an oddity we have preserved from BeOS
that the next commit is going to remove. (This commit thus wastes 1 byte
without the following one.)

Most changes are pretty straightforward: only a +1 is needed,
and a few removed from sizing calculations. Some filesystems like UDF
originally passed back the length with the \0 included, so they have
been adjusted further. UFS2 had some other sizing problems which are also
corrected in this commit.
2021-11-18 16:24:04 -05:00
Augustin Cavalier 8f03af00f8 Storage: Rework LongDirEntry to be a union.
Our dirent structure is "slim": it has a flexible-length array at the
end which must be allocated to whatever size the consumer wants. However,
we use [1] there and not [0] or [], which meant GCC thought it was not
a flexible-length array, and so it optimized various string accesses
that it assumed must be always false. Among these was BDirectory's
check for "." and "..", and so that resulted in infinite loops.

When changing our dirent structure to a proper FLA instead of [1],
GCC then throws errors on LongDirEntry as it has data "after" the
FLA; which is what we want, but there is no way to tell GCC that.
So now we use a union instead, which is the proper way to statically
allocate a FLA.

This is part of #17389, but the real fix requires changing our dirent
structure, which is coming in a separate commit.
2021-11-18 16:00:23 -05:00
Augustin Cavalier 9cc1718212 libbe_build: Fix build on non-Haiku platforms.
Probably should have tested that before pushing.
2021-11-18 15:42:17 -05:00
Augustin Cavalier ec21dc91b1 libbe_build: Synchronize Directory.cpp with the main one.
The set_dir_fd code appears to be libbe_build specific, so that
and accompanying logic is preserved.
2021-11-18 12:13:47 -05:00
Augustin Cavalier 28c8a16a5a libbe_build: Synchronize Node.cpp with the main one.
Mostly formatting changes with a few minor bugfixes it appears.
2021-11-18 11:18:49 -05:00
Augustin Cavalier a7639d2389 libroot_debug: Add aligned_alloc implementation.
Fixes #17407.
2021-11-18 11:14:53 -05:00
Augustin Cavalier cf5edc8448 accelerants: Add default case for xy_command initialization.
Silences a GCC 11 warning.
2021-11-17 21:10:30 -05:00
Augustin Cavalier 52f87edca5 Time: operator() on the comparator structure must be const.
The STL seems to require it, but before GCC 11 that may not
have been properly enforced.
2021-11-17 21:10:05 -05:00
Augustin Cavalier 91a0b53040 HaikuDepot: Do not inadvertently modify the real errno.
Found by GCC 11 warnings.
2021-11-17 21:09:31 -05:00
Augustin Cavalier eeddcfffbe accelerants: Fix mismatched prototypes.
Found by GCC 11.
2021-11-17 21:09:10 -05:00
Augustin Cavalier f35fc7ebda Remove some dynamic exception specifiers.
GCC 11 does not like them, and GCC 2 does not seem to care.
2021-11-17 21:08:49 -05:00
Augustin Cavalier e4f18add74 Game & Print Kits: Fix GCC 11 warnings. 2021-11-17 18:45:58 -05:00
Augustin Cavalier f7338bb6a0 Media Kit: Fix/appease various GCC 11 warnings. 2021-11-17 18:45:35 -05:00
Augustin Cavalier 181529ce0c bsd/err.c: Upgrade to a newer version from FreeBSD.
* 3-clause BSD instead of 4-clause BSD
 * C89 compliance instead of K&R C, needed for GCC 11
2021-11-17 14:01:20 -05:00
Augustin Cavalier afc04c50e5 kernel/debug: Add initialization to appease -Wmaybe-uninitialized. 2021-11-17 14:00:48 -05:00
Augustin Cavalier 44e3766be5 app_server: Add casts to appease GCC 11 -Wclass-memaccess. 2021-11-17 14:00:10 -05:00
Augustin Cavalier 46c49135a0 kernel: Add aligned_alloc implementation.
Needed by default with GCC 11.
2021-11-17 13:58:43 -05:00
Augustin Cavalier 7ec1bedeed features.h: Define _DEFAULT_SOURCE when _GNU_SOURCE is defined.
As suggested by PulkoMandy. This was done before my commits yesterday,
but those just reverted patches that had only been in since May,
so it's not clear how much this is actually needed. Nonetheless
it seems like the more correct thing to do.
2021-11-17 13:55:50 -05:00
Augustin Cavalier 573b7b1f21 ArchitectureRules: Temporarily disable -Wno-error that GCC 8 does not like. 2021-11-16 22:48:40 -05:00
Augustin Cavalier e7952d44d5 BColumnListView: Add initializations to silence -Wmaybe-uninitialized. 2021-11-16 19:05:52 -05:00
Augustin Cavalier d1035d48e6 ColorConversion: Add cast to silence -Wclass-memaccess. 2021-11-16 19:05:14 -05:00
Augustin Cavalier 1e541d3127 stdlib.h: Remove guards around aligned_alloc.
While FreeBSD and glibc feature-guard it, they also feature-guard
a lot of other things that we don't, and musl does not guard it,
so it seems more than safe enough to leave it unguarded.

Fixes compilation errors with GCC 11. (The other possible solution
was including features.h in more places, but this seems simpler.)
2021-11-16 15:13:29 -05:00
Augustin Cavalier 3bdd837e4e BeBuild: Expand compatibility to GCC 12.
Since we are currently in the process of upgrading to GCC 11, it makes
sense to change this header before we actually need to.
2021-11-16 15:12:58 -05:00
Augustin Cavalier 68a13ed5c3 features.h: Clean up ISOC11 definitions.
* Do not define it merely when _GNU_SOURCE is defined, that is not needed.
 * Scale back __cplusplus check to 201103L, just like the BSDs do.
2021-11-16 15:11:44 -05:00
Augustin Cavalier 38dc3bf2c5 ArchitectureRules: Add two new -Wno-error flags.
The use of the "register" keyword is harmless, though we should eventually
remove it.

Taking addresses of packed members is "mostly harmless" on x86 where
unaligned accesses are OK. It's less harmless on other architectures,
but we sometimes use packed structures when manually aligning things.
Unfortunately GCC throws this warning even when the actual pointer would
be aligned, not merely when it's unaligned, making the warning far too
noisy and not really that useful.

"Found" by GCC 11.
2021-11-16 15:10:05 -05:00
Rudolf Cornelissen ae7d733d42 intel_extreme: skylake/DDI. all displays can set resolution now, no refresh on digital panels yet (DPLL still missing) 2021-11-16 00:39:49 +00:00
Augustin Cavalier f11e13144d ntfs: Set abs_mnt_point to a non-NULL string.
It seems lowntfs and libntfs-3g kind of assume there is something in here.
This may result in broken links, but that's better than crashing.

Should fix #17400.
2021-11-14 19:13:42 -05:00
Rudolf Cornelissen 0eb2bf0e66 intel_extreme: skylake/DDI improvements. no resolution changing possible yet (missing DPLL code yet) 2021-11-14 23:16:44 +00:00
Augustin Cavalier a82616528d ntfs: Return better errors and handle volumes without names.
Should fix #17390.

Change-Id: I8db797b29c70b452e98ebadc6825dba7626ad2ab
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4724
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-11-13 17:29:23 +00:00
Adrien Destugues d4e4909c6a Jamfile engine: move to a separate repository
It is now at https://review.haiku-os.org/admin/repos/jamfile-engine

This was added in the Haiku repository in the intent of adding it to
release images, a long time ago. Now with the packaging system in place,
there is no reason to host it in the main repo anymore (and it was never
actually packaged anyway).

I also added a recipe at haikuports for it.

Fixes #5360.

Change-Id: I4f2a1529cbadf7af8a16025c30a1332108475807
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4720
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-11-11 14:18:04 +00:00
Jérôme Duval cdd2ed5a77 kernel/x86: CPUID leaf 0x1f is a preferred superset to leaf 0x0b
Intel recommends first checking for the existence of CPUID leaf 1FH before using leaf 0BH.

Change-Id: Iba677186521e086fa06bcc4fe42eaed4ba030e6d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4719
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-11-11 07:53:23 +00:00
Adrien Destugues cb3199681e UDP: apply review comments from hrev51603
I found this at the bottom of my TODO list…

- UdpDomainSupport methods were referring to the object through a static
  variable when they could just use the "this" object instead.
- Use BAutoDeleter to simplify the code a little
- Style problem (missing != NULL in pointer check)
- Move referencing of domainSupport in _GetDomainSupport instead of
  OpenEndpoint. This way the two _GetDomainSupport methods both return
  an already referenced object

Thanks to Axel for the code review and sorry for the super late reply.

Change-Id: Ic50ebb1a63a203d5aa393d28f4631c345acacc79
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3908
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-11-10 07:59:07 +00:00
Augustin Cavalier 049eb4cb89 libroot/os: Remove B_CLONEABLE_AREA protection check.
Due to how API versions work, it seems this flag is still applied
on a lot of applications, as some have some rather old API versions
(actually API versions themselves may not be working quite right, to boot.)

All relevant software should have had a chance to be recompiled on
or after beta2, so we reduce the flag's automatic application back
just to BeOS applications.
2021-11-09 19:27:39 -05:00
Augustin Cavalier 913373053f ntfs: Prevent moving directories into themselves (even indirectly.)
libntfs does not check for this.
2021-11-09 19:24:42 -05:00
Augustin Cavalier bef774d30c libntfs: Add assertion that the entry is not already in the cache.
There is a big scary warning about this, but no code actually checks for it.
This would have saved me some time in development...
2021-11-09 17:56:34 -05:00
Alexander von Gluck IV 4a025c8e74 libroot: revert __clz_tab change. Didn't mean to put that in yet
Change-Id: I6c4eea2de5778749e4894ea5d1d12e8403e538da
2021-11-09 16:41:21 -06:00
X512 ec8a8f1c02 libroot/riscv64: minor riscv64 fixes
Change-Id: I96b604aabe18307d7376473b8d9cd50eccb537d1
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4709
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-11-09 22:34:35 +00:00
Augustin Cavalier 5070f59750 ntfs: New driver glue, write support.
Change-Id: I7f7b1e1a85b2f966209437aa99b536d00623bc03
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4696
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-11-09 22:22:13 +00:00
Augustin Cavalier 3fbe39e14d ntfs: New driver glue (read support only.)
* Add some things to config.h for C++ friendliness.

 * Import some more GPL code from libntfs into lowntfs.c,
   in order to avoid reimplementing it (or copying & pasting,
   which would probably make all the glue code GPL.)

 * Write an entirely new kernel_interface.cpp, modeled after exfat's
   and other newer filesystem drivers. Highlights:
   - significant use of C++ RAII objects
   - entry_cache support
   - file_cache support (thus also read_pages)
   - readdir of multiple dirents at once

Most NTFS tickets open at present are related to write support,
and this does not yet have that. It should however be considered
a part of #17165.

Change-Id: I6d5aa53d4d06846b0de5e6ce1431219bf70a6f2c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4679
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-11-09 22:22:13 +00:00
Augustin Cavalier 30461842be ntfs: Delete the old glue driver.
It originated on BeOS, and still retains a number of relics of that.
It did not support the file cache, it was rather slow on large disks,
and it had incorrect unlink behavior (delete immediately rather than
on vnode close.) It also is C, not C++.

libntfs-3g has also undergone significant changes in the time since
this driver was written, and it also has a "low level" FUSE module
that we can reuse a lot more code from, so a new driver will be
able to shed a lot of code and use more from upstream directly.
That is coming in the next commits.

Change-Id: Id6f8f8f85076dda92b289ef5a2f1ca6cd484f3e5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4678
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-11-09 22:22:13 +00:00
Augustin Cavalier 9102cad62b ntfs: Update NTFS-3G to 2021.8.22.
Things seem to still work OK ... insofar as they ever did.

Change-Id: I32ba3c71c27106558092fee636f135f477f1cf36
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4677
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-11-09 22:22:13 +00:00
Augustin Cavalier ee4b6bdfa1 Storage: Initialize stat structure before using it.
Normally we are only reading or writing from one field in the stat,
and so we do not need to worry about initializing the others. However,
in the case of timestamps, we use only the "tv_sec" field, and so
the "tv_nsec" field was getting passed to filesystem drivers with
bogus data (on x86_64 at least, very large values.)

This went largely unnoticed, despite being used in every Tracker copy
operation, because BFS only uses the lower bits of tv_nsec.
But NTFS and others use the whole field, leading to timestamps
far in the future.

This may fix some of the issues on the bugtracker about timestamp
problems in filesystems other than BFS (and slight inaccuracies in
BFS timestamps on copies, too.)

Change-Id: I5fdbd264fb145af57b7bf2f7b491c6943024811e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4707
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-11-09 21:46:31 +00:00
Fredrik Holmqvist e6f4113978 [arm64] Set march to armv8.2-a+fp16, fix posix math
The march can be reduces later if needed.

Use arm64 optimized math, and set std=c11 so
__FLT_EVAL_METHOD__ is 0 and not 16:
https://gcc.gnu.org/bugzilla//show_bug.cgi?id=100854
2021-11-09 21:59:31 +01:00
Coldfirex 2ca1376080 Mass updating of OpenBeOS text to Haiku
No functional code altered.

https://dev.haiku-os.org/ticket/17197

Change-Id: I75cc74f6be0ad968fd77c31fbe5b0f650a6fe9e0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4364
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-11-07 10:00:35 +00:00
Alexander von Gluck IV a80813fdd1 qemu/riscv64: Misc fixups for qemu
* Disable overly verbose PCI IO access
* Add ati to riscv64 minimum image for qemu
* Update qemu test script with "best" gpu settings
  for the moment

Change-Id: I5d16ace0f8589f8b17cc50c7a1db04266907269f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4699
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-11-07 09:58:15 +00:00
Alexander von Gluck IV 4b5c7fe7e1 system/boot: add optional alignment to kernel_args_malloc
* A few things need alignment, instead of forcing them all
  to align themselves, support alignment of the kernel_args
* Default of 1 is "no alignment"

Change-Id: Iff05dcec8adaa963c8444d701464ea11616062f6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4698
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-11-07 09:58:15 +00:00
Alexander von Gluck IV c9d6d52b03 libfdt: Upgrade to 1.6.1 plus a few commits
* Catch errors and report them in bus parsing code
* Align the FDT kernel_arg to 8-bytes
* we still choose BSD-2-clause :-)

Change-Id: If2a88b7f131025ff1c1a2d903ed52f039e5bbcb5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4694
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-11-07 09:58:15 +00:00
Jérôme Duval f78b75b15d Terminal: handle color queries
this allows apps like vim to select a color scheme based on a dark or light background.

Change-Id: Ia9f98d2373523a8b5fa379225a1c906ae075edf7
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4693
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-11-06 17:34:48 +00:00
Jérôme Duval fe3e5f05a1 Terminal: accept more notations for colors
Change-Id: Iaf6008305de8ef0111f7006e36da507d40c8a47a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4688
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-11-06 17:34:48 +00:00
David Karoly 65aab788e6 kernel/arch/arm/int: add irq postlude
Change-Id: If3dcd2f7d3c0385ecc699b4de4359a14a189fff0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4673
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
2021-11-06 09:56:00 +00:00
Alexander von Gluck IV c892801f83 platforms/u-boot,platforms/riscv: Fix boot_fdt after hrev55618
Change-Id: I49579b206ba4d6a83e0e3a557fc5d4bad6a1a886
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4695
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-11-05 20:28:49 +00:00
David Karoly acf8592e82 build: don't use regular TARGET_*_FLAGS for .S files in bootloader
This is one more change to prepare for the transition to soft-float for the ARM EFI bootloader.
We need this change to remove the kernel compiler flags from .S files for the bootloader. Otherwise there would be hard-float and soft-float flags at the same time, giving a compile error.

Change-Id: I0b66c3c16937228eb76351e359160187d3ab826b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4690
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-11-05 19:49:08 +00:00
Alexander von Gluck IV 93c8529475 boot/zstd: prevent weak symbols from sneaking in
* Prevents proper boot on riscv64, maybe others

Change-Id: I2f25b238d5e3c29dd57ef67a6d960de0fc80c205
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4692
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-11-05 19:45:39 +00:00
David Karoly 7f6f87d29d boot/efi: build boot_fdt.a with boot compiler flags
Change-Id: I698019697d1c3bcf1e913316cfd6c0dcab65d4e3
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4689
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-11-05 16:21:46 +00:00
David Karoly 24c1b1812c boot/arch/arm: use generic memcpy
Change-Id: I1816b4cf696cc19b94618f7e3b690895ccf4479c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4691
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-11-05 15:55:55 +00:00
David Karoly 2ab17547fa kernel/arch/arm/paging: set size and alignment for page directory
Change-Id: Ie3aa80c134c8b519005f7e52c51c7696f26bd49d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4672
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-11-05 15:38:10 +00:00
David Karoly 95424a7096 Update HaikuPortsCross package versions for ARM
Change-Id: I918829e69bc92f295720f884f724a19dc4fe3d46
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4684
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-11-05 14:55:18 +00:00
Humdinger 1621d71af8 Fix typo in API docs (BBitmap)
Found by Scottmc.

Change-Id: Idd10040d798533a0aa731132f7282e7ce1423ed6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4687
Reviewed-by: humdinger <humdingerb@gmail.com>
2021-11-04 16:15:34 +00:00
Alexander von Gluck IV 87f2b35395 Revert "artwork/promotion: Add promotional CD/DVD designs"
* Ugh. Just realized we have a seperate artwork repo. Moving there.
* Sorry for spam.

This reverts commit 9714475c39.
2021-11-04 09:23:27 -05:00
Alexander von Gluck IV 9714475c39 artwork/promotion: Add promotional CD/DVD designs
* These are reproductions of the original 2012 R1/Beta4 design
* The light variant works better on my consumer cd printer.
* The dark variant looks better, but is better suited for
  professional cd pressing services.
* I'm releasing these as MIT to be clear

Change-Id: Ibd5248fc7248de6697dd65e8ccae1ba1ae623702
2021-11-04 09:18:28 -05:00
Jérôme Duval 91e93cb7c4 Terminal: handle cursor-color
Change-Id: I73071880c84c713ee3efec40f6ac824364157b83
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4685
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-11-04 06:46:01 +00:00
Alexander von Gluck IV 38eb9fb0eb boot/ppc: Cleanup paths, use hfs vs hfsplus
* Move assets to new boot directory
* -hfsplus not valid anymore on cdrtools 3.02
* Throw down some forth I saw in an *old* fedora 12
  chrp script.  If we ever target ppc64 it might be
  handy someday. The text output also lets you know
  the cd booted successfully.

Change-Id: I169d887fe8373de1719b98305d01b714f6f6bcbe
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4681
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>
2021-11-03 13:58:48 +00:00
Alexander von Gluck IV af222f6e31 kernel/ppc: Fix missing symbols after hrev55605
* Stubs for now with todo's matching sparc port

Change-Id: Ie1c0ea523e26fd16066acb26dd83735b89800f31
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4680
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-11-03 13:58:48 +00:00
Murai Takashi f5b37553ec lgtm.yml: update prerequisite software
Change-Id: I3f6e1446d7fcd2256c0bc8fa982605ea1501fa6a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4683
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-11-03 11:48:19 +00:00
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
Augustin Cavalier e8ab10abd6 Fix return type of video_text_console_init. 2021-10-22 15:10:53 -04:00
Augustin Cavalier 5f682fd08d EFI: Add (disabled, partially broken) support for video_text_console usage.
See inline comments.

Change-Id: I7eaa5888b63aecaa582fe00f796b2f3f3c8be203
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4644
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-10-22 19:02:06 +00:00
Augustin Cavalier 4c73f34840 bootloader video_text_console: Refactor into the new ConsoleNode model.
Change-Id: I3dc59cbdfd28f1ada49b02e42d50ec2b52c40227
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4643
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-10-22 19:02:06 +00:00
Augustin Cavalier 5e43707307 bootloader: Refactor console functions into the VFS ConsoleNode class.
This way it becomes much easier to write multiple console implementations
in one bootloader.

Tested for bios_ia32 and efi.

Change-Id: I67134f5c3de109b15d46898864ba7f51c6592afc
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4642
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-10-22 19:02:06 +00:00
John Scipione f6f9c751d6 Remove trailing whitespace from hid_shared
Introduced in https://review.haiku-os.org/c/haiku/+/4403

366e9a62e9 => hrev55413

This is a whitespace only change, no functional changes.
2021-10-22 11:12:24 -04:00
Augustin Cavalier 0d66d8d486 boot_loader: Add a video_text_console for potential use by bootloaders.
This uses the frame buffer console that KDL uses. It needs some work,
though, as the frame_buffer_console colors system is not quite compatible.
2021-10-22 10:43:27 -04:00
Augustin Cavalier c80ba94c64 boot/arch: Remove kernel_stubs.cpp and frame_buffer_console.
They were never used anywhere.
2021-10-22 10:43:27 -04:00
PulkoMandy 2adb6e18db sparc: update haikuportscross to current state of repository
Most importantly include zstd, which is a new requirement for the
bootstrap build.

Change-Id: I981401e7d70fb7e1befaf7fc37f2fddc6d7e327d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4635
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-10-22 13:59:19 +00:00
PulkoMandy 60533c0e15 remove libicutu from icu build feature
This is an internal ICU library, used by their command line tools only.
libbe (or anything in Haiku sources) does not need to link to it.

Change-Id: Id322572c6833c225d5501a7e9520dd3dc82934f8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4634
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-10-22 13:59:19 +00:00
David Karoly 375c212924 kernel/arch/arm/paging: fix a few typos
Change-Id: Ia6c51f1d24f5a365564f127199df898c5531f274
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4640
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-10-22 12:02:27 +00:00
David Karoly 09e797786e virtio-mmio: fix compile error when TRACE is enabled
Change-Id: I8ac0497f8aa26e9e2b843c34771b83ca9baaa6d5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4641
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-10-22 12:01:43 +00:00
David Karoly 4d81ddab4f boot/efi: initialize mmu for arm
Change-Id: I918a459dfb4e5d0864ae4c8b806df059248d43b6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4630
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-10-22 11:22:10 +00:00
David Karoly d88e69ae11 boot/efi: generate page tables for arm
Change-Id: I975048d7721efc0557d60d27ddf5bd5296aa9e51
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4632
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-10-22 11:21:02 +00:00
David Karoly e6520f9064 boot/efi: generate memory map for arm
Change-Id: I02a7f8c27187f6375dd4deeeaf3587dad1e3349c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4631
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-10-22 08:42:04 +00:00
John Scipione 02ad92185d Network: Sort network menu items w/o deleting
* Delete dropped out networks.
* Add in newly discovered networks.
* Add static (aka class) compare method to WirelessNetworkMenuItem
  that is used to sort items by signal strength descending.

Add == operator to wireless_network struct to determine if
existing items have a known network attached.

Remove the non-network items from the menu, save them, sort
network menu items, then add non-network items back into the
menu.

Update NetworkStatus preflet to use same compare method as Network
preflet. signal_strength_compare function had a bool return value
instead of int which worked to sort items the first time, but does
not work on successive compares.

By not deleting and recreating the menu items each Pulse(),
the Network preflet no longer crashes on update. The menu flashes
on update still but doesn't crash.

Fixes #12024

Change-Id: Ie5b22cea4e66350b9c5df8e3b8de266ede50ad6d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4243
Reviewed-by: John Scipione <jscipione@gmail.com>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
2021-10-22 08:12:05 +00:00
John Scipione 0a53cbb3b9 BMenu: Add SortItems(), SwapItems() and MoveItem()
... methods which call the respective methods in BList.

These convinience methods allow you to sort a menu of menu items
via a compare function, swap two menu items, or move a menu item
to a new index. Update items layout if menu is open.

Previously there was no easy way to rearrange menu items in a menu.

Change-Id: Ice3d6e5404e895196d8bd32d696dce7c55bd72d4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4296
Reviewed-by: John Scipione <jscipione@gmail.com>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-10-22 08:12:05 +00:00
Fredrik Holmqvist 51d591cdfe Add zstd for arm64 bootstrap
Currently doesn't buld due to problems with gcc neon headers though.
2021-10-22 08:25:09 +02:00
Augustin Cavalier 7916c1ca0f Rename ar81xx to atheros81xx.
The other Atheros drivers are "atheros813x" and "atheroswifi",
so renaming this one (which is the oldest of the set) to match
the other two makes sense.
2021-10-21 17:19:58 -04:00
Augustin Cavalier eeda728f3d network/ether: Import igc from FreeBSD as "intel22x".
This is the driver for Intel's new line of desktop-class ethernet
controllers, from FreeBSD. Not yet included in the builds as it
is untested.

Part of #17212.
2021-10-21 17:10:26 -04:00
Augustin Cavalier cbe0a0c436 drivers/network: Move ethernet drivers to an "ether" subdirectory.
Now that there is also a "tap" driver in here, and the WiFi drivers
are also in a subdirectory, moving the physical ethernet device drivers
to a subdirectory also makes sense.

(Briefly) discussed on the mailing lists.
2021-10-21 17:10:26 -04:00
Augustin Cavalier 7f2cd1318e radeon_hd: Trim down register headers to only have what is needed.
This cuts out almost 40,000 lines of these headers. (I did something similar
in the atheroswifi AR93xx/94xx driver when importing it from FreeBSD,
which had a lot more than 40,000 lines.)
2021-10-21 17:10:24 -04:00
Adrien Destugues 0f6f5adb50 generic/tty: restore lock sharing between master and slave TTYs
The code in this module was derived from the one in driver/tty. However,
the driver uses a shared lock between the master and slave side of a
TTY, and this was changed to use two separate locks. The approach with
two locks does not work. It seems the change was unfinished and the
second TTY was never locked. But attempting to lock it will result in
lock inversion problems, unless we do complicated things (try to find
which of the two TTY is the master side, and lock that first, for
example). It is simpler to restore the shared lock as used in the
driver.

To set up the shared lock, I modified the tty_create function to take a
pointer to the master TTY when creating the slave. Maybe it makes more
sense to create both sides in the same call, create_tty_pair?

However, this does not work as easily as I wanted, because there is some
recursion going on: at least in one case, the tty_control function is
calling the driver's tty_service function, which in turns attempts to
call back into tty_control for the "other side" TTY. To handle this
case, replace the mutex with a recursive_lock.

Fixes #17091, where the root problem was access to
other_tty->select_pool without locking. This was also made unconvenient
to debug because select_pool objects are self-deleting, when the last
item in the pool is removed. As a result, the code accessing it without
log would suddenly find out that the data it was accessing had been
freed and erased.

This also makes the TTY code in driver/tty and generic/tty a bit more
similar than it was before, and brings us one step closer to merging the
two together. There are still two main differences and I don't know
enough about TTY to decide if they are important, and which version
should be kept:
- The driver has extra code for "background" read and write. I don't
  know what this is used for.
- The driver has a single "settings" instance shared by a master and
  slave TTY, while the module has two separate instances, but seems to
  copy one to the other. I'm not sure which approach is correct.

Change-Id: Ie2daddd027859ce32ba395af76b4f109f8b984b0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4604
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-10-21 14:49:15 +00:00
Adrien Destugues c0ec37dcbc tty: fix construction/destruction
There is no need to construct and destruct nested objects. The new and
delete calls on the struct will take care of it. However, some fields
have C functions for construction/destruction and these should be
called.

Change-Id: I09d5930f499ef3fa4ff580d482c682172b00b6a3
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4603
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-10-21 14:49:15 +00:00
David Karoly 441e6e676d arch_uart_8250_omap: fix includes
Change-Id: Ib86d86b4497a46902c3f8d3dd77241f55504d702
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4620
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-10-21 09:10:38 +00:00
David Karoly d5bac4fd07 kernel/arch/arm: fix build - comment out fdt stuff as it's completely broken now
Change-Id: I8c0c5da0a915969176afea9e0e2cc2f831a18d59
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4619
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-10-21 09:09:24 +00:00
Augustin Cavalier d37e23576c Tracker: Use strlcpy in FSMakeOriginalName.
Suggested by axeld on the mailing list a while back.
strlcpy/strlcat NULL-terminate within the passed buffer size,
so we have no need to subtract 1 here.
2021-10-20 21:04:44 -04:00
Alexander von Gluck IV 82df3fc639 radeon_hd: Add polaris HPD on transmitter config
Change-Id: I899e75c1556acc3462812ee6503dd1b782af2a96
2021-10-20 19:53:04 -05:00
Alexander von Gluck IV cddcb186c9 radeon_hd: Add missing UNIPHY3 encoder on transmitter table 1.5
Change-Id: I3edbc5338ba2e4611939952999278575f3cc4220
2021-10-20 19:53:04 -05:00
Augustin Cavalier c075437b4c network/Jamfile: Note which drivers have been upgraded to FreeBSD 13. 2021-10-20 20:38:40 -04:00
Augustin Cavalier db2ce6f9ef ipro1000: Upgrade to FreeBSD 13.
Includes support for new generations of devices. Tested in QEMU
with e1000 and e1000e NICs.
2021-10-20 19:13:19 -04:00
Augustin Cavalier 82046b272c freebsd_network: Add pci_msix_table_bar().
Needed by the e1000 driver from FreeBSD 13. Tested in QEMU with e1000e.
2021-10-20 19:13:19 -04:00
Augustin Cavalier 047ebd5ac7 atheros813x, broadcom570x, rtl81xx: Upgrade to FreeBSD 13.
The changes for iflib reorganized some things that these drivers used,
so here we upgrade them as well.

One new chipset is supported in rtl81xx, the rest should all just be
API changes.
2021-10-20 19:13:19 -04:00
Augustin Cavalier 2155cf671f freebsd_network: Add new APIs used by FreeBSD 13 drivers. 2021-10-20 19:13:19 -04:00
Augustin Cavalier b14f1ca97c freebsd_iflib: Upgrade to that of FreeBSD 13.
ipro1000 still works.
2021-10-20 19:13:19 -04:00
Augustin Cavalier 034d500610 freebsd compat: Updates and additions for a newer iflib. 2021-10-20 19:13:19 -04:00
Alexander von Gluck IV a139e89af2 arm64: Add build-packages synced with server
Change-Id: I824b6f3c6920a13fb51a8f2feb71201014ffeb0a
2021-10-20 16:28:23 -05:00
Murai Takashi c224d63cac SGITranslator: fix too few arguments to formatting function
Pointed out by LGTM

Change-Id: I0f83a3ba92d941c6e8acba02c77afce3cb40f56f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4627
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-10-20 18:03:50 +00:00
Murai Takashi f4742397e0 bin/rc: fix wrong type of arguments to formatting function
Pointed out by LGTM

Change-Id: If0a6c3a5b951f360a4ff9e3d112d4d9799b12fb4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4626
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-10-20 18:03:03 +00:00
Franck LeCodeur 245e831213 file_systems/googlefs: Fix warnings and enable Werror
Part of #9460

Change-Id: I1dc3271b72886ede8db3c78e39b12de873c3e8bd
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4572
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-10-20 18:01:15 +00:00
Franck LeCodeur 9a594d0a60 bus_managers/firewire: Fix warnings
Add parenthesis for macro processing, change variable type for signedness comparison warning

Change-Id: I67125ac1dfc97583ecb9e5706909a0a09cda7a2e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4575
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-10-20 18:00:36 +00:00
Franck LeCodeur 718fce997a drivers/input: Fix warnings and enable Werror
Correct signedness for comparisons, remove unused code, remove unused variable, correct variable type for callbacks

Part of #9460

Change-Id: Ie48e8498e0830ed8b175986aaf82b94a1d99b72f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4570
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-10-20 18:00:36 +00:00
Augustin Cavalier d81238bf2f framebuffer.accelerant: Utilize AreaDeleter. 2021-10-20 13:53:12 -04:00
Augustin Cavalier 3c181db6bf vesa & radeon_hd: Remove unneeded and incorrect free().
In 47404f12f2, a MemoryDeleter was added
to manage this memory instead of doing it manually; most of the free()s
were removed in that commit, but these were somehow missed.
2021-10-20 13:53:12 -04:00
Alexander von Gluck IV 9b6c4b320f riscv64: Add zstd to build-packages
Change-Id: If2a58d9ab49c3c6901356274cff854b282fb9429
2021-10-20 12:22:42 -05:00
Adrien Destugues 56d38808a5 kernel: add memmem to available functions
It will be needed in the VESA driver to locate things in the VESA BIOS.

Change-Id: Iab42886beb99414fec4d1ad99a08299be679b4d6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4623
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-10-20 17:17:18 +00:00
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
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
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
Andrew Lindesay 7f86c21945 HaikuDepot: Fix language selection
Fixes a problem that can arise with the
selection of language when adding or
editing user ratings.

Fixes #11316

Change-Id: I85625cdc156458d88f4d1ca01ae889d954364ffd
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4511
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-09-29 15:48:38 +00:00
Augustin Cavalier ce308ddc6b launch_daemon: Trigger sticky-already-triggered external events immediately.
If the external event is sticky and already triggered, then we want
to trigger any newly-added events immediately. This fixes "boot hangs
on rocket" regressions following 4f126f690c,
which seems to have exacerbated this already-existing race condition.

Fixes #17289.

Change-Id: Ie405826cc50255895c8831c34b8bdf902e584eb5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4510
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-09-29 15:44:35 +00:00
Augustin Cavalier b19b3d9b39 launch_daemon: Refactor handling of ExternalEventSources.
* Refactor ResolveExternalEvent to actually return the resolved event,
   not just whether or not one was found, and then skip resolution
   in TriggerExternalEvent and ResetStickyExternalEvent, which now
   should only be passed ExternalEvents.

 * ExternalEventSources now store destination Events, not Jobs,
   following on that refactor.

 * The second variant of ResolveExternalEvents is dropped,
   and instead the Register/Unregister functions are implemented.

 * Trigger and ResetSticky are now done in ExternalEventSource,
   which now keeps track of whether it has been sticky-triggered
   or not, though it does not use this information yet.

These changes should not affect behavior, they largely constitute
a reorganization (though some TODOs are resolved.)

Change-Id: I46a51cac0edb90e90b154ef9c94791cb7a1aad94
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4509
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-09-29 15:44:35 +00:00
Augustin Cavalier ffc83aa24a USB bus drivers: Add missing iterator increments.
Should fix boot hang regressions introduced in hrev55455
in the fix for #17275.
2021-09-28 14:36:44 -04:00
Augustin Cavalier 337b483bd8 XHCI: Use MutexLocker in _LinkDescriptorForPipe.
No functional change.
2021-09-28 13:25:27 -04:00
Augustin Cavalier 3ff662a5a2 PCI: Remove dprintfs and now-dead code following RISCV64 merge.
It appears kallisti5 forgot to remove these.
2021-09-28 12:43:30 -04:00
Augustin Cavalier 4f126f690c mount_server: Connect on-demand to app_server.
This is similar to with the registrar and debug_server,
both of which are started before app_server, already do.
In the case where we cannot connect to app_server for
_SuggestMountFlags, we default to read-only.

(This should however never happen, at present.)
2021-09-27 18:38:03 -04:00
Augustin Cavalier 65fc7380ca power_daemon: Use BServer and do not connect to app_server.
Just like syslog_daemon in the previous commit, power_daemon
does nothing GUI-related, so we can skip connecting to app_server.
2021-09-27 18:35:30 -04:00
Augustin Cavalier ba56491ea0 syslog_daemon: Use BServer and do not connect to app_server.
axeld did all the hard work in 4bf862e368
but did not actually change the instantiation to use BServer. We now
do that, and pass "false" for "initGUI" to avoid connecting to app_server,
as syslog_daemon never does anything GUI related.
2021-09-27 18:34:45 -04:00
Augustin Cavalier 2aa85f5f78 VirtualKeyboard: Fold KeyboardLayoutView back into the Keymap preferences one.
Only one #ifdef, the rest is all in basic if-tests. Relatively minimal changes,
and now the virtual keyboard device gets all the improvements made to the keyboard
layout view over the last 6 years.
2021-09-27 18:25:44 -04:00
Augustin Cavalier ae61e1b716 USB bus drivers: Return error when combining other transfers with a fragmented one.
The drivers do not support this properly at present, they would
run the other transfers interspersed with fragments from the fragemented one,
which is obviously the wrong thing to do.

No USB device drivers seem to do this at present (it would cause data
corruption if they had.)

Fixes #17275.
2021-09-27 16:28:01 -04:00
Rudolf Cornelissen 1681f7f4fe intel extreme: fixed virtualscreen panning glitches on pre-Haswell. Smooth now.. 2021-09-27 22:23:21 +00:00
Augustin Cavalier d5f7f40504 tests/interface/bshelf: Import Container and ShelfInspector.
These come from the Haiku Newsletter, issue 56 article 2, which I
managed to retrieve the source from the Wayback Machine. (They
are based on applications from Be's Sample Code distributions.)

Jamfiles not yet included; the source is in unmodified form,
except the RSRCs have been decompiled to RDEFs.
2021-09-27 16:18:54 -04:00
Jérôme Duval 08d9716a9a video_producer_demo: fix comparison warnings
Change-Id: Ibfc8780c55e229190573918a4cf1f119b5e345c6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4504
Reviewed-by: Franck LeCodeur <cassisian@gmail.com>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-09-27 12:15:05 +00:00
Rudolf Cornelissen fe8f9e2326 intel_extreme: set B_SCROLL, share current mode. Cloning and BWindowScreen now work OK. 2021-09-27 10:19:43 +00:00
Rudolf Cornelissen 1e0fdd6d98 accelerants common:BWindowScreen.CanControlFrameBuffer() now says OK. Note that these mode.flags are _outputs_ from the accelerants 2021-09-27 10:16:59 +00:00
Jérôme Duval bb187c91d8 interface: add colorspaces support for RGB48 and RGBA64
these colorspaces are packed as RGB or RGBA, not BGR or BGRA.
RGB48_BIG and RGBA64 only differ in the endianess of the channel the 2-byte value.

this is a big difference with RGB24_BIG and RGBA32_BIG, in which case _BIG
means the order is RGB (BGR) and not BGR (BGRA).
BGR48, BGRA64 could indeed be added, if needed.

I chose 0x11 and 0x12 arbitrarily, but given the order of channels 0x1011
and 0x1012 might make more sense. This would mean using another bit for "real"
bigendian colorspaces.

Only the color conversion to 32-bits is implemented.

Tested with the RAWTranslator modified to output 16bpp with success.

Found some references in enum AVPixelFormat in libavutil/pixfmt.h.

Change-Id: I4b023dec85d01f1e63e1b053139e5bb5d263a0e0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4468
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-09-27 07:21:27 +00:00
Autocomitter c1432f757f Update translations from Pootle 2021-09-25 08:45:01 +00:00
X512 ad3f57ef5a kernel/debug/frame_buffer: Lock should always be initalized
* Without this, kernel will crash on boot when a framebuffer
  isn't provided by bootloader. (like on the riscv64 today)

Change-Id: I5ec64db30972c7c3b19e4cdb31f0fe72b5982c0f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4494
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-09-24 00:50:21 +00:00
Alexander von Gluck IV 3ea6c00608 radeon_hd/riscv64: Add radeon_hd to minimum image
Change-Id: I44211b3533f99338d7246e88593fc8838628904c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4485
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-09-24 00:48:50 +00:00
Alexander von Gluck IV 2e8ad9a706 bus_managers/pci: Init controller before io regs
* For riscv64,arm,etc, the controller init is used to
  parse the fdt to detect the PCI controller.
* Without the controller being init'ed, we don't yet know
  the base registers of the PCI controller for io activity
  on a lot of architectures / platforms
* x86 doesn't seem to use the io regs until well after
  controller init

Change-Id: I2a04e30e4dc675657b5cd9183240dafd35473998
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4484
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-09-24 00:48:50 +00:00
X512 9720782947 bus_managers/pci: add riscv64 support v2
* Refactored version of X512's original work to split out
  the ecam and fu740 PCI Controllers

Change-Id: I631885af03b0118fb0084ed7aa4a5aa0a355b0fa
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4435
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-09-24 00:46:59 +00:00
Franck LeCodeur e5928728d5 JPEG2000Translator: Fix -Werror warnings
This fix is for ticket #9460 to potentially enable -Werror for JPEG2000Translator.
Original warning: 'char* strncpy(char*, const char*, size_t)' specified bound equals destination size [-Wstringop-truncation]

- Replaced several occurrences of same string with existing constant.
- Use strcmp instead of strncmp as one string is guaranteed to be null-terminated
- Replace strncpy use with strlcpy as seen in other code places.

Change-Id: I5e7ed0de10dc40447a64fe77a7909af577e128ac
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4472
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-09-22 07:27:07 +00:00
Niels Sascha Reedijk 158b8fdab2 libroot: return EOPNOTSUPP from posix_fallocate
The pre-allocate functionality was added to Haiku in hrev54704. It needs
support at the file system level though, and it is yet to be implemented by
BFS. Some applications (and glibc!) implement a fallback mechanism using
ftruncate(), including the LLVM tools, but they go to this fallback
mechanism when it is clear that the operation is not supported. In particular
they look for EOPNOTSUPP.

The current implementation returns B_UNSUPPORTED from the vfs layer when a
file system does not implement the feature. This error code this not map to
a POSIX error. This change converts it to EOPNOTSUPP.

Change-Id: Ief382b0f4d462dfedf84c731f68f69731de4498c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4492
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-09-21 10:22:10 +00:00
Augustin Cavalier cc455ef461 USB: Properly set and reset fFragmented for both SetVector and SetData.
Now that we are not setting fFragmented in VectorLength(), we can
reset it in SetVector based purely on the length of the newly set vectors.

We also need to set it in SetData, as SetVector does not call this.
This fixes an oversight in bc7fd43358.
2021-09-20 12:37:39 -04:00
Augustin Cavalier 8d046e2689 USB: Split WaitForUnbusy from Object::PutUSBID.
In a few instances, we need to not wait for objects to become unbusy
during ID puts because we expect they still will be, e.g. in the case
of Control pipes with submitted transfers that are still running. There,
we need to put the ID, cancel transfers, and only then wait for the
object to become unbusy.

Technically, this is a functional change, but at least in practice
it will have little real-world effect, for two reasons:

 1. The DefaultPipe's Busy flag is basically never updated (the Device's
    busy flag is generally used instead), so it will virtually never be
    "busy".

 2. Most devices have no Control endpoints besides that default one.

Change-Id: I32ff4094effeac9ec74546c9643ea2025418e1c1
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4491
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-09-20 16:28:03 +00:00
Augustin Cavalier faae5dd726 USB: Put the default pipe's USB ID and cancel its transfers earlier during teardown.
This way, any endpoints or interfaces which are currently using the
default pipe for SetFeature/.../etc. will return immediately and
become unbusy.

Should fix the remaining KDLs in #16794 and #16969.

Change-Id: I6615fc03394a0c50eae1ca7da2fb43f243841613
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4490
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-09-20 16:28:03 +00:00
Augustin Cavalier 2ce316ccc8 USB: Refuse transfer submission on pipes that are being removed.
This mostly only matters for the Device DefaultPipe, which is still
accesible even after its USBID has been put, but it makes sense to
do this in general, too.

Change-Id: I6711f1ce8fe79dff54927e3b5e60dec15bb58b14
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4489
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-09-20 16:28:03 +00:00
Augustin Cavalier 2f496b3095 USB: Make Pipe::CancelQueuedTransfers virtual and add a ControlPipe variant.
Control pipes have internal structures to wait for queued requests.
When force-cancelling queued transfers, the callbacks will not be called,
and so such transfers would be left hanging until the timeout occurred
or the destructor destroys the semaphore and mutex.

This probably will not fix any hang-related tickets, though, as force
cancellation is pretty much only used during device/pipe teardown.

Change-Id: I41db7caf380cdd082bc3509e95262317489bf100
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4488
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-09-20 16:28:03 +00:00
Augustin Cavalier 3e0eea85ec XHCI: Add support for fragmented transfers.
I was not actually aware that our USB stack already supported
breaking (bulk) transfers up into smaller units as necessary;
these APIs are not very well documented.

This makes #15569 occur far less often, though it is still
more than possible to trigger.
2021-09-20 12:25:09 -04:00
Augustin Cavalier bc7fd43358 USB: Rename Transfer::VectorLength to Transfer::FragmentLength.
It did not return the length of the vectors, but only the current
fragment's worth of vectors. It also modified the fFragmented flag,
which really should have been set in SetVectors in the first place.

As everything seemed to call IsFragmented after VectorLength,
this is not a behavioral change.
2021-09-20 11:52:54 -04:00
Coldfirex 120e8f6ace Listusb: Fix Wformat-security
Change-Id: Ibd750392467ae097b8728346bd0e9ce33a461a06
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4481
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-09-20 13:38:53 +00:00
Coldfirex 01d5efe3d9 Malloc_debug: Fix Wformat-security
Change-Id: I2f891fff74a003aac7774ee91f2c28d5e65a18f7
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4486
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-09-20 13:38:53 +00:00
Coldfirex 5d9604a222 ifconfig: Fix Wformat-security
Change-Id: Ie4cf563f1ac333824932e1154e44d23e5ea046e3
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4482
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-09-20 13:38:53 +00:00
Augustin Cavalier c8eaa6f988 packagefs: Use WeakReference in PackageNode.
This allows us to stop storing the package flags, which saves 4
bytes per package node (a value that really adds up when there
are thousands upon thousands of PackageNodes), at the cost of an extra
sizeof(int32) allocation for the WeakPointer object per-package (of
which there are are much fewer, of course.)

This also is safer overall, as now consumers of GetPackage() or VFSInit()
will now hit a NULL dereference if they have failed to check if the
package still exists, instead of a use-after-free.

Change-Id: Iea97ffcd491c6e2da7093730a7fa951b84dcefdf
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4478
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-09-20 11:08:13 +00:00
Augustin Cavalier 522c74f3e7 libroot: Use strnlen in strndup.
This is both more correct, as we need to not read past the 'size'
position of the passed pointer, and much faster, in the case where
the passed pointer is into some very large block of memory.

This provides an unbelievable speedup to a microbenchmark posted on IRC
that makes heavy use of this function in tandem with some rather
large allocations. (Some variants of it go from multiple minutes
to under a second!)
2021-09-18 18:20:44 -04:00
Autocomitter ed246fcd6e Update translations from Pootle 2021-09-18 08:45:44 +00:00
Rudolf Cornelissen 96c8657d24 intel_extreme: fix haswell virt display scroll/pan, ticket #17261 2021-09-17 23:46:00 +00:00
Coldfirex 4411ed75b4 Kernelland_emu: Fix Wformat-security
Change-Id: I3b031335844ab4512b8eebc8ead216af9c5fc4ee
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4476
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-09-17 21:24:13 +00:00
Coldfirex b1ce138fe8 PXE_ia32 Network: Fix Wformat-security
Change-Id: I926cdafa422f7544ff7a0fdcc9c5561759066a3e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4475
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-09-17 21:24:13 +00:00
Coldfirex 81329d5c90 ATATracing: Fix wformat-security
Change-Id: I36e71a4705b811e45935bf3faa11b15617b04cc0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4474
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-09-17 21:24:13 +00:00
Coldfirex a33cf10dcf USB Vision and FreeBSDCompat: Fix Wformat-security
Change-Id: Idd7fd80546b414c9db21bc0979412bcd4bf7878d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4460
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-09-17 21:24:13 +00:00
Coldfirex 59642dc3e8 ACPICAHaiku.cpp: Fix wformat-security
Change-Id: I6d06e68e60ced2ca311c3fc505f9f9f51ee05563
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4473
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-09-17 21:24:13 +00:00
Augustin Cavalier 5ea9360258 package_infos/haiku: OpenSSL is enabled for minimum images and not just regular ones.
It has been since 2019. It seems to be added to images anyway,
probably because something else depends on it, but for correctness,
it belongs outside the REGULAR section.
2021-09-17 16:27:59 -04:00
Augustin Cavalier 744f487bc5 headers/libs: Remove expat headers.
We now have an expat build feature that uses packaged headers instead.
2021-09-17 16:26:06 -04:00
Augustin Cavalier a812e3cab1 kernel/debug: Only create an area for the debug syslog if reusing one.
If the debug_output pointer is just a kernel_args_malloc'd structure,
then it is already mapped and we should not be re-mapping it; we only
need to do that if we are using a fixed-map ring.
2021-09-17 16:06:13 -04:00
Augustin Cavalier 4d1c59078b EFI: Hand off bootloader log to the kernel.
Eventually, EFI should get support for the debug log ring_buffer
like bios_ia32 has for transparent handoffs, but this preserves
everything except for the pre-start MMU dump, which is an improvement.

Fixes #15455.
2021-09-17 16:04:20 -04:00
Augustin Cavalier 80519e78aa bootloader: Clarify comment in text_console.h.
The following colors are "foreground colors only" not "foreground colors,
only if".
2021-09-17 15:36:57 -04:00
Augustin Cavalier 5e2d0005c1 libroot: Fix previous commit. 2021-09-17 15:35:51 -04:00
Augustin Cavalier ffbe2ad946 libroot: Reinstate tdestroy.
It was removed in hrev55422 as we never had declared it in any headers.
But it seems some software came to depend on it anyway. Reinstate it,
and add a declaration for it, behind _GNU_SOURCE.
2021-09-17 15:34:10 -04:00
Augustin Cavalier aa04f48dcf Remove some unused headers. 2021-09-17 15:29:00 -04:00
Augustin Cavalier 5ee918678e USB: Track object busy-ness and wait for an unbusy state before teardown.
This reverts and replaces hrev53141, hrev53200~1, and hrev53888.

Two years ago (in hrev53141), I added checks to validate that Devices
were not in the process of being torn down before using them, to fix
a race condition KDL. Further logic was added in hrev53200~1 and in
hrev53888 for Pipes.

Well, upon closer inspection following the reports of #16794 et al.,
it appears upon closer inspection there were still two more race
conditions lurking in there: the first between Get and InitCheck, and
the second between InitCheck and use.

To resolve both of these, a new atomic "busy" flag is added to objects,
which is incremented before unlocking the objects array, and then
waited on before actually proceeding with teardown.

The older checks about initialization status are now superfluous
and are removed in favor of an earlier PutUSBID() invocation in Device.

While #16794 was fixed by hrev55429, some of those or related KDLs
might have been caused by these races. This also re-resolves #15115,
along with #14949 and #15710.

Change-Id: Ifcae84945a81123af5ef4683a6e33dc1eec5b23c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4421
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-09-17 18:25:00 +00:00
Augustin Cavalier b3683d8aee XHCI: Get rid of the PortSlots array and use ControllerCookie in FreeDevice.
This array was introduced by korli in hrev44089~1 (2012). It "mapped"
ports to slots using a device's HubPort, and then used this value in
FreeDevice() to locate the xhci_device struct in question.

Well, when there are non-root hubs in use, the HubPort values can
of course collide, leading us to tear down the wrong device in many
circumstances. This appears to have been the true cause of #16794,
and probably also #16878 and #17266, and maybe even some others.
2021-09-17 13:33:02 -04:00
Augustin Cavalier 31caaec069 kernel: Print <DROP> at the beginning and not the end of dropped regions.
This way there is a better indication of where the drop occurred.
2021-09-16 15:05:48 -04:00
Augustin Cavalier 7cde125283 kernel: Write parts of truncated messages to the log.
In case any one message (or, more likely, importing the bootloader's
syslog buffer) is too large for our buffer, do not discard it, but
keep as much as we can, and print <TRUNC> at the beginning of it,
to distinguish from <DROP>. (Documentation already notes <TRUNC> as
a possible thing to find in the syslog.)
2021-09-16 15:04:54 -04:00
Augustin Cavalier 7fd1fb8745 kernel: Correct bootloader syslog buffer handoff logic.
If keep_debug_output_buffer is true, then we reused the syslog buffer
the bootloader allocated (and which has just been re-mapped above),
so we do not need to write the buffer in again (and moreover doing so
is incorrect, as it contains a raw ring_buffer header, and will be
larger than the buffer.)

This fixes "<DROP>" appearing at the beginning of all syslogs (or at least,
ones that began with handoffs from the bootloader) spuriously when
the whole buffer was really present anyway.
2021-09-16 15:02:05 -04:00
Augustin Cavalier ad56cbbb6e USB: Add asserts under KDEBUG that IDs being put have no remaining children.
Change-Id: I100828d2724d65ab0841e1262c7db7e144b56aab
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4441
2021-09-16 13:17:34 -04:00
Augustin Cavalier 838251124c USB: Rework Device deinitialization and destruction.
* Destroy interfaces and endpoints before deleting the default pipe,
   as all of these may actually use the default pipe at any time
   while they are alive.

 * Remove the default pipe and then ourselves from the stack before
   deleting the default pipe, as it also may be used at any time.

May help with some of the open tickets about USB stack KDLs.
2021-09-16 13:17:34 -04:00
Franck LeCodeur 1fb138bf94 ext2: Fix build warnings, enable Werror
This fix is for ticket #9460 to enable -Werror for ext2.

- Unused functions are removed.

- The ASSERT macro was redefining a different ASSERT macro from the included files. Now it gets undefined first.

- One comparison side was cast to ptrdiff_t because X86_gcc2 complained about signed/unsigned comparison

Change-Id: Ib0caade2f83de34c04acc0fc6aa5ed50712daec4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4453
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-09-16 06:52:00 +00:00
Augustin Cavalier 4d21f567e7 XHCI: Fix up 3a71862e99.
Now the logic is actually identical.
2021-09-15 19:20:25 -04:00
Augustin Cavalier 1da090bc56 XHCI: Add assert that the context is really page-aligned if needed.
_OffsetContextAddr assumes it will be in order to do some rather
annoying pointer arithmetic, but that was never actually asserted.
2021-09-15 19:02:50 -04:00
Augustin Cavalier 2296578c93 XHCI: Put speeds in order.
No functional change.
2021-09-15 19:01:57 -04:00
Augustin Cavalier decd5b8ff5 USB: Clarify that BusManagers do not really have usb_ids.
Instead their IDs are indexes into the stack, and are used primarily
for TRACE*() printing, so move the getter function into a "protected"
block and rename the variable appropriately.
2021-09-15 19:01:39 -04:00
Augustin Cavalier 3a71862e99 XHCI: Rework port route computation code.
The new code should be functionally identical to the old,
but it uses fewer variables and should be significantly easier
to understand than the old.
2021-09-15 19:00:38 -04:00
Augustin Cavalier f20f55692d XHCI: The root hub address is always 1.
AllocateAddress() is the pre-USB3 way of doing things;
as we never use it anywhere else and it is specific to
each BusManager, we always just got 1, which is what
the root hub will always be anyway.

Additionally, clarify the logic in _InsertEndpointForPipe
that is special-casing the root hub.

No functional change intended.
2021-09-15 18:58:46 -04:00
Augustin Cavalier 05709fe3f7 headers: Fix B_CURRENT_IMAGE_SYMBOL for GCC2.
Apparently GCC2 does not like &__func__, so just drop the &.
Fixes #17253.
2021-09-15 11:38:20 -04:00
Augustin Cavalier abe937985d libroot: Replace glibc search implementation with musl's.
glibc's hsearch and tree functions are old and rather slow.
While these APIs do not appear to be used very often, these
changes can make a big difference: in one benchmark I was sent,
this change is nearly a 10x speedup or more in some cases.
2021-09-15 10:52:02 -04:00
Augustin Cavalier 64e742def3 media: Declare wildcard fields const.
This is a source compatibility break from BeOS, but should not
be an ABI one (I checked, the symbols are identical.)

Also use "= {}" in the definitions of the fields. We use this
in plenty of places in the kernel, so it should be OK for GCC2.

Change-Id: Ibe05b2236d46024d7b4563ae16e1cc7140fed965
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4434
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-09-14 20:43:29 +00:00
Jérôme Duval 40793c1ef6 RAWTranslator: switch to libraw as backend when available
tested with .cr2 and .dng single pictures.

Change-Id: I9a4802300fd2afe14c085ca18faa8a1e20c52bfd
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4452
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-09-14 08:06:41 +00:00
Rudolf Cornelissen f2a79670ae intel_extreme: Fixed virtualscreen setup, ticket #17261 2021-09-14 02:04:02 +00:00
Coldfirex 9a76b18fb6 Libnetapi: Fix wformat-security
Change-Id: I0898cd18e7721eee26ccbe557c385f4e61c3025f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4448
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-09-13 19:39:11 +00:00
Lt-Henry a731585f88 HID: Fix usage page following hrev55413.
Modifications made on hrev55413 removed UsageID from array Items,
but also (bug here) broke UsagePage, needed by KeyboardHandler
in order to recognize items as Keyboard ones.

Fixes #17263.

Change-Id: I4b73c69240f31d3c8c2aacf6bab0d270f2053387
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4458
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-09-13 18:13:32 +00:00
Panagiotis Vasilopoulos c1740f4f53 Drivers: Fix -Wformat-security
Follow-up for Alan Shearer's change. Useful when the buffer contains the
character "%".

Change-Id: Ia6771a2d71306ca97e7c03f0e986ad3cfe100684
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4459
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-09-13 09:24:14 +00:00
Jérôme Duval cc6736afae StreamBuffer: fix Position() for read streams
the file position corresponds to the end of the buffer.

Change-Id: Ib67dcfe1f43d959777c2f6dbf84181f25a022a7c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4447
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-09-13 05:53:22 +00:00
Coldfirex 5b2fc19fa0 PC_Serial and USB_Serial: Fix -Wformat-security
Change-Id: Ia150eaf0e639c03b3d1f267d9ee582ff82bf0d21
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4442
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-09-11 16:59:47 +00:00
Lt-Henry 366e9a62e9 hid: Fixed report parsing bug. Support for keyboards using bitmap reports
* I've added support to multiple min-max ranges to array reports too.
* All possible usages are stored in an array (Vector<uint32>). Perhaps, this can be squashed into an array of ranges.
* Usage array is stored in HIDReport class, so there is only one copy of it.
* HIDReportItem no longer has UsageMinimum()/UsageMaximum() as this no longer works. Instead, a Usage() member has been introduces.
* HIDReportItems of type variable, have a Usage ID assigned to them. HIDReportItems of type array have a zero usage ID as it has no sense.
* Having a variable typed HIDReportItem to store a range of usages ID doesn't seem a good idea to me because Data() method would have to return the values of all usages... or perhaps ask for a specific usage value with something like Data(0x03). This will require changes in hid stack and overcomplicate things.
* A bitmap keyboard is a worst-case scenario: Near a hundred of usages (uint32) are stored and the same quantity of HIDReportItems are created (this is already happening on Haiku). It doesn't seem a resource drama to me.
* Keyboard Handler has room for improvement, but I would like to left that for another patch series.

Change-Id: I556fa0aebfda831ef5334be5ae3a37f099ffa35d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4403
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-09-11 11:12:38 +00:00
Jessica Hamilton 8f362bfdfc haiku_devel: use relative symlinks to libraries in haiku package.
* This helps with creating a sysroot, otherwise extracted package
  links refer to /system, which is outside of the sysroot.
* Should have no functional impact on Haiku, as these are already
  symlinks

Change-Id: I29f719dc2c0839dd090e7f33eea0b8f98e0d6355
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4218
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-09-11 11:12:10 +00:00
Autocomitter b40866e65f Update translations from Pootle 2021-09-11 08:50:45 +00:00
Augustin Cavalier 60fee365f5 kernel/vm: Allow locking kernel space if allocating page_protections for userspace.
Some applications may request per-page protections for an especially
large area (e.g. multiple GB), which leads to allocating a rather
large page protections area (e.g. 512KB), which we cannot allocate
without locking the kernel space to get new slabs.

We only need to avoid locking the kernel space if the area in question
is in the kernel space, as in that case, kernel space will already be
read-locked by the current thread.

Fixes #16898.

Change-Id: If52413a594da66edfc2821811d959085a2c3c78e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4436
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-09-10 18:49:33 +00:00
Augustin Cavalier 2f001d82b6 kernel/slab: Add missing support for CACHE_DONT_LOCK_KERNEL_SPACE.
This codepath is only hit for especially large malloc'd areas that
do not fit into an object cache, which is a rather rare case to
have in tandem with DONT_LOCK_KERNEL_SPACE, but we need to be
prepared for it in this code anyways.

Probably this codepath would previously have caused a hang due to
attempted double lock of the kernel addres space. Unfortunately
it appears our rw_locks do not actually detect that at present,
so likely I should investigate that next...

Change-Id: I3c9059d3e3939271beeeff221ebc921bc07ddf00
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4438
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-09-10 18:49:33 +00:00
Niels Sascha Reedijk 530f89aa6d BString: rewrite cleanup methods
This removes the use of the destructor in the move assignment operator, as it
may rely on undefined behaviour from the compiler. Additionally, some duplicate
logic to dereference and free a shared string has been unified under
_ReleasePrivateData().

Change-Id: Ie9f51d598c734f83cd0fba49b651315c6e9c8aac
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4440
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-09-10 05:34:06 +00:00
Coldfirex 6da19c9e40 tiffinfo: remove unneeded iostream.h
Compiling previously showed "fatal error: iostream.h: No such file or directory".  64bit didnt like simply removing the .h, though 32bit didnt complain.

Change-Id: I1d76f8007b662e5bf2006faf60f5bb3406bab18b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4443
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-09-10 04:51:57 +00:00
Coldfirex 198e5ee21c LoginApp: Fix -Wformat-security
Change-Id: I59786b57cee40b9fcb3e83da74b5c61dd7a5c550
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4437
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-09-09 22:25:48 +00:00
Gerasim Troeglazov c377d66126 Cortex: use vector icons
Change-Id: I49f6bdf93366221330ca29281e3465d9b7452402
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4405
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-09-09 22:22:14 +00:00
Gerasim Troeglazov b24faa52b4 VideoWindow consumer: buffer initialization shoud be done after format acceped.
Video generated by DemoVideoProducer is now displayed correctly

Change-Id: Idaed170a355ae7ed0b50c143a5c6c33da1393551
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4401
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-09-09 22:19:31 +00:00
Augustin Cavalier 17f42bc1d9 XHCI: Check earlier on that the endpoint is actually valid.
This may catch the "division by zero" KDLs earlier.
Related to #14943, #16794, and #16878.
2021-09-09 18:02:37 -04:00
Augustin Cavalier 0945c7e4e6 demangle/GCC3+: Improve/fix behavior of ClonedNode.
Most of the ClonedNode methods just forward calls as appropriate to
fNode or fClonedNode, but missed that fNode is itself always an ObjectNode.
Now we store that, and forward on the two relevant ObjectNode calls.

This fixes kernel stack trace function demangling where the symbols
contained clones (e.g. "[clone .localalias]", etc.). Before this commit,
such symbols would just appear as "()" and no more.

The "[clone...]" block will in such cases appear after the function name
and not after all the function parameters, as the two are returned
separately and there is no way to indicate how they should be printed
in the kernel's API usage of these functions.

ClonedNode was only introduced a few months ago in hrev55147,
so this has not been broken for too long.
2021-09-09 16:23:12 -04:00
Augustin Cavalier 5433e7e27d MultiAudioNode: Print a message when rejecting buffers.
This file just uses fprintf(stderr, ). Probably it should be
converted to use macros...

This allows for easy debugging of silence by restarting the media addon
server in a terminal. Eventually we should fix #17245.
2021-09-09 16:08:00 -04:00
Augustin Cavalier 37ea891aad Enable -fvisibility=hidden on static libraries by default.
Only on non-GCC2 for now, as GCC2 does not have -fvisibility.

An opt-out is left as a possibility, and is unfortunately necessary
for libshared and libicon, as these two are used even in WebKit instead
of linking to the .a. However, libcolumnlistview, libagg, and a whole
bunch of others are now no longer exported, so this is already a major
improvement on what symbols we were leaking.

This may provide performance differences for consumers of these APIs,
as GCC and the linker are now free to merge and directly use functions
that previously could have been semantically interposed. AGG usage in
app_server, especially, may benefit.

We can also now remove the addition from libnetservices, so do that.
2021-09-08 17:32:47 -04:00
Augustin Cavalier 03980b1fb0 build: Make LinkAgainst recursive for static libraries.
That is, it will now pull in NEEDLIBS and LINKLIBS set by LinkAgainst
from static libraries also built by Jam. This allows specifying what
libraries other static libraries need only once (in most cases;
occasionally things are not evaluated in a sane order and then
this does not quite work.)

Use this for libnetservices.a, which needs libshared.a, so that
dependencies on it do not have to be declared within most in-tree
consumers of libnetservices (e.g. Package Kit, http_streamer, etc.)
2021-09-08 15:03:06 -04:00
Augustin Cavalier 0c69dde91f Jamfiles: Add missing link against libshared to two apps.
They still built succesfully because currently we leak a lot of libshared
symbols into libbe (or even libroot!). That will change in upcoming commits.
2021-09-08 14:57:33 -04:00
Augustin Cavalier 90f9eb2190 NetworkStatus: Remove TARGET_PLATFORM_HAIKU_COMPATIBLE test.
We no longer build things for BeOS.
2021-09-08 13:40:21 -04:00
Niels Sascha Reedijk 0b86520c4d BString: add support for move semantics with C++11 and up.
This implements the "rule of 5" for this type. While the copy operation for
BString was already using shallow copies of the underlying data, this change
further optimizes moving the data from one object to another.

While it is not the intention to implement move semantics to all types in the
legacy Haiku/Be kits, data types like BString are good candidates, because move
operations are often useful when working with data within an application.

In this implementation, the internal data of the string object will be set to
NULL, thus leaving an empty string.

Change-Id: I16bf9424f9b17f622b0b57659b80628e18760288
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4428
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-09-08 07:07:36 +00:00
Augustin Cavalier 3cf06bfc6b libnetservices: Set -fvisibility=hidden (on non-legacy GCC.)
Otherwise, the symbols will be re-exported into whatever shared
libraries the static library is linked into, and potentially conflict
with other applications that also linked against some other version
of the same library and symbols.

Fixes #17134, or at least the crash portion. I couldn't get any
audio or video to play here, they seemed to just cause WebKit to
stutter and hang a lot when trying to load pages with them. Maybe
that's expected behavior, though?
2021-09-07 19:32:37 -04:00
Augustin Cavalier 5c7bfa02d0 mixer: Remove "Haiku" from the displayed name and info.
We are no longer running these addons on BeOS.

Change-Id: I4baa562bfdfaab56a92689c29d068ec59b2ee9d0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4433
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-09-07 20:46:19 +00:00
Augustin Cavalier f91a86c46f Cortex: Bounds checks in AudioFilterNode::processBuffer.
Processing more than framesRemaining leads to buffer overruns.
2021-09-07 16:18:22 -04:00
Augustin Cavalier dc912367ae Cortex: SpecializeTo() once more before creating the operation.
If the incoming node is still pretty generic, we have to specialize
the input format to the output format in order to not be left with
wildcards.

Additionally, ensure that the frame sizes match up. MultiAudioNode
silently rejects buffers that are not sized precisely as it wants
them, so we need to attempt to have equivalent frame counts
on either end.
2021-09-07 16:17:31 -04:00
Augustin Cavalier 4f7febcdf2 Cortex: Use format_is_compatible and SpecializeTo() where applicable.
Same as the prior change to MultiAudioNode. Should not be a functional
change here, as this code looked pretty correct as it was.
2021-09-07 16:15:34 -04:00
Augustin Cavalier 3006aae081 Cortex: Use bytes_per_frame in another case.
No functional change.
2021-09-07 16:14:25 -04:00
Augustin Cavalier 3a7aca9728 Cortex: Use B_AUDIO_SIZE_MASK instead of a constant.
No functional change.
2021-09-07 16:13:59 -04:00
Máximo Castañeda c634a5cf32 nVidia driver: gcc2 build fix
Change-Id: I6b3f7d25ef66bd5789aa12dbccfd8e9da9701c0f
2021-09-07 21:08:00 +02:00
Augustin Cavalier 223769c60c multi_audio: Clean up formats reporting support.
* We are no longer on BeOS and can now use format_is_compatible
   and format->SpecializeTo.
 * Remove set-but-unused media_format in node_output.

This allows AudioAdapter to connect to MultiAudioNodes.
However, no sound is produced. I have yet to determine why.
In the meantime, this seems to at least not break audio.

Change-Id: I983a496556c52a4ccde0c2cd165c659d597b84c3
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4432
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-09-07 17:06:00 +00:00
Rudolf Cornelissen b66c201f91 nVidia driver: for PCIe map framebuffer correctly (64bit) 2021-09-07 09:24:17 +00:00
Augustin Cavalier ec16c2aedc media/mixer: Disable and remove USE_MEDIA_FORMAT_WORKAROUND.
Apparently BeOS' SpecializeTo() was broken, and so when this code
was introduced in 2003, it came with its own copies of the
specialization routines.

We don't run on BeOS anymore, and our specialization routines
appear to be identical to these, so, we can drop them.

Should not result in any functional change.
2021-09-06 20:35:52 -04:00
Augustin Cavalier 7ba8de3cac Media nodes: Add missing "const" around usages of media format wildcards. 2021-09-06 20:34:38 -04:00
Augustin Cavalier 1640b4de64 multi_audio: Style and dead code cleanup.
No functional changes intended.
2021-09-06 19:52:30 -04:00
Augustin Cavalier 2e8023b371 libroot_build: Use "=" instead of "+=" for clarity's sake.
No functional change.
2021-09-06 17:01:25 -04:00
Augustin Cavalier 86b6d54b46 listusb: Fix typo in usb_audio descriptor printing. 2021-09-06 16:50:27 -04:00
Augustin Cavalier 906fe09778 libroot_build: Rework path normalization to not rely on system calls.
This path normalization was functionally a recursive lstat(), which
should theoretically be identical to rooting the path in the CWD
and then normalizing the rest of the components after that.

Well, a recursive lstat() is much slower than simple manipulation.
How much slower? Well, on my system, the existing lstat() version
took up a combined total of 63,284,607 us for building haiku.hpkg
(only the package itself, no other components rebuilt), while
this new version uses just 47,901 us -- and this just for a @minimum!

I performed a full @nightly build with both versions in use at once,
with an abort() in place if paths ever did not match, and it
did not fire once. (I even sabotaged the new function just to
ensure that it would actually find differing paths.)

This code was merged in 338b8dc301 (2005),
and has remained largely unchanged since then. I don't know what the
rationale was at the time for using this method instead of this much
simpler version. Perhaps the 3-argument normalize_dir_path was written
first and used more, while this 2-argument version was added later
as a simple shim? But the original commit has no uses of the 3-argument
version aside from the 2-argument one...

Either way, this is an absolutely unbelievable speedup to Haiku builds.
These functions are hit in every I/O operation of all libroot_build
users, and their usages really do add up, as the example above shows.

Fixes #16288.

Change-Id: Ia11f64b0d4106ee62f22741a32ccc0c75c184442
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4427
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-09-06 20:49:37 +00:00
Augustin Cavalier 1ea3818ff5 LocaleRules: Ignore errors in ExtractCatalogEntries.
It seems GCC has the same behavior as Clang now, so we can ignore
errors generated while preprocessing. (Previously we did anyway,
before the recent commit adding -e to JAMSHELL flags, so this
just continues previous behavior.)
2021-09-06 16:45:13 -04:00
Alexander von Gluck IV 7068c45485 system/uart: refactor debug_uart, fix arm uart
* Drop ArchUART8260 layer to reduce complexity. It's whole
  existance in life was to adjust the mmio alignment.
* Fold architecture mmio alignment into DebugUart
* We could potentially pass a Init(int mmioAlignment)
  arg in the future if the macros get too messy.
* Move Barrier code back a layer into DebugUART
* Fixes the arm uart and EFI build

Change-Id: I0f127d902993e9f6e6a03cac8c7c37c0363134bf
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4422
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-09-06 20:37:14 +00:00
Augustin Cavalier 34fef46b06 configure: Pass -e to JAMSHELL.
We have a number of "actions" blocks in our Jam rules with more than
one command, and so without -e, the actions will only fail if the last
command does. This is clearly not what was intended in virtually all
cases, so we should pass -e to the shell to ensure any command failing
causes the whole actions to fail.

I am kind of surprised that nobody noticed this before now, even
in the original Jamrules going back to the Perforce days. I only
noticed it because I experimented with making "rm" fail to find
places where it was invoked instead of $(RM)...
2021-09-06 16:02:17 -04:00
Augustin Cavalier db0b7d8401 build: Use $rmAttrs and $(RM) in more places instead of 'rm' directly.
Should not result in a functional change in most cases, but it might
on some systems without full xattrs or emulation.
2021-09-06 15:59:44 -04:00
Augustin Cavalier d8ffdea39e build/scripts: Add missing set -e to rm_attrs. 2021-09-06 15:58:03 -04:00
Alexander von Gluck IV 08d9e48492 servers/bluetooth: Fix scaling of deskbar icon
Change-Id: Id83a1aeb9736be1d08ba10bb52ab81f2cab11625
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4426
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-09-06 16:22:31 +00:00
Adrien Destugues 85ab8ef650 ps2 synaptics: don't spam the syslog when nothing happens
Some logs are emitted even when nothing at all is happening, constantly
spamming the syslog. Log them only the first time they happen.

Change-Id: I81511a7ce245c2141fa3dcd141b2f3732d9b51ad
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4424
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-09-05 23:49:44 +00:00
Adrien Destugues fdbbdccc05 ps2: allow more selective tracing
In some cases, we don't need the full tracking of every byte received at
the PS2 level, but higher level traces from specific devices will be
enough.

Change-Id: I31984e6b7784b5d033b457f43f3793f772213f4a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4423
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-09-05 23:49:44 +00:00
Augustin Cavalier cadaf7583f XHCI: Resolve TODO about referencing the specification in isochronous handling. 2021-09-04 13:12:25 -04:00
Augustin Cavalier 16414ce406 USB: Add assert that GetObjectNoLock is only called from the debugger. 2021-09-04 13:11:31 -04:00
Augustin Cavalier 549e9a3cdc USB: Adjust comment about stack drivers for clarity.
No code changes.
2021-09-04 13:11:02 -04:00
Alexander von Gluck IV 4a70391472 arm: make sure fdt bus_mananger is added for arm
* Fixes build and arm arch alignment for
  AddBootModuleSymlinksToContainer

Change-Id: I39c8270623bf00e484c5eb0335be6da33f1604aa
2021-09-03 17:34:42 -05:00
Augustin Cavalier 39fb148abd UHCI: Disable isochronous transfers support.
It busyloops, and at least on QEMU, does not seem to work at all.
2021-09-03 17:27:48 -04:00
Augustin Cavalier b99d228dce usb_audio: Set real_time from the time during device buffers exchange.
As opposed to driver/userland buffers exchange. This is what the other
multi_audio drivers do.
2021-09-03 17:27:10 -04:00
Augustin Cavalier ccb3e7120c usb_audio: Clean up buffer management.
* Get rid of fPacketSize and use fSamplesCount in GetBuffers instead.

 * Clarify logic in _TransferCallback.

 * Properly multiply in kSamplesBufferCount to fAreaSize
   (this should be the only functional change in here.)

The larger buffers (now similarly sized to HDA at least in the
default cases of 44100 or 48000) seem to help with jittering
and discontinuities, which are significantly reduced now,
at least under emulation.
2021-09-03 17:25:21 -04:00
Augustin Cavalier 34352671ed usb_audio: Yet more code cleanup.
Slight logic tweaks but no real behavioral changes intended.
2021-09-03 17:21:47 -04:00
Augustin Cavalier 7a3c48b407 kernel/apic: Add missing include.
This only is needed on certain build configurations for some reason.
Thanks to augiedoggie for reporting.
2021-09-03 13:53:51 -04:00
Augustin Cavalier d92c60dc03 multi_audio: Rework validity checks in the constructor.
In hrev55048, checks were added to bail on initialization if invalid
audio formats were present either in inputs or outputs, which broke
any audio nodes that supported only one or the other. Now, instead,
we check channels first, and even then do not bail on invalid formats,
but simply do not declare support for inputs or outputs respectively.

This solves the initial cause of #17235. However, that ticket refers to
an unrelated problem this bug merely exposed, and so it should remain
open until that is resolved.
2021-09-03 11:18:27 -04:00
Augustin Cavalier 625b5fc8fa XHCI: Use a more approriate error code.
Stalls cause "HALTED" conditions on endpoints, so use B_DEV_STALLED.
Also clarify the comment referencing the specification, and add a
missing linebreak to the error message.
2021-09-03 11:15:48 -04:00
Augustin Cavalier 7b2bc8351a usb_audio: Properly separate kernel and userland data.
* Allocate the descriptors array separately from the data area.
 * Clone the data area for kernel use separately from userland use.

Fixes the remaining SMAP problems with this driver.
2021-09-03 11:14:34 -04:00
Augustin Cavalier 140c408d7b usb_audio: Correct mixup between Input terminals and Input streams.
An "Input" terminal in USB audio terms refers to any stream of audio
going "in" to the USB device, whether that be from the outside world
(e.g. a line in jack) or from the computer (e.g. via USB OUT endpoints.)

So we cannot rely on the terminal type to tell us whether it is an in
or an out for our purposes, we have to check the stream type, and then
use that to declare to multi_audio what kind of stream we have.

Fixes USB audio mixing up inputs and outputs, especially on devices
that only have one or the other and not both. (QEMU manifested
this problem.)
2021-09-03 11:13:29 -04:00
Augustin Cavalier 3f7da9312e usb_audio: Code cleanup.
No functional changes intended.
2021-09-03 11:08:18 -04:00
Murai Takashi 95682340fb lgtm yml: remove buildtools archive after unzip it.
This may help fixing lgtm build failure "There is not enough space on the disk".

Change-Id: I5db5748b73e611ec6b66a8effdf5ad39969f9bde
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4415
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-09-03 11:49:54 +00:00
Augustin Cavalier e755ecb584 USB: Move usb_iso_packet_descriptor to a separate header.
The USB Kit uses it, so this allows the USB Kit to stop including
USB3.h.

Change-Id: Ifde025ec41bef92013fda0440d60b7216cfdbe4a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4413
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-09-02 16:00:17 +00:00
Gerasim Troeglazov 9ac8709cef CodyCam: fix position and size for ControlWindow
Change-Id: I8a305cab294c788179d8e81d12a9be768d5fb925
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4406
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: John Scipione <jscipione@gmail.com>
2021-09-02 15:52:07 +00:00
Augustin Cavalier 2331cde84f XHCI: Fix RemoveEndpointForPipe.
It seems this has been broken since I originally wrote it in 2019,
but it only gets called in two scenarios: on device unplug (where
it does not really matter), and on interface changes (where it does.)
Apparently very few people tried to use devices that depend on interface
changes, because those would have been totally broken by this.

There were actually two bugs here:

1. ConfigureEndpoint should not be called with the Deconfigure bit set.
(See inline comment.)

2. The first bit must be set in the context add flags.

Fixes #14971 at least, and possibly others as well.
2021-09-01 19:48:19 -04:00
Augustin Cavalier ad245b6cdb XHCI: Fix endpoint flags bits macros.
There can be up to 32 endpoints, so the correct mask is 0x1f.
Checked against FreeBSD.
2021-09-01 19:44:37 -04:00
Augustin Cavalier 22002cf4a5 USB: Rename usb_endpoint_companion_descriptor...
...to usb_endpoint_superspeed_companion_descriptor, as it is
really SuperSpeed-specific (there are more companion descriptors
introduced in SuperSpeedPlus.)

No functional change, and this is a private struct at present.
2021-09-01 14:41:12 -04:00
Augustin Cavalier 6425e173b1 Add more missing headers following previous commits.
These also are only a problem on riscv64; I guess thread.h
must not be included in some arch header there.
2021-09-01 14:15:17 -04:00
Alexander von Gluck IV 372b901dfe riscv: cleanup architecture macro checks
* We really should get out of the habbit of making up
  our own architecture defines.
* __riscv with an additional  __riscv_xlen is the
  standard that developed... let's just roll with it.

Change-Id: Ieb777d48340ae25a6d66f66133afa0ec5c6da9b6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4402
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-09-01 18:04:59 +00:00
Augustin Cavalier f40bacae87 kernel/slab: Add another missing include following previous commits.
Somehow, this only errored on riscv64. Go figure.
2021-09-01 13:53:05 -04:00
Augustin Cavalier 1029af1793 Add missing includes following previous commit.
All these files were making use of headers included indirectly
through AutoLock.h that are now no longer following the previous commit.
2021-09-01 13:10:04 -04:00
Augustin Cavalier 057fe1910d kernel: Break thread-related AutoLockers into a separate header.
Including thread.h brings a massive array of things with it from
the kernel thread arch headers, team and thread definitions,
hash tables, linked lists, Referenceable, etc. that the vast majority
of AutoLock.h consumers neither want nor need.

So, put these in a separate header, and adjust all consumers of these
lockers to include the new file.

This change exposes the fact that a lot of files were inadvertently
making use of headers included indirectly through thread.h. Those
will be fixed in the next commit.
2021-09-01 13:08:49 -04:00
X512 a0c6f022c4 device_manager: add path and module name attributes
* Set driver module name of device_node.
* Set device module name and path for published devices.

This helps to understand what driver is used, and it's /dev path in the
Devices app.

Change-Id: Ibd902a322da7e4276052bd4429a7b869a56a592b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3390
Reviewed-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-09-01 02:23:54 +00:00
Augustin Cavalier 0ac46a4ae9 kernel/debug: Adjust range marker macros.
Previously these were just using the raw function name, which led
to markers like "Slab_begin". Now we prefix RANGE_MARKER_ so there
is absolutely no chance of confusion, and the symbols are clearly
visible in dumps.

Also add a note that the kernel must be built with -fno-toplevel-reorder
for these to work. (It seems when this was implemented, GCC had not yet
implemented top-level reordering.)

They are only used for debugging with the tracing system in a handful
of places, and -ftoplevel-reorder is enabled with optimizations for
a reason, so it makes more sense just to note this and not to enable
that option by default (i.e. in the off chance someone will want to
use these in non-debug builds, like I did.)
2021-08-31 22:00:36 -04:00
Fredrik Holmqvist f65d15c59a AARCH64: Do not add uboot to bootoloader
Aiming for RPi4 and there we can do UEFI + ACPI:
https://rpi4-uefi.dev/about/
2021-08-31 20:25:23 +02:00
Fredrik Holmqvist 336321b113 AARCH64: Implement enough of relocations to get kernel loaded 2021-08-31 20:22:15 +02:00
Coldfirex e4f758ee83 Update missing arch relocations
Change-Id: I2d48b810f5e3143377fa58e1de5801ebf0be82cd
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4409
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>
2021-08-31 18:05:45 +00:00
Coldfirex 3d4afef9cb Bump vmx files to virtualHW.version = '13'
Will allow USB3, 64vCPU, NVME, etc.  Versions below 13 are only for vmware products currently EOL.

Change-Id: I83303ab985f615852267e2539b350f72f05231e7
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4410
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-08-31 16:05:50 +00:00
Augustin Cavalier 6c0b410650 kernel/slab: Fix build with SLAB_ALLOCATION_TRACING enabled.
Unfortunately it does not work, I get this when invoking
allocations_per_caller at the kdebug prompt:

     92513     9162096  0x0000000000000000  <NULL> + 0x0 (commpage) (nearest)
     12602     2108408  0xffffffff80132a50  _Z23add_alloc_tracing_entryP11ObjectCachejPv + 0x70 (kernel_x86_64)

The stack tracing system must be broken, or maybe it has never been
properly adjusted for x86_64.
2021-08-30 20:28:03 -04:00
Augustin Cavalier 084c6fa130 libuuid: Tweaks to Jamfiles.
* Do not define _KERNEL_MODE in the build variant.

 * Use KernelStaticLibrary so that _KERNEL_MODE
   is defined automatically in the kernel variant.
2021-08-30 18:50:46 -04:00
Gerasim Troeglazov c7bd3e69fa Tracker: fix generating filename on duplicate
sizeof for the pointer can't be used for buffer size calculation

Change-Id: I9c6b04ebc7abc3864a64fb6202e457eeb8d6787f
2021-08-29 20:49:47 +10:00
Fredrik Holmqvist caa2b52eaa Intial HaikuPorts config for ARM64 2021-08-28 17:47:22 +02:00
Fredrik Holmqvist 00ca8b4cf2 Avoid adding uboot for ARM64 bootloader
Maybe it will be needed on real hw later.
2021-08-28 17:42:31 +02:00
Fredrik Holmqvist a6a9b8b703 Remove fdt from arm64 haiku image
Might be added back later, at the moment fdt code is not done
2021-08-28 17:34:10 +02:00
Augustin Cavalier f27a660a6a kernel: Style fixup. 2021-08-27 19:02:20 -04:00
Augustin Cavalier 9c91c3b5a2 kernel: Adjust timeout computation for syscall_restart.
If the timeout is already >= B_INFINITE_TIMEOUT, we do not need
to do any of the following math (which would usually overflow anyway)
and can leave the timeout alone.

Spotted by kernel undefined behavior sanitizer.
2021-08-27 18:57:50 -04:00
Augustin Cavalier 3ca830e364 kernel/team: Adjust address_space assignment slightly.
For the kernel team, we now assign it in team_init instead of having
a special case in Team::Team(), making things more similar to the
userland team creation.

Should not change any real functionality as Team::Create calls
almost nothing outside of this file.
2021-08-27 18:57:50 -04:00
Emmanuel Gil Peyrot 147b47e086 Translators: Add an AVIF translator
This translator only supports still images for now, and supports both
decoding and encoding.

Encoding support has been tested only with aom, rav1e doesn’t build on
Haiku yet, see https://github.com/haikuports/haikuports/pull/5534 for
one of the missing dependencies.

Change-Id: I716f4b862ed316b89b227bfed38072d72074201f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3040
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-08-27 19:04:28 +00:00
Augustin Cavalier 6bb8ecb02b package_infos/generic: Remove ">= 66" from ICU.
The "update dependency versions" step automatically adds the requisite
versions to this file during the build based on whatever the build
system is actually using, so this is not necessary; and it seems
that some architectures besides GCC2 are still on a version of ICU
less than 66.
2021-08-27 14:08:45 -04:00
John Scipione f7e7bce8e1 Tracker: Truncate long file names in middle
... so that you can see the extension.

Change-Id: I0c3cdcede912f6ccc7dfb8360bfd82599c8117c1
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4323
Reviewed-by: Jacob Secunda <secundaja@gmail.com>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-08-27 17:56:54 +00:00
Augustin Cavalier 822ee1243a fs_shell: Detect 64-bit by comparing LONG_MAX and INT_MAX.
This is how we do it within the kernel itself. Should fix build of fs_shell
on 64-bit platforms that are not x86.
2021-08-27 13:51:41 -04:00
Augustin Cavalier e3acf8917b Fix usage of Zstd build feature.
We do not actually need a SetupFeatureObjcetsDir here, as this build feature
is used unconditionally if it is available (unlike OpenSSL which is not,
and which needs a feature objects directory.) It appears FeatureObjectsDir
expects to be called unconditionally, i.e. in an "else" as well as "if",
so this actually caused some build oddities.

Additionally, since it is built unconditionally if available, we have
to put it outside the "regular" checks in the PackageInfo so that it
will be included in the images. This fixes booting @minimum images,
which was apparently broken at some point when "zstd" was inadvertently
removed.
2021-08-27 13:50:07 -04:00
Augustin Cavalier ece327f106 Overhaul "haiku" PackageInfo.
* Merge all except the x86_gcc2 one into a single "generic" one.
   It is now exactly the same on all architectures, save a single
   ifdef for x86_64, which needs a different compat version, as there
   are still some packages built that far back and never rebuilt since!

 * Group the requires according to category: first any arch packages,
   then commands, then the GCC syslibs, then packages always depended
   upon if they are available, and finally packages only depended upon
   in "regular" builds.

 * Put all packages inside HAIKU_BUILD_FEATURE_* ifdef tests,
   and order them alphabetically within their category.

If I have done this all correctly, at least x86_64 should get an
identically generated haiku .PackageInfo as before this commit, save
the reordering changes. Others may differ based on package availability,
as they were missing the requisite #ifdef sections.
2021-08-27 13:40:10 -04:00
John Scipione 6211ae2575 BBitmap: Remove BeOS tweak to fix Spirograph 1.5
This is a BeOS app compatibility fix.

The comment in SetBits implementation said that B_RGB32 imports only
24 bits of the data, but that doesn't seem to be correct.

Fixes #12931

Change-Id: I826a7e358ea379b8bf1550c899e82b623e5c21b4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4319
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-08-27 14:43:55 +00:00
Pascal Abresch 1764036b15 Preferences/Time: Remove 32-bit UNIX time checks.
Change-Id: If974d441a932d54491024ba1a64688db513a57cb
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4330
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-08-27 13:55:08 +00:00
Adrien Destugues a5061ecec5 Generate developer docs with Sphinx
An effort was started some time ago to consolidate all internal
documentation in the git tree. However, this was just an accumulation of
files in various formats without any strucutre or way to browse it,
which results in no one even knowing that we have docs here.

This converts most of the files to restructuredtext and uses Sphinx to
generate an HTML browsable user manual (with a table of content and a
first attempt to put things in a global hierarchy).

There are almost no changes to the documentation content in this commit
(some obviously obsolete things were removed). The plan is to get the
toolchain up and running to make these docs easily available, and only
then see about improving the content. We can migrate some things off the
wiki and website, and rework the table of contents to have some more
hierarchy levels because currently it's a bit messy.

Change-Id: I924ac9dc6e753887ab56f18a09bdb0a1e1793bfd
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4370
Reviewed-by: Niels Sascha Reedijk <niels.reedijk@gmail.com>
2021-08-27 11:41:17 +00:00
John Scipione 7f8195344a Tracker: Add thumbnail support
Define thumbnail attributes in Attributes.h:
  Media:Thumbnail to store the thumbnail,
  Media:Thumbnail:CreationTime to see if thumbs need to be regenerated.

Store 128x128 thumbnail in attribute, for icon sizes smaller than
128x128 down-scale the 128x128 thumbnail. Use B_FILTER_BITMAP_BILINEAR
to down-scale the image using the bilinear scaling algorithm which
creates nicer looking thumbnails than the default scaling algorithm.

Store thumbnails as WebP images which compress smaller than PNGs and
fit in the inode better at 128x128.

Check the file's modification time in GetFileIconFromAttr() and compare
it to the thumbnail creation time. If the file has not been modified
since the last time we generated thumbnails return the thumbnail from
the attribute, otherwise fetch a new thumbnail with GetThumbnailIcon().

Add "Generate image thumbnails" Tracker setting. Default is turned off
for now. To generate image thumbnails you must first turn this setting
on in Tracker Windows preferences.

Spawn a get_thumbnail() thread to generate thumbnails and retrieve them
later on from the window thread to fill out into the icon. This should
improve responsiveness of generating thumbnails from a folder with a
lot of images. The generator thread will write the thumbnail data to an
attribute if on writable BFS volume.

If not on writable BFS volume, the generator thread will send the data
back to the original thread through a port by calling write_port().

When the thread is finished creating the thumbnail it sends a message
back to the Tracker application thread to update the pose which
instructs the window thread to look for an thumbnail. It either finds a
thumbnail in an attribute, or picks up the thumbnail data that has been
sent through write_port() using read_port().

This works on both read-write and read-only BFS volumes but it still
depends on the presence of a BEOS:TYPE parameter to have been written
to the volume before it became read-only. Thumbnail generation does not
work on other read-only volumes for example an ISO-9660 CD, but it does
work on read-only BFS volumes for example the BeOS R5 CD.

Move BPrivate::CheckNodeIconHintPrivate() from BNodeInfo to Tracker
Model CheckNodeIconHint(). Create Model::CheckAppIconHint() and look
for a vector icon or mini and large icon in that method. Check that
the base type is directory, volume, trash, desktop, or if executable
call CheckAppIconHint().

Add 1 to temp_name to fix the following warning:
src/kits/tracker/FSUtils.cpp:2437:12: note: 'snprintf' output 3 or more
bytes (assuming 267) into a destination of size 266

Rename temp_name to tempName following our style guidelines. Use
strlcpy() and strlcat() instead of strcpy() to safely copy the string.
This fixes thumbnail generation on 64-bit Haiku.

Change-Id: I7f927a5a1f8cf65e4b1aa1e0eb55bbfae87fd969
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3163
Reviewed-by: John Scipione <jscipione@gmail.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-08-27 11:39:13 +00:00
Fredrik Holmqvist 57a743987c ARM64: Linker script for bootloader 2021-08-25 22:59:12 +02:00
Fredrik Holmqvist 538bd986f9 ARM64 WIP: Fake PE header assembly
Can probably be done cleaner, but at least UEFI boots it atm
2021-08-25 22:58:00 +02:00
Fredrik Holmqvist 2d01a5378a ARM64 WIP arch_smp.cpp 2021-08-25 22:57:01 +02:00
Fredrik Holmqvist b0f6c6303a ARM64 wip runtime_loader.ld
Probably needs work
2021-08-25 21:24:57 +02:00
Fredrik Holmqvist a35a757def ARM64 kernel.ld WIP, some cleanup, remove pe header 2021-08-25 20:49:12 +02:00
Adrien Destugues 1c88f77dcc app_server: turn DPMS on only after setting a valid mode
It's not allowed to enable the screen before having set a mode. At least
in the case of the intel_extreme driver, this creates some problem. Move
the call just a bit later in the init process, where the mode is already
set.

Change-Id: Iaa665f0edc15316890032f1a5928f33634dc8749
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4362
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: François Revol <revol@free.fr>
Reviewed-by: <BeagleJoe13@gmail.com>
2021-08-24 15:05:45 +00:00
Andrew Lindesay afe7affb47 HaikuDepot: Fix Local Pkg Install
Fixes #17186

Change-Id: I85e54c0261a7338ec2baeaff6b0905f77087171a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4358
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-08-24 08:27:34 +00:00
Fredrik Holmqvist 3b63fd000a WIP: Rewrote arm64 arch_kernel_args.h based on arm
FDT and UART is disabled until later in the port
2021-08-23 21:52:49 +02:00
Fredrik Holmqvist f198587cc6 ConfigManager ARM64 Jamfile 2021-08-23 21:32:48 +02:00
Fredrik Holmqvist 5185ccdeb4 efi/arch_smp.h: use __aarch64__ for ARM64 defines 2021-08-23 21:28:15 +02:00
Fredrik Holmqvist d691f1e181 WIP arm64 arch_cpu.cpp
Still needs work, opted to have arch files in tree to share
the burden of the port
2021-08-23 21:19:06 +02:00
Fredrik Holmqvist 01dad9378b Add ARM64 arch_cpu.h header 2021-08-23 21:10:34 +02:00
Lt-Henry 8df8655366 Updated HID code with Vector class instead of hand made growing arrays
Change-Id: Iec8cd3922d9c21a046d225181d326253ae88d395
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4324
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: John Scipione <jscipione@gmail.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-08-23 18:31:50 +00:00
Panagiotis Vasilopoulos 4b12b16e8d Time: Add about window
The window is not easily accessible from the application itself, so this
change is practically not that useful, but it's still a good idea to continue
replacing old BAlert windows with BAboutWindow in order for the Haiku source
code to be exemplary as far as developing applications is concerned.

Change-Id: I05ea971ed0f8a996d5e168066b18eb7fe8bd5b3e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4331
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-08-23 18:31:10 +00:00
X512 3517616b39 kernel/vm_page: add vm_page table dump debugger command
Change-Id: I493228736f90f5e248f1d4fa3e354beb186546cb
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4308
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-08-23 14:20:47 +00:00
X512 a267f17ca6 kernel/vm: fix several vm bugs in riscv64
team.cpp address_space change is needed in
arch_thread_init_kthread_stack to set initial thread page
translation map. It also allows to simplify some debugger code.

DEBUG_PAGE_ACCESS check is currently incorrectly implemented in
RISCV64VMTranslationMap and disabled to avoid panic.

gHtifRegs = 0 change is needed to avoid using HTIF when it is not
available. gHtifRegs != NULL check is used to detect that HTIF is
present. 0x40008000 is TinyEMU HTIF address. HTIF is emulator specific
device that provide serial IO and shutdown capability (and maybe
something else depending on virtual machine).

Change-Id: Ic4d567b28c49799ae0f55223dd983a752823bab4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4328
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-08-23 13:59:49 +00:00
Fredrik Holmqvist ea208974b6 Branch instr on ARM64 is BR 2021-08-21 14:45:22 +02:00
Fredrik Holmqvist 5e567c1091 ARM64 Jamfiles, missed in previous commit
* Use generic c versions of memset and memcpy
   Wwrite fast asm for that later, therefore no need for arch_string.S
 * Disable FDT and DTB until ARM64 is ready
   (WIP: do it later)
 * use ELF64
2021-08-21 14:32:32 +02:00
Fredrik Holmqvist 763968b1a3 ARM64 Jamfiles:
* Use generic c versions of memset and memcpy
   Wwrite fast asm for that later, therefore no need for arch_string.S
 * Disable FDT and DTB until ARM64 is ready
   (WIP: do it later)
 * use ELF64
2021-08-21 14:06:51 +02:00
Fredrik Holmqvist 5ea726b93a Use PIC and shared flags on ARM64 2021-08-21 10:33:59 +02:00
Fredrik Holmqvist 91bf523f3a Update HaikuPortsCross for ARM64 2021-08-21 10:32:57 +02:00
X512 39ddb58870 build/jam: add virtio_mmio, virtio_input to images
* virtio_mmio for riscv64,arm,arm64
* enable new FDT bus for riscv64,arm,arm64

Change-Id: I5141de4e0bfcb44c5368dfafdf68ebf06ca5fb93
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4063
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-08-20 18:53:31 +00:00
X512 cc818f35c4 input_server/virtio: add new virtio input device
Change-Id: I9e55349717231a5b13f0bce351f349a54c1f643e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3978
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-08-20 18:47:18 +00:00
Fredrik Holmqvist e28f7b8f95 Fixup dtb.cpp: For ARM64 we use official __aarch64__ define
It is easier if we switch compiler and reduces confusion,
other than the confusing name itself.
2021-08-20 17:57:02 +02:00
Alexander von Gluck IV a03687553b platform/efi: platform_cpu_info
* This models the CpuInfo into a cross-architecture
  platform_cpu_info
* Originally I was looking at merging this with "arch_cpu_info"
  however that is "overall cpu" while CpuInfo is "indivial core
  information" packed into an array.
* Since every dtb platform will report individual cores in fdt,
  having a common cpu core info struct with at minimum the core
  id makes sense.
* This could likely be refined further to some kind of core info
  packed inside of arch_cpu_info, but this will fix arm,arm64,etc
  for now until someone wants to dive into that.

Change-Id: Ia18a352403cd0da7130c1e637fc205d4311478ef
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4363
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-08-20 13:38:17 +00:00
Jérôme Duval 9e511d5342 atheros813x: import patch from stable FreeBSD13
alc(4): add support for Mikrotik 10/25G NIC

The new Mikrotik 10/25G NIC is mostly compatible with AR8151 hardware,
with few exceptions:

* card supports only 32bit DMA operations
* card does not support write-one-to-clear semantics for interrupt status
  register
* MDIO operations can take longer to complete

This patch adds support for Mikrotik 10/25G NIC to the alc driver
while maintaining support for all earlier HW.

The patch was tested with FreeBSD main branch as of commit
f4b38c360e63a6e66245efedbd6c070f9c0aee55

This was tested on Intel i7-4790K system with Mikrotik 10/25G NIC.
This was tested on Intel i7-4790K system with RB44Ge (AR8151 based 4-port NIC)
to verify backwards compatibility.

PR:	256000
Submitted by:	 Gatis Peisenieks  <gatis@mikrotik.com>
MFC after:	1 week
Change-Id: I83cdeb24caccad15a9647a72159d979ecbd647f0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4361
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-08-20 12:44:13 +00:00
X512 03fd479633 virtio_input: add new virtio input driver
Change-Id: I10af2b30c79d1e8ff890d45642988f362d3d0a1e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4012
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-08-20 12:43:16 +00:00
Jérôme Duval b8862188f4 jmicron2x0: import patch from FreeBSD13
Revert r316820.

Despite appearing correct, r316820 breaks packet rx/tx for jme(4)
interfaces.  With 12.1 approaching, let's just revert the commit for now.

PR:		233952
Tested by:	Armin Gruner <ag-freebsd@muc.de>
MFC after:	3 days
Change-Id: Id64b6a3c57ddae2d1915c914b1c4b1ad51410ed4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4360
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-08-20 09:13:44 +00:00
Jérôme Duval 0a856fec02 iprowifi4965: import two patches from FreeBSD current
could help with #16238

1/ iwn: adjust EEPROM read timeout for Intel 4965AGN M2

Reading EEPROM from Intel 4965AGN M2 takes 60 us which was causing panic
on system startup.

2/ from 561d34d705
The value for field "barker_mrc" of struct iwn2030_sensitivity_limits
was obtained from linux 3.2 wireless/iwlwifi driver code (iwl-2000.c:115
.barker_corr_th_min_mrc = 390).

Change-Id: I730bd6106e0d76da89fff041672ccbc4ef607976
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4359
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-08-20 08:00:39 +00:00
Alexander von Gluck IV d637e0bec1 system/kernel: Rework uart management
Change-Id: I6cb31760519c8ba4542d217d6e68439602eda558
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4356
Reviewed-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-08-20 03:03:25 +00:00
Alexander von Gluck IV fbd2589b8c bus_manangers/fdt: Fix missing close curly
Change-Id: I2dd439ea7fc90bb149e7454b0d58a6fd383ab30b
2021-08-19 17:41:16 -05:00
Gerasim Troeglazov 270bb32f98 virtio: fix typo 2021-08-18 21:30:41 +10:00
X512 397c81a2b8 virtio_mmio: add new mmio interface
Change-Id: I2ca51d98e337d1e69a8e68d78ef0cfe33dc0d308
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3979
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-08-18 06:19:37 +00:00
Przemysław Buczkowski 5855a8e350 riscv: fix typo frequrency -> frequency
Change-Id: I7a2ed220ad96a9b18bff3ac5c115592c8ba87d89
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4334
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
2021-08-17 15:41:18 +00:00
Alexander von Gluck IV 950f68e3b2 kernel/uart: Fix PPC, drop needless abstraction
Change-Id: I4b8f69271ede117701725f9cce30de5bb8ba30bb
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4332
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>
2021-08-16 23:22:35 +00:00
Alexander von Gluck IV 1648ab5277 kernel/uart: Clean up uarts, make calling convention consistent
Change-Id: I36ef92ef13edb0b006344db74e9d1b3ae52e0127
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4327
Reviewed-by: X512 <danger_mail@list.ru>
Reviewed-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-08-16 23:22:35 +00:00
Semion Dimov c39da9b7a0 Fix build on OSX host
FreeBSD's stat command doesn't support -c/--format option and use %z specifier for file size

Change-Id: I368b6eef0a692df0f16bc1c3d5b5399fcf91e051
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4326
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-08-16 11:17:29 +00:00
X512 dbd1ff0988 libroot: fix ffs for riscv64
Built-in function call ffs() causing infinite recursion.

Change-Id: I506c0301c3a19178ebca4478cbe2ea06a7aeb932
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4318
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-08-15 20:56:11 +00:00
Alexander von Gluck IV ae5abb5826 3rdparty: A small script to setup an SD card for the Unmatched
Change-Id: I275f62b2b16017b1735f0b4319ebd1a596da0cdd
2021-08-15 10:11:27 -05:00
Adrien Destugues c3abd58da6 BUrlRequest: reintroduce Pause/Resume API in the deprecated version
Fixes https://github.com/haikuports/haikuports/issues/6123
2021-08-15 11:47:17 +02:00
X512 756884ad48 radeon_hd: 64 bit PCI bus fixes
Change-Id: If14dc31bf4c9360b5e1d0b477ba375cec8f75ba7
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4306
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-08-15 00:26:57 +00:00
X512 7508e28c4f virtio_net: set device name
Change-Id: I1606804ad45e34f6a745c39917ba113ba5e9ee7f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4313
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-08-15 00:07:52 +00:00
X512 73445bc413 virtio_block: set device name
Change-Id: Id96e0dd2247625b7b898316511da7f1d8d0e3ba0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4314
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-08-15 00:05:34 +00:00
X512 f850bba8d0 bus_managers/fdt: rewrite to support device manager node tree
* Breaks previous fdt module clients.

Change-Id: I8bfdca40a77c041ddef51488e1995e5d43edb340
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3977
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-08-14 23:57:35 +00:00
Alexander von Gluck IV 961c0ecef4 efi/mmu: Disable fixed vaddr allocation on riscv
Change-Id: I137306be6e5d16a715e7efe9eb2614f0dd9e17cb
2021-08-13 21:16:49 -05:00
X512 fa41d6fa7a kernel/arch/platform: implement for riscv64
Change-Id: Id1839ef39d927e6a2017c8b8ac3482d9eeb00fa1
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4059
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-08-13 20:36:30 +00:00
X512 56ac584a91 libdebug: add riscv64 support
Change-Id: I9d9d1697bc67d2ab674f2fbe0dbf3a37ead58595
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4062
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-08-13 13:24:35 +00:00
X512 9d2cc33a64 kernel/arch_real_time_clock: implement for riscv64
Change-Id: I3a50b3343e00ef45ef9391d463939abba9e666a0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4072
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-08-13 13:14:41 +00:00
X512 95d6ecf25d libroot/riscv64: define syscall function size, implement time
Change-Id: Ib08b0b700506e3e1eb41d1b30b025bdf688342d9
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4071
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-08-13 13:10:39 +00:00
X512 7b124be096 efi: add NVRAM variable GUID definition
Change-Id: Iab4e59bb4ac91ba5e9c34e1ade433b423a140b9b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4316
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
2021-08-13 13:06:05 +00:00
X512 5ae7ac5fd9 drivers/vesa: fix for RISC-V
* Make ISA bus optional in vesa driver

Change-Id: I1f38f92d81fbfe47224893e1d9dbf6a74306e2f0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3986
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-08-13 13:03:49 +00:00
X512 0877e4d7d1 nvme: add legacy interrupts support
Change-Id: I29b9676c6c2407e7795af4c7b1c56a7afb546f6e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4312
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-08-12 17:19:38 +00:00
Alexander von Gluck IV 06ffdddcc8 kernel/vm: riscv64 build fix checkpoint
* This gets the riscv64 build working again
* These changes are being consolidated into:
  https://review.haiku-os.org/c/haiku/+/4309

Change-Id: I3b732299fa49acbda6317e6a2a8d7ab382d7740b
2021-08-12 11:05:44 -05:00
X512 f1fa58bfbc haiku_loader.efi: update for riscv64
* Added MMU page table generation.
* Added optional FDT device detection and passing to kernel.
* Add platform address translation stubs to bios_ia32
  to drop EFI ifdefs

Change-Id: I89257c93c84404fd988f621b29f927ed0df3c3b1
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4304
Reviewed-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-08-12 08:33:36 +00:00
Coldfirex 925f912596 FTPD: Pull in various commits from upstream
Our version is from roughly 4-2007.

Brought in the following commits that appeared relevant to code improvements and fixes.:

f0b40b1c97 (diff-ccb7a49e05dd2061a0b3ac926212bc5aebe5afd09bbefc8658ba57d8b79827a1)
d56cc55917 (diff-ccb7a49e05dd2061a0b3ac926212bc5aebe5afd09bbefc8658ba57d8b79827a1)
763e8c9623 (diff-ccb7a49e05dd2061a0b3ac926212bc5aebe5afd09bbefc8658ba57d8b79827a1)
62f390ecd9 (diff-ccb7a49e05dd2061a0b3ac926212bc5aebe5afd09bbefc8658ba57d8b79827a1)
6e4fcca0f8 (diff-ccb7a49e05dd2061a0b3ac926212bc5aebe5afd09bbefc8658ba57d8b79827a1)
69097cd8da (diff-ccb7a49e05dd2061a0b3ac926212bc5aebe5afd09bbefc8658ba57d8b79827a1)
3c0c1e01c9 (diff-ccb7a49e05dd2061a0b3ac926212bc5aebe5afd09bbefc8658ba57d8b79827a1)

Change-Id: If44f58950513ebe1fecc2f482ea954fe49263677
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4321
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-08-10 12:49:49 +00:00
Andrew Lindesay 95c7b01864 HaikuDepot: Shutdown Handling
Improvements to the shutdown handling mechanics so that
if there is an install etc... happening when the
application is quit that it will wait until the process
is complete before actually terminating.

Change-Id: I8d3c4fbd9de0abc9382d55f0a6955b7f63a36637
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4322
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-08-08 08:09:05 +00:00
Adrien Destugues 6a41334ced net_server: remove about box.
Fixes #16823.
2021-08-07 12:44:57 +02:00
X512 a748b72e3c AutoDeleter: add VMAddressSpacePutter, DeviceNodePutter
Change-Id: I705de24f6a87287943814e748d5a02e43b029e60
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3987
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-08-06 21:11:04 +00:00
X512 058b29ac34 AutoDeleter: introduce MethodObjectDeleter
It allows to call destructor function stored in struct object such as
device_manager_info::put_node.

Change-Id: If9162f2f449d2b1c52c39509fa8732f21debf04a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3484
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-08-06 21:11:04 +00:00
Alexander von Gluck IV cb256af95c kernel/riscv64: Fix GetChar data val assignment for sifive uart
Change-Id: I81981d23222f81ee936695c3257e8185a7bcebfd
2021-08-06 12:58:43 -05:00
X512 f0e1bca09c kernel/arch/int: implement for riscv64
Change-Id: I62d9bff75d35a685983c626720514ff17b1cef00
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4052
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-08-06 17:45:26 +00:00
X512 d472f38a49 riscv64: update hardware definition headers
Change-Id: I0c84f1d5389842d4591cb1548793e08155ba3666
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4311
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-08-06 17:33:53 +00:00
X512 b87ec78210 kernel: update arch headers for riscv64
Change-Id: Iaf1c253745412614f7e4a30019d96483cb0d3a12
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4310
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-08-06 17:26:04 +00:00
X512 ec1174b442 kernel: add SiFive UART driver for riscv64
Change-Id: I37a909b5bcdb18b3fa062961eca9ff2f5187867c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4305
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-08-06 16:56:21 +00:00
X512 64bc301951 libroot/os: implement arch-specific parts for riscv64
Change-Id: Idb6920b4c98a579a184e6a7e1976f2d8c7618dba
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3983
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-08-06 16:03:11 +00:00
X512 1deede7388 riscv64: add SBI syscall interface
Change-Id: Ifab2a65fdad1de807e2334ec94137b992d6fe19d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4300
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-08-06 15:51:16 +00:00
X512 c15bf9b792 kernel/arch/timer: implement for riscv64
Change-Id: Ia854b0048a86b1427e975f482325ed4d4df1a12a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4061
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-08-06 15:47:48 +00:00
X512 de8c1bcc32 kernel/arch/user_debugger: implement for risv64
Change-Id: I9cdf7a6a5b66cdd83133485f98067ce9a5fb819d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4058
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-08-06 15:42:49 +00:00
X512 d031c09ceb kernel/arch/cpu: implement for riscv64
Change-Id: Ib4dd636f9ebb62931f77c809185ea810485d801e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4057
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-08-06 15:41:33 +00:00
X512 62790afc9d kernel/arch/commpage: implement for riscv64
Change-Id: Id7f495896a08a237db85dcedd1174e4c181e373d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4056
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-08-06 15:28:42 +00:00
X512 d6a257bbe9 kernel: add RISC-V HTIF code
Change-Id: I83251bb4586b4f752c97741f62a96d2f6f842377
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4055
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-08-06 15:23:19 +00:00
X512 e013897fcf kernel/arch/debug: implement for riscv64
Change-Id: Iab5cc9ef4059f968bca03683592d1ec1818a26a2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4053
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-08-06 15:19:22 +00:00
X512 4a32f48e70 kernel/arch/thread: implement for riscv64
Change-Id: I3effa598626b32c29606299cd0edee390d430baf
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4066
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-08-06 15:01:52 +00:00
X512 7ef006297e kernel/arch/vm: implement for riscv64
Change-Id: I0b463f3d2bca9f31b0aabacbf70a9774493d3467
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4051
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-08-06 14:47:32 +00:00
X512 7e6b3c0787 HaikuPortsCross/riscv64: update GCC package
Change-Id: Ifb2158822df63121397ccbe7dadaba44594832d2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4073
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-08-06 07:33:42 +00:00
X512 4b06883d46 ati: add register definition
GEN_INT_STATUS: Interrupt & Status indicators (vblank, vline, vsync).

Change-Id: Ia5f786f3bf654c28b945a268ee7d32b8f3d02732
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4307
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-08-06 06:54:59 +00:00
Jessica Hamilton fe3ac93cdf Terminal: add support for per-theme custom ANSI colours.
* Updates the colour palette for Solarized
* Adds new colour palette, Relaxed (MIT License) [1]

[1]: https://github.com/Relaxed-Theme/relaxed-terminal-themes

Change-Id: Ia81120cd983b9c3b935f8a990867ee4b7c35b6d2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4196
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: John Scipione <jscipione@gmail.com>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-08-02 14:28:10 +00:00
Adrien Destugues 21be5dfa38 WebPositive: update version to 1.3.
I forgot to do this before beta3.
2021-08-01 14:26:48 +02:00
Coldfirex e2f56dcb19 VirtioModule: Fix PVS773
The function was exited without releasing the 'device' pointer.

Change-Id: I19fcda340a6acf16c3fca243de6128d7218e379d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4282
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-07-31 10:09:33 +00:00
Coldfirex 70e7cf9a4c ATAModule: Fix PVS773
The function was exited without releasing the 'channel' pointer.

Change-Id: I093fbbc3c5c9c6633a8df8e04234a4076b1d7a05
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4281
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-07-31 06:50:41 +00:00
Coldfirex 22d8d5db81 Update PCI and USB IDs
Pulled 07/27/2021 from:
https://pci-ids.ucw.cz/v2.2/pci.ids
http://www.linux-usb.org/usb.ids

Change-Id: I5d8e33649cccb98ce8fc22544f9ff95a9e2a6c26
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4248
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-07-30 07:08:40 +00:00
Jérôme Duval d7a4a01f98 usb-header.awk: Fix use of printf
Change-Id: I0f07a321ab5b896c166270b5da6f667cb47ddf26
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4279
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-07-30 04:35:08 +00:00
Murai Takashi 2876efaafe screen_savers/nebula: Add more localization
Change-Id: Ic896d058b42440659f83af794f63d9392c4e7a11
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4276
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-07-29 12:47:34 +00:00
Coldfirex 64897ae792 FTPD: va_list 'ap' was opened but not closed by va_end()
as pointed out by cppcheck

Notified upstream FreeBSD of issue.  They realized this was dead code and ripped out.  Syncing those specific changes only.

https://github.com/freebsd/freebsd-src/pull/517
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=257317
https://cgit.freebsd.org/src/commit/?id=674400eb20b65369a88b1cb778d729bc297832c9

Change-Id: I4951fa3ce42798895a8222d927067640267d0bbc
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4214
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-07-29 12:46:45 +00:00
Murai Takashi 88a19e0e18 charactermap: Add more localization
Change-Id: I94680126e4f9063d283ed4e7a6f1f0087032376b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4249
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-07-29 08:40:21 +00:00
JackBurton79 60ead048b5 MediaPlayer: close() cd/dvd device after eject.
We were not closing cd/dvd device after eject.
Also changed fDevice member to a local variable, since we only use it in one place.

Change-Id: I169da97501f98e30deded1f5ff53d3bc00459eab
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4247
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
2021-07-27 12:23:25 +00:00
Adrien Destugues 899fdd042a XSI semaphores: Do not insert invalid sem_keys in key map.
Semaphore keys were added to the key map a bit early, before all error
checking had been done. As a result, we could have keys in the map that
would not point to a valid semaphore.

Fixes the root issue in #16741. A previous patch in hrev54878 had
already fixed the panic when trying to access such a key, but it was
still possible to generate one.

Change-Id: I7449e295fdbe2a48b554cbc0508683d042f6ca48
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4240
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-07-27 06:22:31 +00:00
Jérôme Duval 518f9c4e68 BCountry: check ICU version for addLikelySubtags
should help arm, riscv builds.

Change-Id: I2d626dfd28c9c4abaac15c010dd41afac410d564
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4246
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-07-26 09:30:59 +00:00
Adrien Destugues 71f3ec460f vm: fix off by one errors
Various functions would return an error if trying to use them on the
last page of userspace, as they tested the permissions for the first
byte out of the requested range. Also, the code was duplicated in
several places

- Rename validate_user_range to validate_memory_range. The "user" in the
name was to mean that the range is provided by the user calling the
syscall, but it is a bit confusing, as the function accepts any range
that is either in kernel or in user memory.
- Add a new function validate_user_memory_range that only accepts
userspace memory, and use this one where appropriate.

Change-Id: I135f8d584340f0ba4ae7e4b8cb6f8600fbf3ef2d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4212
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-07-26 06:42:19 +00:00
Adrien Destugues a94ee3f35a BUrlRequest: fix issues found while documenting
- Remove Pause/Resume functions. They are not possible to implement (the
  server would time out)
- Fix SetContext(NULL) to do the right thing.

Change-Id: I25ba09bb01ea0fe8a85d774611b33be7dc192028
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4245
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Niels Sascha Reedijk <niels.reedijk@gmail.com>
2021-07-26 06:28:08 +00:00
Adrien Destugues e9946b675c DeskCalc: fix mixup of key codes and labels
We must keep an untranslated version of the text for use with the
expression parser. Only the key label in the user interface should be
translated.

Fixes #15709.
2021-07-25 18:54:20 +02:00
Adrien Destugues 8df6e5c2a6 BWindow: fix copypasta in ResizeToPreferred
If you had problems with a window picking an incorrect height when using
the layout system, this could very well be why.
2021-07-25 17:47:36 +02:00
Adrien Destugues b5a859ad62 People: make default size larger
We have increased the number of default attributes, so the initial size
wasn't enough.

On small resolution displays, adjust the size to not end up with part
of the window outside the screen.

Fixes #15371

Change-Id: Ie59cb3a3f6609eff7d933d0bf0e11f66637d6d10
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2222
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-07-25 14:40:57 +00:00
Adrien Destugues 40a12ac67e StyledEdit: add menu to underline text
Eases testing of B_UNDERSCORE_FACE

Change-Id: If3e1f247a984b81e9262136ca30139851cfa19a2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4244
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-07-25 14:40:27 +00:00
Adrien Destugues a43cf8d4a3 LayoutUtils: fix typo
This is in the code to print a text dump of the layout constraints, so
it does not fix any layout problems, but it makes debugging things a bit
easier.
2021-07-25 15:55:46 +02:00
Leorize 42819a8b49 docs/user/net: add BUrlRequest documentation
Change-Id: I88bff3c452ed9e2025c7d258167ced14919c4e9c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2984
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-07-25 11:52:21 +00:00
Leorize 9b692462b3 docs/user/net: add BUrlResult documentation
Change-Id: I94d7c258da60b2fa7add446dfc37aba0a14f6241
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2983
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-07-25 11:52:21 +00:00
Leorize 937388cdd8 docs/user/net: add BUrlProtocolDispatchingListener documentation
Change-Id: I8515f6d5feab3399f3b0357b78e7e791cdf6df25
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2982
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-07-25 11:52:21 +00:00
Sambuddha Basu 758dae382b AboutSystem: underline links on mouse over
Fixes #8555.

Change-Id: Ib5ba32625062b6b3c180e8082e634fba9e8a70ec
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2364
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-07-25 08:40:31 +00:00
Kacper Kasper ef83008e79 app_server: add B_UNDERSCORE_FACE support
There was some confusion (and a TODO indicating it) in ServerFont.cpp,
because the notion of "font face" from the Be API is partially
implemented using different font manager styles (bold, italic, etc),
and partially by keeping flags in a separate variable for drawing
extra things or modifying the drawing (underscore, strikeout, ...).

The implementation did not actually preserve the extra flags, and so the
underscore face attribute was lost.

Implement the actual underlining of the text in AGGTextRenderer. This
implementation is a naive one so far. In particular there are the
following limitations:
1. Line is drawn over the text - no nice gaps for descents. Ideally, the
   line should not touch the letter descents, and leave some space
   around them. I don't know how to retrieve the contour - it appears to
   me this might require bigger refactoring of this code. I have left in
   my experiments commented out in the code.
2. If the text run ends with whitespace, the whitespace is not underlined
   as it should. In particular if another text run is drawn next to it
   and it's expected that the underline is continuous between the two.

Change-Id: I8d78b8e1eceddff0a7d98e5a49659e7b03fd89a0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3041
Reviewed-by: Kacper Kasper <kacperkasper@gmail.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-07-25 08:39:57 +00:00
François Revol 627fb72d50 app_server: only turn screens on once at start
Previous code from hrev55212 was triggered on every workspaces change.

Fixes #17078.

Change-Id: I13108cddbd57662650e06c05bd43931c12b3dfae
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4208
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-07-24 19:35:49 +00:00
Adrien Destugues 893d5930fe ShowImage: fix scrollbar size
Change-Id: I5c50bd9a842ce79d78b6e9c2227dc37e3c52c6e6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3755
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-07-24 08:43:46 +00:00
Jessica Hamilton 2c6b14c0b8 Installer: ensure the package administrative path exists
Fixes #16984

Change-Id: Ia662147395130be4498eefbe11f5351533c88ff2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4242
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-07-24 08:42:41 +00:00
Panagiotis Vasilopoulos bf14c4b44c libcxxrt: Remove unused library and headers
Change-Id: Id5dd5de98cbdbb274a85c6383ad3b4d6ce593ad5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4241
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-07-23 22:02:15 +00:00
Panagiotis Vasilopoulos ba22ebb344 midi_server: Update copyright notice
This change aims to clean up the code a little. With explicit permission from Matthijs Hollemans.

Change-Id: Idd6c46b8059ec4674653a0d844502b4c76990726
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4146
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-07-23 18:36:26 +00:00
Panagiotis Vasilopoulos 5962c36588 midi_server: Add about window
Change-Id: Idea33a8fed164b63195bc75a00910c731841fef7
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4143
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-07-23 18:36:26 +00:00
Zotyamester 31acddc00e MediaPlayer: add eject button
Fixes #11492

Change-Id: I06631ddcef354f4cf8a10e8ccbb6eba03c1ca7dd
2021-07-23 17:32:27 +02:00
Panagiotis Vasilopoulos 1aa97652e0 libunwind: Remove unused headers
Follow-up of https://review.haiku-os.org/c/haiku/+/4128

Change-Id: I6b93484ebeef1dd672a88e96dd7cbe93a619fce9
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4239
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-07-23 11:26:29 +00:00
Coldfirex 3f596320bf telnetd: va_list 'args' was opened but closed in wrong location
as pointed out via cppcheck. Fix from upstream.

Change-Id: Idfb59ca86bb4ed3767d8327c145ad348cb645e24
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4216
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-07-23 04:43:00 +00:00
Alexander von Gluck IV 6b0e805d8c haikuports: Bump haikuwebkit for font fix in images
Change-Id: I4d109045336d5bcdeac90c42d8fd1c4201f20933
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4238
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-07-22 11:48:09 +00:00
Niels Sascha Reedijk abba71575e Synchronize translations from the r1beta3 branch
Change-Id: If513fdb4ce3acfdb6f97c7a9bb3de1592b509469
2021-07-21 12:55:45 +01:00
Niels Sascha Reedijk c18f9eb4ea User documentation: synchronize userguide from the userguide translator
Change-Id: I9b30ae27658a40b85c67a4c30aaea2b4bf9507f9
2021-07-21 12:54:38 +01:00
Niels Sascha Reedijk 510780798f User documentation: synchronize welcome docs from the userguide translator
Change-Id: I2a2b01d87c35f22f688d51740812a28acf51e11d
2021-07-21 12:54:19 +01:00
Niels Sascha Reedijk d3071b6dd3 Update translator credits for r1beta3
Change-Id: I49e0c1148aa1fb8445888e362e605015dc2efde8
2021-07-21 12:54:09 +01:00
Coldfirex cf4ce7e38b Debugger: va_list 'args' opened but not closed by va_end()
pointed out by cppcheck

Change-Id: Idf81666674c881ca9e00bf3985ed0dcf928c19d5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4220
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-07-21 08:27:20 +00:00
Andrew Lindesay 21df7324c9 HaikuDepot: Switch to v2 API
This switches to a new API format "v2" being introduced
on HDS.  The version of the application is also bumped
at the same time in order to make a later cut-off point
possible for compatibility.

Change-Id: I577fd143ac9d001171bca7213c82e3280af1c4de
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4217
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-07-21 07:52:13 +00:00
Adrien Destugues e5fb17f0ca BCountry: add a GetPreferredLanguage method.
The APIs for this were introduced in ICU 63, so we'll need an update.
ICU 63 does not build with gcc2, so this method is disabled there.

Change-Id: Iabe49509ed6d4e578560d497d3ca336a97db4625
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1874
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-07-21 07:20:39 +00:00
Alexander von Gluck IV 2703c740d8 haikuports: Bump haikuwebkit in image to 1.8.2-1
Change-Id: I5404446ac9e1280300e8252a609d72ec43b297bd
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4213
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-07-16 20:14:56 +00:00
David Sebek 8b1d35bdbb Improve SCSI and SATA trim support
Fixes:
* scsi: Fix a bug that caused the device capacity to be set
  to an undefined value for some large SCSI devices when
  READ CAPACITY (16) was used
* ahci: Fix VPD page reporting so that it does not return
  undefined values
* ahci: Set the write bit to true when sending a DATA SET
  MANAGEMENT (trim) command to a device. The command would
  otherwise fail and time out on some devices.

Improvements:
* scsi: Extend the READ CAPACITY (16) support to also
  include logical block provisioning information
* scsi: Prefer READ CAPACITY (16) over READ CAPACITY (10)
  on devices that are expected to support this command
* scsi, ahci: Enable trim on SCSI and SATA devices that
  are expected to support trim and which correctly report
  trim support
* ahci: Redo the implementation of the SCSI UNMAP command
* scsi: Redo UNMAP-related code
* scsi: Add support for UNMAP via WRITE SAME (10) and
  WRITE SAME (16) commands
* When copying trim ranges between different data types,
  make sure that the values don't change (detect overflows)
* Report the number of trimmed blocks even if the trim
  operation fails

Change-Id: Ie5fc993bbbc19546b4308138ba10184bf7b9986a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4157
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-07-16 18:35:57 +00:00
David Sebek bd02d81c24 Fix trim-related issues
Fixes:
* Use uint64 instead of off_t when handling offset and size
  of the trimmed range in the fs_trim_data structure
* BlockAllocator::Trim: Correct the size of a buffer
* ram_disk, mmc: Do not trim past device capacity

Improvements:
* BlockAllocator::Trim: Because the received offset and size
  are ignored by BFS (the functionality is not implemented yet),
  return B_UNSUPPORTED if the range does not cover the whole
  partition
* ram_disk, mmc: More accurate calculation of the number
  of trimmed bytes
* devfs: Add a uint64 version of translate_partition_access()

Change-Id: I24f4c08674f123ad33a5fef6e28996a4ada6ff0d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4155
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-07-16 18:35:34 +00:00
Murai Takashi 354b6bcfbd screen_savers/Nebula: Add localization
Change-Id: I26849df1f506d578793fd0ad49eab1566da295ab
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4197
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-07-16 18:34:26 +00:00
Murai Takashi 51dfd07f06 screen_savers/Shelf: Add localization
Change-Id: I166c539285e104ab3d8cc86be0061171fd55413d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4198
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-07-16 18:34:08 +00:00
Adrien Destugues fa1e07fa7a Package kit: fix error handling in case of HTTP errors
HTTP errors can have some content sent with them (a message to display
to the user, usually). The package kit would not ignore this and append
the content to the end of the downloaded file. This could result in a
file larger than the expected size, and in that case, it would keep
growing infinitely by adding more error messages to it.

Also add some more specific error messages for some HTTP codes, in
particular, "invalid range" which is likely to happen if something goes
wrong with range requests. Now this case will be detected and the
download will stop.

Change-Id: I18927f361235e9f72a5701c1bd7977abda9e21ad
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4210
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-07-16 18:33:35 +00:00
X512 2641b03c91 app_server: fix integer overflow in ServerBitmap
Integer overflow caused bitmap buffer creation of wrong size and out of
bounds access when large bitmap was created. Now allocation failure is
reported for large bitmaps.

This prevents app_server from crashing while playing YouTube in WebPositive.

Fixes #16489.

Change-Id: I297aa6e3b79b32a486d297f1239a1fd4397a8a36
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4209
Reviewed-by: Sergei Reznikov <diver@gelios.net>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-07-14 20:25:00 +00:00
Andrew Lindesay 0ebb9177d8 HaikuDepot: reflect package install changes
This update will mean that HaikuDepot is able to detect
install / uninstall actions on packages at the system
level and reflect this in the user interface.

Fixes #15879, #15994 and #15046.
Relates to #11674.

Also cleans up disused code in the WorkStatusView.

Change-Id: Ide2d5d93c2f71915bc7cfe7d3628e5f343e43f35
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4145
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-07-14 18:23:10 +00:00
David Sebek 3e19f197fa Extend the functionality of bin/fstrim
Improvements:
* Introduce new command-line parameters for the offset and length
  of the trimmed region
* Introduce a new command-line parameter that must be specified
  in order to trim a block/character device instead of a file system
* By default, warn users that trim can potentially destroy data
* Display the number of bytes trimmed even if the ioctl returns
  an error

Change-Id: I9eec535abe74f7ef09c927292a120016f4156684
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4154
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-07-14 10:55:41 +00:00
David Sebek f04ae5ab1f ahci: Check for NULL in sg_memcpy
Check that the source and destination addresses in sg_memcpy
are not NULL. The absence of this check does not seem to
cause any issues, but I think it is safer to include it.

Change-Id: I2b04f94d5b04735fe9510adfb2400a7598b70bc4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4152
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-07-14 10:45:13 +00:00
Coldfirex 04d50e7581 WebPositive: More comment cleanup, no functional change
Change-Id: I5ca4edc9f38478edb138f5e4b1d8501dc7f8c5eb
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4203
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-07-14 10:41:11 +00:00
Máximo Castañeda ae56997857 BCountry: return country name
ICU's Locale::getDisplayName fills in the locale's name in the form
"language (country, variation)". We are interested in the country here.

Fixes #17081

Change-Id: Icb810dbe2c486d95251d4d06a48dfe3a000fa968
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4206
Reviewed-by: humdinger <humdingerb@gmail.com>
2021-07-13 15:03:47 +00:00
John Scipione 50107f9f2b Tracker: fix last minute mini icon mode bugs
Pose::CalcRect() assumed top is at icon top in mini-icon mode. This
is not true for larger font sizes where the top of the text is above
the top of the icon. Calculate top and bottom based on font and icon
size matching the calculation in TextWidget::CalcRectCommon(). This
fixes a highlight redraw bug in mini icon mode at larger font sizes.

Push Edit name right 2px to match label position (in mini-icon mode.)

Round to integer to help with 1px off bug. Edit name box is still off
by 1px from the label for some font families and sizes.

Change-Id: Ibba897d6f3c7a879631adedada5cd59d2071191a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4204
Reviewed-by: John Scipione <jscipione@gmail.com>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-07-12 00:33:38 +00:00
Coldfirex 4c38e9157f WebPositive: Comment cleanup, no functional change
Change-Id: Ifa65cd271377923ec8c43955d71a6453139b6826
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4202
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-07-11 14:25:46 +00:00
Máximo Castañeda 22dda7795d GlyphLayout: emit .nodef glyph for missing glyphs
Use glyph 0 when no glyph is found for a character in the current font
nor any of the fallbacks.

HasGlyphs has to bypass LayoutGlyphs because we want it to mark this
case as false, while still checking the fallbacks.

Change-Id: Ief8d9d53c91992c659922fb56b79be7172f4ab0d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4144
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-07-11 12:14:01 +00:00
Panagiotis Vasilopoulos f2982f98de FirstBootPrompt: Replaced %Distroname% with filler text
The unofficial builds used %Distroname% directly and showed that to the
users, which does not look great. Instead use different wording that
simply avoids mentionning the OS name in de-branded builds.

- Small lingustic change: "Try Haiku" sounds a bit less awkward than
  "Try out Haiku" and conveys the same exact meaning.
- Updated copyright note.

Co-authored-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Change-Id: Ic1be6bc4728946c19fc4fd162cfeea640c1f6c1e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4036
Reviewed-by: Niels Sascha Reedijk <niels.reedijk@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-07-11 12:13:30 +00:00
Jessica Hamilton f0c702e2c1 build: add rpath for build tools.
* Allows invoking build tools at the command line without having
  to mess with the LD library path environment variables
* Does not change the use of HOST_ADD_BUILD_COMPATIBILITY_LIB_DIR
  within the build itself
* Darwin currently excluded, as it uses a different method for
  specifying rpath

Change-Id: I4db443f2b5824ee70ad44418251a9996c14663bc
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4163
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-07-11 12:12:57 +00:00
beaglejoe 66d0470035 bootmenu: fix initial current boot volume selection
Fixes #17069

Change-Id: I42f6ecbad57d7d6b21bfbde2645f1d7112d650b8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4200
Reviewed-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>
2021-07-10 04:58:03 +00:00
Alexander von Gluck IV 34fe8ba793 system/boot: Finish cleaning up remaining platform_get_boot_partition
* Fixes the riscv64 build
* Should fix next_m68k loader (untested)

Change-Id: Ic9b2d4305302d28a9ca0c71f8e1e502c763162d9
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4199
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-07-10 01:22:12 +00:00
Jessica Hamilton 2123a7ccb4 efi: fix searching for additional Haiku installations
* platform_add_block_devices() is a no-op, as efi already
  provides all devices to the generic loader code.
* remove iterator.Remove() in platform_get_boot_partitions()
  as the simplified devices scan no longer duplicates
  partition entries.

Fixes #17051

Change-Id: I38789b069e1be9b18312e2455bc91e6195114599
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4160
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-07-07 22:00:25 +00:00
Jessica Hamilton d3beb376b5 boot splash: offset icons when no logo is present
* Makes the case where the loader and the install differ by
  release type, so that the icons are rendered in the same
  position

Change-Id: I01e48109ce127b202ce5e05544aa2d5a495ed53e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4162
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-07-07 13:01:36 +00:00
Alexander von Gluck IV 12bb3886c5 build: Small bump to release image size
* Haiku now consumes right at 700 MiB on x86_gcc2h
  after the webkit update.

Change-Id: Ia41a3e6252190e73feaa49ebe7c58ef4c80df4dc
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4161
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-07-06 13:20:46 +00:00
Alexander von Gluck IV fae4769be6 build/HaikuPorts: Update haikuwebkit build packages to 1.8.1
Change-Id: Ia451535775c6e64f77739907b0d58cc2fc8837cf
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4159
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-07-06 00:42:12 +00:00
Adrien Destugues 2b1972cf66 webpositive: Fix for HaikuWebKit 1.8.1
Change-Id: I00b2b01bf84e0d22ec759511b2f9435403207c95
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4150
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-07-06 00:42:12 +00:00
David Sebek 325ec49980 devfs: Fix debug message format identifiers
This patch fixes compilation errors on x86_64 when TRACE_DEVFS
is defined. Only format identifiers that caused compilation
errors are changed. Commented-out TRACE's are left unchanged.

Change-Id: I4e803920665eaac7fbc5cec2ffb7778c262bf9c0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4151
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
2021-07-05 20:16:27 +00:00
Jessica Hamilton 62f80a2a71 loader: fetch all potential boot partitions for device
This also keeps the functionality of hrev53848, which simplifies the
list of disks searched for bootable partitions; however, it maintains
the previous behaviour of platform_get_boot_partitions that continues
to iterate over a list of possible boot partitions, which should
allow finding a bootable BFS partition better in more circumstances.

Particularly, there are numerous reports of the UEFI loader entering
the boot menu despite it finding a bootable partition, which this
should address.

EFI's device_contains_partition is also structured such that it
compares the disk GPT table of the partition the loader is
querying of the EFI disk's GPT table, in the case that there are
multiple disks, as the most reliable method of comparison, with
a generic fallback for non-GPT disks, which will be less reliable.

This reverts commit 0d932a49ad.

Change-Id: I5fac8608035d56b8bb4dc6c3d495ec6db42fa9b7
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4149
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-07-04 23:31:18 +00:00
Adrien Destugues 3ca5eec002 libnetservices: fix handling of HEAD requests and 204 responses
We were incorrectly reporting a B_IO_ERROR for these requests because we
could not read the content after the headers. There is no content in
these cases.

Add an unit test for both HEAD and 204 status, checking that there is no
content and the headers are correct.

Fixes #16885.

Change-Id: I98fefc5c604253bb2545b50395b7af9f8834def0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4142
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Niels Sascha Reedijk <niels.reedijk@gmail.com>
2021-07-04 08:07:59 +00:00
Andrew Lindesay f32d5c5ca5 Packages: signal added|removed packages
Update the package server so that it reports the
added and removed packages when it commits a
change so that clients are able to pickup and
act on the changes without iterating over all of
the packages.

Change-Id: I6feb52c34fc51a78e2282d8d5ca6cb6775b221ca
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4141
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-07-03 21:01:37 +00:00
Jérôme Duval 73ff7f2e84 boot/platform/efi: generate efi.map in the output directory
Change-Id: Iefcf347bfb815efeabffd41b71130978be596891
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4125
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
Reviewed-by: Panagiotis Vasilopoulos <hello@alwayslivid.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-07-03 09:18:40 +00:00
X512 cc265c1482 app_server: turn on screen on start
Screen may be turned off if video card is not supported by firmware and boot
loader.

Change-Id: Ie60fc00da281ec3781084dd97466a68b885fde7b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4114
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-07-03 09:17:36 +00:00
X512 5478ac965d ati: fix for 64 bits and non-x86 architectures, SMAP fixes
ATI graphics driver is useful for QEMU option `-device ati-vga`.

Change-Id: Ia932d07d23b16cd9e2eefe65821a38a87427c416
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4116
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-07-03 09:16:59 +00:00
X512 72e0f9bff5 ati.accelerant: 64 bit fixes
Change-Id: I0f82dfe7bc73122546d262ab7e94010f1adff500
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4115
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-07-03 09:13:57 +00:00
Han Pengfei 5a1731bcbc arm/build/ldscript: import ld script and build paras from riscv64
- This will fix page translation fault when accessing
static variables.
- Now with this patch, we made uart pl011 works for qemu.

Change-Id: I8eecc18ad05bd950768b49d9ed268c4c2a3baf25
Signed-off-by: Han Pengfei <pengphei@qq.com>
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4123
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: X512 <danger_mail@list.ru>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-07-03 09:11:04 +00:00
CruxBox bd76cde0fa xfs: Implemented reading of B+Tree based files
This patch adds the functionality to read B+Trees based files.
It shares similarity with extent based file reading functionality. Just
the way the extents are read is different.

Change-Id: I9b7ebe20171a8860fdc35024f7018540248aed61
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3170
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-07-03 09:10:35 +00:00
Rudolf Cornelissen 3334d6fba1 intel_extreme: gen4 displayport now sets modes, dualhead clone works. 2021-07-02 14:19:58 +00:00
Jessica Hamilton 977a873ab2 Build: replace mtools with fatshell.
EFI System Partition was the last remaining holdout for mtools usage.

Change-Id: I988f82a2f4318f2f90ec1efb80f7ff5c8908aff7
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4140
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-07-02 04:07:41 +00:00
Panagiotis Vasilopoulos f5ec8e8c2d libunwind: Remove unused code
Nothing really refers to libunwind anywhere in Haiku, so it's likely as good as gone.

Change-Id: I1b9a2e23558caa46211c81618295361748344441
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4128
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-07-01 06:35:02 +00:00
Rudolf Cornelissen 09ffd17aab intel_extreme:dualhead clone mode with displayport works on Sandy/Ivy Bridge. 2021-07-01 00:05:49 +00:00
Rudolf Cornelissen b3bafaf695 intel_extreme: displayport now scales to BIOS set mode. 2021-06-30 00:47:10 +00:00
Adrien Destugues ab99434503 sdhci: actually wait for commands to complete
The code allowed execution to continue as soon as the "command inhibit"
bit was cleared. This is incorrect: we need to wait for a command result
(either command complete, or timeout) to be available before continuing.

This should fix #17031.

Change-Id: I8f3fe60c2e47582b399952b19c05c6ed2161afd7
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4121
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-06-28 12:11:54 +00:00
Alexander von Gluck IV 32e0fe7000 haiku: Add all bootloaders to haiku package
Change-Id: I854de44c1b31066dfa522b946cb04a5190f6b0b6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4113
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-06-27 23:00:11 +00:00
Rudolf Cornelissen 95b7699fe9 intel_extreme: disable digital dpms monitor shutoff, it's faulty and incomplete (ticket #12964) 2021-06-27 23:02:57 +00:00
Rudolf Cornelissen 7878a59fde intel_extreme: init port_count always (typo fix). 2021-06-27 19:26:01 +00:00
Jérôme Duval 094ea67748 intel_pstates: disable Atom Silvermont and Airmont CPUs
which need special support.

Change-Id: I576f6b78dfd4d9213a7da073adf4c664aeea18b4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4120
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-06-27 16:57:04 +00:00
Rudolf Cornelissen 13a4e5a056 intel_extreme: haswell+ has DDI, no DP, so block scanning that for screens. 2021-06-27 17:47:04 +00:00
Jérôme Duval 009a0c62cc asus-wmi: add keyboard backlight toggle support
also add fn-lock mode switch support.

Change-Id: I08738aa058e5fce2fae2ac03da2afd9fa7f894bb
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4119
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-06-27 12:41:01 +00:00
Jérôme Duval 842a1538a6 ext2: fix metadata_csum for inodes
the checksum assumes the full inode block.

Change-Id: I60ef5d0b769750107b7e104709edff95beee8085
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4118
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-06-27 12:41:01 +00:00
Máximo Castañeda 4c23dfb3a3 posix: fix confstr
* Off-by-one error copying the string.
* As per the spec, return the buffer length for the string when passed a
  null pointer and 0 length.

Fixes https://github.com/haikuports/haikuports/issues/5821

Change-Id: Ic421f26db00f9820c6a617375e39f7341cd5ebc1
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4110
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-06-27 08:58:15 +00:00
X512 208a3535b0 ahci: remove packed attribute from register structure
It cause per-byte access instead of 32 bit on GCC/riscv64 that breaks operation.

All fields are 32 bit so alignment is already fine and packing is not needed.

Change-Id: Ie96eac6615c9326e84608be1c667bc5d3600c508
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4117
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-06-27 08:56:11 +00:00
Adrien Destugues 6aec6b1c9a app_server: add Noto Emoji to font fallback list.
Helps with #16221 (somehow it doesn't seem to matter if the font is
installed or not?)
2021-06-26 16:55:41 +02:00
Adrien Destugues 5aaaddb3b3 wavelanwifi: remove.
This was based on the FreeBSD wi driver. The FreeBSD driver is removed
in FreeBSD 13. Most of the supported hardware was PC-Card, which we
never supported in the first place. All the devices, even the few
supported PCI ones, are restricted to 11Mbps Wifi, and the driver never
supported WPA. This makes this hardware largely irrelevant today.

The driver had already been removed from the build. This ocmmit just
deletes the sources.

Fixes #16942.
2021-06-26 15:29:01 +02:00
Autocomitter 916c63e6d7 Update translations from Pootle 2021-06-26 08:54:48 +00:00
Andrew Lindesay a18f873f8b HaikuDepot: Background Processing
Unify the background processing in the
application to one system and refactor
the package actions.  This won't fix
any specific current issues with this
area, but lays the ground for later
fixes.

Change-Id: I098b81e7afc4aeb883bddf1acfc01f7888134257
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3997
Reviewed-by: Andrew Lindesay <apl@lindesay.co.nz>
2021-06-25 09:20:23 +00:00
Rudolf Cornelissen def51fb910 intel_extreme: don't pgm pipes, follow BIOS for now. Two screens on now i.e. 2021-06-25 10:40:08 +00:00
CodeforEvolution 74f28747a2 mime_db: New text/markdown MIME type and other MIME type polishing
- New text/markdown MIME type was added according to IANA registry.
- MIME types gained new extensions that weren't previously included.
- Resource definition files will now open up with Pe by default.
- text/x-vcard was renamed to text/vcard, as it's now a registered IANA MIME type.
- text/x-source-code had its sniffing rules increased in priority,
  so that it would get precedence over text/plain and its own sniffing rules.

Change-Id: I28af24de8c0e96ef39dfc67703a0884e8d4c842e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4109
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-06-25 06:58:57 +00:00
Murai Takashi 0071f2c477 cddb_lookup: Update default server
Fix part of #17023
* Update default server to "gnudb.gnudb.org:80".
* Add "/" to command footer to work with gnudb.

Change-Id: I363ca919d971e96ba27476a56ca06b4e8fa99171
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4112
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-06-24 12:50:49 +00:00
CruxBox 68c3f45dfb xfs: Attempt at reading extent based files
There are 2 issues right now. One is that I have to give cat command the
entire file size for it to print the entire file. The second issue is
that I am getting segmentation fault for some reason, and it doesn't
even have to do with xfs_read().

For more info: https://review.haiku-os.org/c/haiku/+/3154

Change-Id: I8e3acd658730ed2339dabbd671820c409332f296
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3154
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-06-23 17:17:40 +00:00
Alexander von Gluck IV 02a8f8b29c build/image: Slightly bump release image size
* Solves out of space issue building release images

Change-Id: I888836774732f65fde3574ef498b272d8285356f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4107
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-06-22 00:09:53 +00:00
Adrien Destugues 8003ed8100 Use a tag: identifier for haiku and haikuports repositories
This resolves the confusion about the "url" field in repository
definition files. However it changes the identifier of repositories. It
seems to be a good idea to do this with a new release, as users will
need to switch to new repos anyway and can accept special instructions
at that time (we will include the instructions in the release notes).

The new format uses a tag: uri as specified in https://tools.ietf.org/html/rfc4151

The rationale for this is:
- We need a way to uniquely identify repositories
- We want anyone to be able to create a repository easily, with no
  central registration, and in a way that does not results in accidental
  conflicts. We do not want to be running a registry to grant people an
  identifier for their repository.
- Backwards compatibility with existing repositories and software should be
  preserved: some code and file formats in Haiku package tools expect or
  expected the identifier to be parsable as a BUrl. Existing 3rd-party
  repositories use an http or https URL as an identifier and may
  continue to do so (changing the identifier of existing repositories is
  not desirable)
- Forwards compatibility if we want to change this again later
- Optional: repository identifiers should be user readable.

The tag: URI resolves this in the following way:
- Backwards compatibility: it is still an URI, as the identifier
  previously was.
- Forward compatibility: We can change to another URI scheme if we want to.
  In fact, each repository can decide what type of URI they want to use,
  "tag" is only a recommendation and put in use for the repos we
  provide.
- Uniqueness + no centralization: the tag: URI specifies namespaces tied
  to a domain name (which is already needed to host a repository) and a
  date at which the domain is owned by the entity generating a tag. Inside
  that namespace, they can do as they wish.
- User readability: the format is simple and text-based.

Other possible alternatives are:
- keeping the current solution of using http URLs. It has proven
  confusing because the repository hosting may be moved or mirrored
  while preserving the identifier. There is also work in progress to
  distribute packages using other protocols (eg. IPFS).
- Using an uuid. This provides unique, decentralized identifiers, but
  is not user-readable. Backwards compatibility can be provided by
  wrapping the uuid into an "urn:uuid:" URI (see
  https://www.itu.int/en/ITU-T/asn1/Pages/UUID/uuids.aspx).
- Using some other URI scheme such as "urn:oid:". I investigated some, but
  found none that provide a decentralized namespacing solution (except
  for "tag", of course).
- Using a custom URI scheme of our own. This would normally require declaring
  it to the IANA (example: https://www.iana.org/assignments/uri-schemes/prov/apt
  for Debian packages) in order to not make the internet more of a mess
  than it already is. We would still need to define a way to generate
  URIs that protects people from getting accidental conflicts. The
  solution would probably be similar to what the "tag" URI scheme does, as
  there doesn't seem to be many other ways to guarantee uniqueness in
  (cyber)space and time without registration.
- Not using an URI scheme: in addition to the problems of a custom URI
  scheme, this would break backwards compatibility (existing software
  would not accept the new format) and forwards compatibility (without a
  scheme in the identifier, it is hard to detect what it is supposed to
  be if we change formats later on)

Change-Id: I970c23a546569994632c7bd570d11bdea95ba52e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4106
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-06-21 21:33:27 +00:00
Alexander von Gluck IV 79f4d9757e x86_64,x86_gcc2: Bump repo files to fix release build
Change-Id: Ifcf88c23a658deedc76b683ac9f2f3c421203204
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4104
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-06-21 20:41:40 +00:00
Alexander von Gluck IV ce5993fdb7 version: add BETA_3 and PRE_BETA_4 constraints.
Change-Id: I65b4889042c4c92086fade535622ef12b368a968
2021-06-21 11:38:54 -05:00
Adrien Destugues 303187e29b Revert "Media Kit: use the B_WRITABLE flag in plugins"
This reverts hrev54422.

I'm not sure what I was trying to fix with this change. The way the
media kit is currently designed, the list of supported formats
(including for reading) comes only from writer plugins. This means it is
impossible to have a decode-only plugin currently. And the list is
called "fWriterFileFormats" but in fact is the only list used to
implement get_next_file_formats, so it should contain all formats.

This current setup works for the ffmpeg plugin, but it should be
cleaned.

This fixes Youtube playback. The problem was simply that we were not
reporting support for any of the Youtube video formats anymore.
Unfortunately, the app_server crashes when playing Youtube videos are
still there.

Change-Id: Ie5025cd48e2ab23b616bad49eec1401331ffb0ed
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4103
Reviewed-by: X512 <danger_mail@list.ru>
Reviewed-by: Panagiotis Vasilopoulos <hello@alwayslivid.com>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-06-21 12:33:28 +00:00
Jérôme Duval ddffdd2506 C11: define __STDC_NO_THREADS__ as threads.h is not provided
Theorically we could define __STDC_NO_THREADS__ internally in GCC, but
threads.h probably will be added in the future, and the compiler won't
notice.
Using this stdc-predef.h header and including it in GCC would solve this
nicely, and saves us from hardcoding.
The header can eventually be removed when obsolete.

Change-Id: I29aa58686e3c45449dc63e02e5a9e13a960b9090
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4097
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-06-21 12:31:53 +00:00
Pascal Abresch 325ab89b90 ControlLook: fix minor code style violation
Change-Id: I0b3e80e7ba4418f06c20fd02f96cb2932623fd71
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4102
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-06-20 19:55:44 +00:00
John Scipione 7912dad947 BTextView: Fix Tracker edit name
Don't resize text view in FrameResized() if resizable, this is done
in _AutoResize() instead. Set text rect width to width of max line when
word-wrap is off. Text rect width shrinks to the width of the text
matching behavior of BeOS R5 and previous Haiku. This fixes Tracker
Edit name.

Limit max width to column width in list mode or 30em in icon mode.
Filter paste messages limiting to max width in Tracker Edit name.

General BTextView fixes:

As a consequence of the text rect shrinking to fit the text, adjust
highlighting to go at least to edge of the view even if text rect width
is narrower. Extend the invalidation area beyond text rect when
redrawing to include highlighted areas.

Text views behave properly when overflow occurs i.e. when you type
text off the end of the text view. The text is nudged over as you
type/scroll so that the previous text is visible. This sorta worked
before but now works better.

Fix text rect centering by replacing switch with
BLayoutUtils::AlignOnRect().

Coalesce consecutive draw calls when inserting and deleting text to
prevent flashing for example when resizing the window. Redraw text
when the text view scrolls fixing a bug I noticed in StyledEdit.

Workaround negative height Beezer bug.

Fixes #16642, #16476

Change-Id: I2d32d6039944d2dc3218ce4de71f2966cc98c866
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3642
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-06-20 14:46:53 +00:00
Jérôme Duval 7d961f9746 sys/resource.h: add rusage compatibility fields, set to zero
POSIX defines this structure but specifies only two fields (which we
already implement). However, both the *BSD and Linux have agreed on
some more fields, which are often assumed to be there by applications.

The benefice of having compatibility fields is
greater as having to patch every other software at HaikuPorts.

Change-Id: Ie28ca2e348aa16b4c57eb3498eb62175100d9b9d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4083
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Niels Sascha Reedijk <niels.reedijk@gmail.com>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-06-20 12:50:24 +00:00
Rudolf Cornelissen 0d1016f023 intel_extreme: assign ports a pipe just once. 2021-06-19 21:10:24 +00:00
Jérôme Duval c6fe367365 POSIX: introduce ppoll
will appear in the next version: https://www.opengroup.org/austin/docs/austin_1110.pdf

Change-Id: I38014ad910881df260f0ec762831491e143328c4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4099
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-06-19 18:09:25 +00:00
Rudolf Cornelissen 0af04dccaa intel_extreme: only access ports pipe if it has one assigned. 2021-06-19 13:53:18 +00:00
Máximo Castañeda 1aca853fc9 BMenu: fix menu items width in column layout
Change-Id: Ia16d51ff31760fef28bcceeab7b5c26a05cfbdad
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4092
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-06-19 09:28:06 +00:00
CodeforEvolution 65f4a22735 registrar: Shutdown Icon Animation
In the case that an application is blocked by a model panel during shutdown, the icon will now show a "waiting" animation
like in BeOS R5.

Fixes #7980

Change-Id: Iec79fcaf431407ff51430a1a8e4c8ec41571059d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4001
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-06-19 09:15:33 +00:00
Autocomitter 8f265e03c9 Update translations from Pootle 2021-06-19 08:55:55 +00:00
Murai Takashi 9be773046a gutenprint: Fix ASSERT expression
Change-Id: I7fb39364fe8cf2b5596764bb4db3bda12295a171
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4096
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Reviewed-by: Jacob Secunda <secundaja@gmail.com>
2021-06-19 06:44:05 +00:00
Rudolf Cornelissen 5c178f3cbb intel_extreme: fixed pipe-to-port assigning: no second screen yet.. 2021-06-19 00:47:46 +00:00
Rudolf Cornelissen 54ce952dd4 intel_extreme: fixed DP/DDI clk init switch and link det, accept EDID still down. 2021-06-17 21:59:28 +00:00
Niels Sascha Reedijk bf6a2a2bf1 Cortex: fix the catalog location of the main application
Previously, hrev55011 introduced localization for Cortex, which then
prompted to close #7530. It has then been reopened, when it turns out
that the translations for the container application (RouteApp) did not
work, whereas the individual add-ons/modules were translated.

The cause is that by default BCatalog looks up the translations based on
the subtype part of the signature. This is x-vnd.Cortex.Route (without
the application/ supertype). This change will place the translations in
the right place of the file system.

The add-ons were never affected, since they BCatalog is explicitly told
to find the translations for the entire signature, like:

static BCatalog sCatalog("application/x-vnd.Cortex.InfoView");

Even so, it was chosen to omit the `application` supertype from the
signature for the shared code as well.

This should fix #7530 for good.

Change-Id: Iff18fabef7aba68602e49db1e98cfed2f486f545
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4091
Reviewed-by: Niels Sascha Reedijk <niels.reedijk@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-06-17 10:59:18 +00:00
Murai Takashi 324b426da9 libnetservices: Fix DEBUG build
Add iostream header since BUrlProtocolListener::DebugMessage() need it.

Change-Id: I4665d5675b33b1cb5beba123d07a38c3edbbeb6f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4095
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Niels Sascha Reedijk <niels.reedijk@gmail.com>
2021-06-16 07:25:36 +00:00
Jessica Tallon e3fa7914c6 mediaplayer: Support m3u playlists containing urls
fix #6670

Change-Id: I8e15b1a79f1d2a687108c3c2a1fc3fc341b79cc5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4050
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
2021-06-16 06:02:48 +00:00
CruxBox a2603a88fd xfs: coding style fixed, no functional changes
Change-Id: I56a1220abc330ef853cee4bdb9fa9c1b712784a4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3143
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: Rene Gollent <rene@gollent.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-06-15 16:52:35 +00:00
Jérôme Duval 3f816b034d TextSearch: only grep files
fix #17012

Change-Id: Id721ec57945d9a57824ae53bf591d0e09a2b53f3
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4094
Reviewed-by: Rene Gollent <rene@gollent.com>
2021-06-15 16:22:08 +00:00
Jérôme Duval 7903bfcf8b strace: add signal name tracing
inspired by hrev23436, fix #10944

Change-Id: Ieedace86a6541a4cd1346791146a96e99d09d614
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4093
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-06-15 14:34:56 +00:00
X512 b0557f6959 kernel/arch/system_info: implement for riscv64
Change-Id: Ifa66859a7f87cd821fe50ca7d26e08472adcf279
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4060
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-06-15 01:55:56 +00:00
X512 a6a92e3cd5 kernel/arch/elf: implement for riscv64
Change-Id: I919ee4883af780f48385a53e5768eba35dde6423
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4054
Reviewed-by: X512 <danger_mail@list.ru>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-06-14 21:49:07 +00:00
Rudolf Cornelissen 7b6ac3b38f intel driver: internal panels need HWtarget for link and fitter 2021-06-14 23:02:04 +00:00
Rudolf Cornelissen 16ea5aac34 intel driver: added panelfitter pgmming. 2021-06-14 22:49:31 +00:00
François Revol 08d7c6e8f3 poke: raise IOPL on x86 when opening the driver
This should allow easier porting of things like flashrom,
as it mimics FreeBSD's /dev/io behaviour.

Change-Id: Iaa6b6342cf7983a9655a7155adfcc46c8a8264f1
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1077
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-06-13 21:07:28 +00:00
Panagiotis Vasilopoulos 9c5a5bafa4 ReadMe: Add Getting Involved link
- It's a good idea to push interested parties towards the right direction.

Change-Id: Ib2486f981c1abbccf97ac019bee919bdf92279e2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4089
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-06-13 21:06:58 +00:00
François Revol e5495bf648 poke: allow multiple open()
Not sure why it only ever allowed a single instance.

Change-Id: I972a1d601d93725674a97fb341aa7ffb3625b105
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1075
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-06-13 21:03:11 +00:00
Alexander von Gluck IV 9918c82954 data/trust_db: Introduce a selection of trusted public keys to our filesystem
Change-Id: I7bf7d5dac5bb576f9ca5fc55680fc369556f4312
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4044
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-06-13 16:30:14 +00:00
CruxBox 1dcb6c252c xfs: B+Tree GetNext() works
The GetNext() works well for B+Trees and that wraps up the work needed
for all kinds of GetNext().
Change-Id: Ie965d3da273364f8fdbdb8faee5cb3c214881130
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3124
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-06-13 15:49:15 +00:00
X512 7766b5a136 haiku_loader: add J, K keys support for up/down keys
Arrow keys are not available on some platforms.

Change-Id: Ia38797eb12202668a0b0976b31f21f564d140901
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4087
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
2021-06-13 11:34:01 +00:00
Han Pengfei b7a6ab94c3 boot/arm: fix bootloader build issues without font and font_spleen
Change-Id: Ie9595f79de43bbb155c997bdbcf109e8e971e862
Signed-off-by: Han Pengfei <pengphei@qq.com>
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4086
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-06-12 17:45:25 +00:00
Alexander von Gluck IV 35fad4a467 bootloader: Enable GPT partition support in EFI loader
This was enabled per-architecture, but it is reasonable to always
enable GPT support for all EFI systems, no matter which CPU is used.

Change-Id: I53ca2caf048fbc4ead6cfb74c8734ac9ad382224
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4085
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-06-12 14:04:26 +00:00
Autocomitter 4365774b68 Update translations from Pootle 2021-06-12 08:56:19 +00:00
Murai Takashi 0594775c0f storage kit: fix Wrong type of arguments to formatting function
Pointed out by LGTM.

Change-Id: I802814ef53dd3f46a355db0a57926676037984a7
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4080
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-06-11 10:59:02 +00:00
Murai Takashi 69cd1bde89 keymap: fix value stored to 'flags' is never read
Fix 'flags' was not used in In KeyboardLayoutView::_DrawKeyButton().
Pointed by Clang Static Analyzer.

Change-Id: Ic3b2da856ee410e908eaaf0c5c4b5b3753928c00
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4079
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-06-11 10:58:35 +00:00
Jérôme Duval 1b0f948ea2 demangler/gcc3+: handle vendor-specific suffix
fix bug #13720

Change-Id: I3363572b88aaa674f5ee7cf69866b9f2bbb4e84c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4084
Reviewed-by: Rene Gollent <rene@gollent.com>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-06-11 01:42:54 +00:00
Niels Sascha Reedijk 8c232f164a AboutSystem: remove duplicate 'Copyright'
Reported by translator loic. Thanks!

Change-Id: I2491a02388321338d8ffe3031fa4670877a77a66
2021-06-10 08:28:55 +01:00
Máximo Castañeda e41899a6fe BMenu: fix scroll activation
Fixes #14932

Change-Id: I72b16a26ea4d3cef0e9518381c583b23bdcadc22
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4078
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: humdinger <humdingerb@gmail.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-06-09 10:58:02 +00:00
Máximo Castañeda 46c95b5d09 BMenu: move menu over the menu bar only if there's more space there
Fixes #16773

Change-Id: I465c2f4366c11b7b0bacaed57c3d8fd33defe8a2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4077
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-06-09 10:58:02 +00:00
Rudolf Cornelissen 63bd351f41 Intel_extreme and some others: replaced 1920x1080 modeline with nVidia one. Fixes out of range for some panels 2021-06-08 09:30:38 +00:00
Rudolf Cornelissen aca9888e37 Intel_extreme: fixed hrev55115 regression and added FDI data/link M/N programming. 2021-06-08 09:30:38 +00:00
Alexander von Gluck IV 1a5fe94b7a riscv: Fix build, handle .riscv loader
* We accept the riscv loader to build it, but don't really put it
  into the image since for now you'll just want the haiku_loader.riscv
  for things like TinyEMU

Change-Id: I5005dd5063f2a84cf426db4c40635e87e579ad80
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4075
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>
2021-06-08 02:19:02 +00:00
X512 d407b17b18 kernel: riscv64 patches
Change-Id: I8ebcbaa395cbccb50af08fd2f1b049b5cbb949c7
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3883
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: X512 <danger_mail@list.ru>
2021-06-07 07:14:23 +00:00
X512 b126a077f8 libroot/uname: add riscv64 support
Change-Id: I1753be9d79d6527f6a9b3cceb644b5cd19d8f67e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4070
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-06-06 19:04:47 +00:00
X512 a7ed58868f virtio: add interrupt declarations
Change-Id: Ifd68f69599a8313615c31b85828aa5b96c68c165
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4069
Reviewed-by: X512 <danger_mail@list.ru>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-06-06 19:03:30 +00:00
John Scipione 830db1095f TextView docs: Add class overview
Change-Id: I4123822548f606812915211cd080c099b7413ef8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4045
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-06-06 12:44:28 +00:00
Jessica Tallon 1a5b7d9d27 haikudepot: Resize screenshot window on new change
When the screenshot is changed to a new one, it resets the size
before the screenshot begins downloading so the window is not the
same size as the previous screenshot.

Change-Id: I778b241537b3d1eeb1c1f91b60c60f5e8509ee51
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4049
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-06-06 09:23:38 +00:00
Jérôme Duval addd392113 kernel/x86_64: clear carry, nested task and trap flags on syscall entry
this is what's generally done on other OSes.

Change-Id: I90f1a574172b8e020c9943468d2fd121e14dd062
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4047
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-06-06 07:23:10 +00:00
Autocomitter 55a7cd0a12 Update translations from Pootle 2021-06-05 08:48:53 +00:00
Jérôme Duval bc5570ae60 kernel/x86: set initial user thread IOPL to zero
User threads aren't supposed to be able to adjust the interrupt flag (IF). A few
apps for instance DOSBox would just use the popf instruction and disable the
flag, expecting the change to be ignored.

Quote from the Intel manual:
"The interrupt flag (IF) is altered only when executing at a level at least as
privileged as the IOPL. If a POPF/POPFD instruction is executed with
insufficient privilege, an exception does not occur, but the privileged bits
do not change."

fix #14711

Change-Id: I0519312c1151a1dd76541f60283c6c210a5b21a6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4046
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-06-04 15:56:33 +00:00
CruxBox b4763972bd xfs: B+Tree ExtentMap reading
We can now read all the extent maps from the leaves. This will be needed
to implement the GetNext() functionality.

Change-Id: Ie10b453c33bec6e6d3109743d695f86a90de45cd
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3119
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-06-04 12:50:56 +00:00
Jérôme Duval d9b9a94c4f kernel/x86: disable trap and direction flag on signal handler entry
846ac2266b
22eca0bf45
Change-Id: I19620d15372572ce4498d9145fd6b0df50f91bb9
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4043
Reviewed-by: X512 <danger_mail@list.ru>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-06-04 07:39:58 +00:00
Alexander von Gluck IV 37db8e9aed xhci: Enhance endpoint state handling
* Expands on previous change to no enter a stopped
  state on an endpoint teardown.
* Doorbells could re-awaken the port in a stopped state

Change-Id: Ib5d9c89c4b721ea36ca22aaaf3ff92760a3ec2ff
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3996
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-06-04 07:39:12 +00:00
Máximo Castañeda a60e5cb46e Get font metrics from a bitmap if there are no outlines
FreeType only provides some font parameters for scalable fonts. In
particular, we use the FT_Face values of units_per_EM, ascender,
descender and height, which are 0 for bitmap-only fonts.

Part of #16938.

Change-Id: Iea2d87ad95f3bc1c2e27fb041da0a27c6e68be91
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4042
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-06-04 07:39:02 +00:00
Adrien Destugues 8aae4f2190 SetupEnvironment: set USER and GROUP variables
Fixes #7682.

Change-Id: I85ea7b41b838edaeb9c92d280e9420bd70b30fd1
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3958
Reviewed-by: Rene Gollent <rene@gollent.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-06-04 06:37:00 +00:00
Fredrik Modéen 329ae20bac Make Bluetooth Pref use BMessage to save data.
* This will break previus ways to store settings (as it only stored a struct)
* Now we use BMessage to save data.
* Added some stuff to SettingsMessage.
* Fix a bug in BluetoothSettingsView::_GetClassForMenu() and SettingsMessage::SetValue

Change-Id: I6a0fa1564e78460258f480947592eb4007985007
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3887
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-06-02 13:44:13 +00:00
X512 7fca70f67e haiku_loader.riscv: fix build
`frame_buffer_console` is not usable in boot loader because it use
kernel virtual memory API.

Change-Id: I83f7411261e2ed9b4d68d4c109e5d988e75042cb
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4013
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-06-02 09:25:17 +00:00
X512 3126032d47 OpenTerminal: fix parent PID, simplify logic, minor fixes
Change-Id: I6c97e63d380cbfe041c753c298778c6e5d647507
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4009
Reviewed-by: X512 <danger_mail@list.ru>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-06-02 09:24:30 +00:00
Adrien Destugues 599789de1e Pulse: add Risc-V logo
This may become useful soon.

Change-Id: I5c2d57981a04aacea5d8a0cf555ed06b72be48da
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3913
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-06-02 08:48:36 +00:00
Rudolf Cornelissen fe40adc2a6 Intel_extreme: fixed Pipe config pgm fault, fixed PLL setup fault (non-analog ports). 2021-06-01 20:29:42 +00:00
Adrien Destugues 0a6ab6bbca Input preferences: some style fixes.
Problems found by running haiku-format and looking at the resulting
files. Manually triaged to keep only the correct changes, currently
haiku-format is making a lot of unwanted changes as well.

Merging the correct changes allows us to see the incorrect ones more
easily and continue working on fixing them.
2021-06-01 21:36:43 +02:00
Jérôme Duval b25103cc9c kernel: generic user_memcpy() should clear_ac after the fault handler returns
the AC flag in eflags/rflags, pushed in the iframe by the CPU, is kept intact after handling the exception, since the fault handler is run with the faulted iframe and does a simple jump. The AC flag would otherwise be set until the syscall returns to userland.

Change-Id: I24f763032ab98029dd162fb411e1541586451606
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4040
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-06-01 12:24:54 +00:00
Adrien Destugues 4d0359955f gitignore: Add Visual Studio Code and IntelliJ IDEA configuration directories
Co-authored-by: Panagiotis Vasilopoulos <hello@alwayslivid.com>
Change-Id: Ibed5c5be410bf61d36dc12dce74d9bc1706f2b0a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4039
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-05-31 20:15:44 +00:00
X512 af435dd1c9 libroot: remove delete_driver_settings
It is not present in BeOS R5 and it just call unload_driver_settings.

Replace delete_driver_settings usages with unload_driver_settings.
Keep the symbol on x86 for binary compatibility.

Change-Id: I1382710e3a4cb5c65d1249ea0e5880891e6800e4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3485
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-05-31 06:51:45 +00:00
X512 7806eafaa3 AutoLocker: add BHandler support
Change-Id: Ifaee00664eab78f0b6f67a8b716e3db8af710acd
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4008
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-05-30 16:38:43 +00:00
X512 9d57225b8c libroot/posix: implement arch-specific parts for riscv64
Change-Id: Ia1eac32b383857724dd00b227a735174ff6f0a63
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3984
Reviewed-by: X512 <danger_mail@list.ru>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-05-30 16:25:07 +00:00
X512 178c7c5a98 runtime_loader: implement relocations for riscv64
Change-Id: I98f179fefd8bb732aa04b52aeb59c7b4d0620c05
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3985
Reviewed-by: X512 <danger_mail@list.ru>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-05-30 16:24:17 +00:00
X512 d00fc0e3e6 BTextView: fix Text field scripting
Change-Id: I2048d7f01fa3694d5687447cf7058fecf03ae15d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4007
Reviewed-by: X512 <danger_mail@list.ru>
Reviewed-by: John Scipione <jscipione@gmail.com>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-05-29 12:17:24 +00:00
Autocomitter 8c039e20f2 Update translations from Pootle 2021-05-29 08:50:35 +00:00
Rudolf Cornelissen c7d83a174c Intel_extreme: fixed DPLL pgming (Sandy+), prevent black display by not killing PIPE (Ivy+). Chkd GMA(Q33G/Q45) OK. Added defines. 2021-05-29 08:41:32 +00:00
Jérôme Duval 5cad57c43b Reapply "freebsd_wlan: apply net80211 commits from FreeBSD 13 except four commits"
Reason for reapply: ticket #16958 regression testing not conclusive

Change-Id: Id8fb4c865db9107a31542d1db987db9a73140f9c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4016
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-05-28 18:14:32 +00:00
X512 0b4660ae5a BeBuild: add ALWAYS_INLINE macro
only available on gcc 4 and upper.

Change-Id: Ifc059d5fedd15a5aeda1514312fbbf98a72d3128
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4005
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-05-28 11:32:48 +00:00
X512 a182bd6eb5 haiku_loader: initial support for RISC-V TinyEMU
Change-Id: Ie102f466725f45072db25a9629fa8e28526484eb
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3882
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-05-27 17:35:27 +00:00
X512 44a8696dc5 add VirtIO header
Change-Id: I938e80fe156a0a1d49e0eef330cbfc0cf22f0995
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4002
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-05-27 17:33:00 +00:00
X512 b8b1ad6fc4 introduce RISC-V headers
Change-Id: I9a8b6a1011cbefd4bd173852e7111e92efd0c730
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4003
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-05-27 15:43:19 +00:00
X512 1b41be049b libroot: convert pthread_spinlock to C++
Change-Id: Ic65b624d343c2cdb4bbb138c94c0ea2f01f27139
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4006
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-05-26 16:48:47 +00:00
Pascal Abresch 29a109bd6c Framebuffer console: Add spleen font (12x24)
Use this larger font when the screen resolution is large (more than
1920x1080 in both directions). The usual font is too small and not easy
to read on such high resolution displays.

Change-Id: I14a40ecf6917d0c6c64ab5a8abe1affcb3839a74
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3818
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-05-26 06:52:54 +00:00
Fredrik Holmqvist 3b49957171 Fix ARM64 relocation function unused attrs
Similar to other architectures.
2021-05-25 21:40:07 +02:00
X512 1542053775 video_mixer: fix build for non-x86
Change-Id: Id5701d472415fe68685c3d8126566b93443810bb
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3988
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-05-25 11:51:13 +00:00
X512 5fcf71f504 Remove unneeded iostream includes
It cause adding new entry to executable init array for each translation unit.

Change-Id: I1e2d7946da03c001de7721948bc9af8188e8b317
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3981
Reviewed-by: X512 <danger_mail@list.ru>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-05-25 11:50:45 +00:00
Alexander von Gluck IV 53d0323422 xhci: Check endpoint state before stop
* As per the spec, the only exit from an endpoint in a halt
  state is to issue a restart command. (restart puts the endpoint
  into a stop state.. it's named poorly)

Change-Id: I4a1a556374ad7f564a562d995d1a2e29230a50c3
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3959
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-05-24 21:23:06 +00:00
Máximo Castañeda bd6434b663 Revert "packagefs and IOCache: don't reread pages when we have them all."
This reverts commit dfc8e52638.

It needs more attention to its influence on other parts of the code.

Fixes #16954

Change-Id: Ibb764d81666434a198023bc345a45ef9d270eadb
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3976
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-05-23 21:05:01 +00:00
Jérôme Duval 00ba3fd01b Revert "freebsd_wlan: apply net80211 commits from FreeBSD 13 except four commits"
This reverts commit a4caca440c.

Reason for revert: idualwifi7260 works in hrev55078, not in 55091, 55099

Change-Id: Ica72c2e3d70233a5093fa7601fbf2a8fcb19021e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3937
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-05-22 12:27:00 +00:00
Autocomitter 8516b308f8 Update translations from Pootle 2021-05-22 08:45:30 +00:00
Jérôme Duval 2b4bf3eef6 i2c_hid: driver for i2c-hid devices
This is getting more common in tablets and laptops. It replaces PS/2 for
the internal keyboard and pointing devices. This is simpler and cheaper
than using up USB ports, and also simpler than the old and quirky PS/2
protocol.

The HID spec is the same no matter what transport is used (it is also
applicable for Bluetooth). Ideally we could create a separate HID bus
manager that would handle all these devices in a generic way, but that
is a lot of work nad extra complications for uncertain gains.

For now, just move the common files to a shared directory where both
drivers can use them. As a result the files are compiled twice, which is
what we want, because currently they hardcode some device paths that
need to be different for each driver.

Change-Id: I0327f6864dd0a4372b708f7b7ecf299aa86a6ea9
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2466
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-05-21 07:08:43 +00:00
Jérôme Duval 22c72a99f9 build: remove wavelanwifi from the default image
wi(4) was removed in FreeBSD 13

Change-Id: I4008dba521e6246c817668f49169db1559908824
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3957
Reviewed-by: Rene Gollent <rene@gollent.com>
2021-05-20 21:21:39 +00:00
Jérôme Duval 65f52a5f56 build: remove the firewire support from the default image
decommissioning.

Change-Id: Ie7ccba705f7282193120241479d2ae83bd271b2c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3956
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-05-20 21:21:39 +00:00
Panagiotis Vasilopoulos 39e2ee5186 Replaced and updated Docker images
Change-Id: I981a4a3416b3827a3d834f0103527b0432cbdb87
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3915
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-05-19 05:42:07 +00:00
Jérôme Duval 474e0be842 atheroswifi: apply commits from FreeBSD 13 except
654517304167bb4675aa14ada0a1dac9efe71c9b Convert to if_foreach_llmaddr() KPI.
5ab0c8434a7befeafbaf81e899fc23f660b64c9d ath(4) processing input packets in taskqueue.
6c3e93cb5a4aa4b8a2d8d4d326f2a7c34d3a4458 Use NET_TASK_INIT() and NET_GROUPTASK_INIT()

add extra ANI fields for the AR9300 HAL.

I'm trying to debug why reception upstairs here is so terrible and it
turns out ANI is buggy.  (Which is no surprise, ANI is always buggy.)

Tested:

* Carambola2 (AR9331), STA/AP modes

ANI fixes and preparation for userland control.

* The ani function bitmap was being badly used when determining if a command
  could be used.  In hostap modes only a couple of the ANI control parameters
  are enabled.

* The ani function bitmap was not being reset to HAL_ANI_ALL if transitioning
  from AP -> STA.

* Change mrcCckOff to mrcCck - 1 == on, rather than 1 == off.  This matches
  the API used to set the value from userland via the diagnostic API.

* Handle OFDM/CCK noise immunity level commands in ar9300_ani_control().
  These will only come from userland and it will go and program the rest of
  the ANI control parameters with the values in the ANI table.

* Ensure all of the ANI parameters can be tweaked at runtime, even if they're
  disabled.

Tested:

* carambola2 (AR9331), STA/AP modes

Fix return value check to not complain.

Compilers complain more about things, so let's keep them happy.

Extend the start PCU receive to handle resetting ANI.

One of the fun issues with scanning has been how the existing
ANI values were programmed into the hardware when channels were
changed.  If you're on a really crappy channel and ANI has made
you deaf then when you scan you continue to be deaf on all channels.

This code passes in a flag to startpcureceive which in AR5416 and later
is also used to enable ANI.  This allows it to know if it's a normal
operation or a scan operation.

This fixes my situation at home where a temporary spot of a device
going deaf due to interference starts scanning and .. can't hear
anything until I restart.

Now, this isn't the full fix - ideally:

(a) all the ANI config and per-channel information would be migrated
     to the shared HAL stuff and enabled for all of the NICs;
(b) when a station reassociates and some other error conditions
    (like missed beacons, NF calibration failures, etc) a knob
    to reset ANI parameters would likely help recovery.

But hey, I'm committing bits of code again! woo!

Tested:

* AR9344 (2G), STA operation

Fix ANI calibration during non-ACTIVE states; start poking at rate control

These are some fun issues I've found with my upstairs wifi link at such a ridiculous
low signal level (like, < 5dB.)

* Add per-station tx/rx rssi statistics, in potential preparation to use that
  in the RX rate control.

* Call the rate control on each received frame to let it potentially use
  it as a hint for what rates to potentially use.  It's a no-op right now.

* Do ANI calibration during scan as well. The ath_newstate() call was disabling the
  ANI timer and only re-enabling it during transitions to _RUN.  This has the
  unfortunate side-effect that if ANI deafened the NIC because of interference
  and it disassociated, it wouldn't be reset and the scan would never hear beacons.

The ANI configuration is stored at least globally on some HALs and per-channel
on others.  Because of this a NIC reset wouldn't help; the ANI parameters would
simply be programmed back in.

Now, I have a feeling I also need to do this during AUTH/ASSOC too and maybe,
if I'm feeling clever, I need to reset the ANI parameters on a given channel
during a transition through INIT or if the VAP is destroyed/re-created.
However for now this gets me out of the immediate weeds with connectivity
upstairs (and thus I /can/ commit); I'll keep chipping away at tidying this
stuff up in subsequent commits.

Tested:

* AR9344 (Wasp), 2G STA mode

Have the final attempted rate in 11n modes to be the lowest one.

Right now ath_rate_sample has a fixed rate schedule, rather than the minstrel_ht
style "best, good, most reliable" triplet.  So, if higher rates are tried then
it'll not fail back to a lower MCS rate in that transmission schedule.

This means that in low SNR situations it'll not easily drop to MCS0 unless enough
transmissions occur to allow rate control to eventually decide to drop; and if
it's TCP traffic it'll get slowed down because of packet loss.

It's worse for 2-stream and 3-stream rates; it doesn't ever fall back to lower
stream rates, and these higher stream rates required higher SNR to work.

So instead let's (for now?) have each of the 11n transmit rates use MCS0 as
the last attempt. ath_rate_sample will quickly see that rate succeeds more
and will move to it much quicker.

Testing:

* AR9344 (Wasp) - 2G STA mode

Fix queue bits a bit

Found by PVS Studio: duplicate assignment; add assignment of tqi_compBuf.

Submitted by:	<mizhka@gmail.com>
Differential Revision:	https://reviews.freebsd.org/D20431

ath_hal: fix typo in ath_hal_printf

Fix endian macros to work in and out of kernel tree.

Yes, people shouldn't use bitfields in C for structure parsing.
If someone ever wants a cleanup task then it'd be great to remove them
from this vendor code and other places in the ar9285/ar9287 HALs.

Alas, here we are.

AH_BYTE_ORDER wasn't defined and neither were the two values it could be.
So when compiling ath_ee_print_9300 it'd default to the big endian struct
layout and get a WHOLE lot of stuff wrong.

So:

* move AH_BYTE_ORDER into ath_hal/ah.h where it can be used by everyone.
* ensure that AH_BYTE_ORDER is actually defined before using it!

This should work on both big and little endian platforms.

Add some extra data into the rate control lookup.

Right now (well, since I did this in 2011/2012) the rate control code
makes some super bad choices for 11n aggregates/rates, and it tracks
statistics even more questionably.

It's been long enough and I'm now trying to use it again daily, so let's
start by:

* telling the rate control code if it's an aggregate or not;
* being clearer about the TID - yes it can be extracted from the
  ath_buf but this way it can be overridden by the caller without
  changing the TID itself.

  (This is for doing experiments with voice/video QoS at some point..)

* Return an optional field to limit how long the aggregate is in
  microseconds.  Right now the rate control code supplies a rate table
  and the ath aggr form code will look at the rate table and limit
  the aggregate size to 4ms at the slowest rate.  Yeah, this is pretty
  terrible.

* Add some more TODO comments around handling txpower, rate and
  handling filtered frames status so if I continue to have spoons for
  this I can go poke at it.

Extend ath_rate_sample to better handle 11n rates and aggregates.

My initial rate control code was .. suboptimal.  I wanted to at least get MCS
rates sent, but it didn't do anywhere near enough to handle low signal level links
or remotely keep accurate statistics.

So, 8 years later, here's what I should've done back then.

* Firstly, I wasn't at all tracking packet sizes other than the two buckets
  (250 and 1600 bytes.)  So, extend it to include 4096, 8192, 16384, 32768 and
  65536.  I may go add 2048 at some point if I find it's useful.

  This is important for a few reasons.  First, when forming A-MPDU or AMSDU
  aggregates the frame sizes are larger, and thus the TX time calculation
  is woefully, increasingly wrong.  Secondly, the behaviour of 802.11 channels
  isn't some fixed thing, both due to channel conditions and radios themselves.
  Notably, there was some observations done a few years ago on 11n chipsets
  which noticed longer aggregates showed an increase in failed A-MPDU sub-frame
  reception as you got further along in the transmit time.  It could be due to
  a variety of things - transmitter linearity, channel conditions changing,
  frequency/phase drift, etc - but the observation was to potentially form
  shorter aggregates to improve BER.

* .. and then modify the ath TX path to report the length of the aggregate sent,
  so as the statistics kept would line up with the correct bucket.

* Then on the rate control look-up side - i was also only using the first frame
  length for an A-MPDU rate control lookup which isn't good enough here.
  So, add a new method that walks the TID software queue for that node to
  find out what the likely length of data available is.  It isn't ALL of the
  data in the queue because we'll only ever send enough data to fit inside the
  block-ack window, so limit how many bytes we return to roughly what ath_tx_form_aggr()
  would do.

* .. and cache that in the first ath_buf in the aggregate so it and the eventual
  AMPDU length can be returned to the rate control code.

* THEN, modify the rate control code to look at them both when deciding which bucket
  to attribute the sent frame on.  I'm erring on the side of caution and using the
  size bucket that the lookup is based on.

Ok, so now the rate lookups and statistics are "more correct".  However, MCS rates
are not the same as 11abg rates in that they're not a monotonically incrementing
set of faster rates and you can't assume that just because a given MCS rate fails,
the next higher one wouldn't work better or be a lower average tx time.

So, I had to do a bunch of surgery to the best rate and sample rate math.
This is the bit that's a WIP.

* First, simplify the statistics updates (update_stats()) to do a single pass on
  all rates.
* Next, make sure that each rate average tx time is updated based on /its/ failure/success.
  Eg if you sent a frame with { MCS15, MCS12, MCS8 } and MCS8 succeeded, MCS15 and MCS
  12 would have their average tx time updated for /their/ part of the transmission,
  not the whole transmission.
* Next, EWMA wasn't being fully calculated based on the /failures/ in each of the
  rate attempts.  So, if MCS15, MCS12 failed above but MCS8 didn't, then ensure
  that the statistics noted that /all/ subframes failed at those rates, rather than
  the eventual set of transmitted/sent frames.   This ensures the EWMA /and/ average
  TX time are updated correctly.
* When picking a sample rate and initial rate, probe rates aroud the current MCS
  but limit it to MCS0..7 /for all spatial streams/, rather than doing crazy things
  like hitting MCS7 and then probing MCS8 - MCS8 is basically MCS0 but two spatial
  streams.  It's a /lot/ slower than MCS7.  Also, the reverse is true - if we're at
  MCS8 then don't probe MCS7 as part of it, it's not likely to succeed.
* Fix bugs in pick_best_rate() where I was /immediately/ choosing the highest MCS
  rate if there weren't any frames yet transmitted.  I was defaulting to 25% EWMA and
  .. then each comparison would accept the higher rate.  Just skip those; sampling
  will fill in the details.

So, this seems to work a lot better.  It's not perfect; I'm still seeing a lot of
instability around higher MCS rates because there are bursts of loss/retransmissions
that aren't /too/ bad.  But i'll keep iterating over this and tidying up my hacks.

Ok, so why this still something I'm poking at? rather than porting minstrel_ht?

ath_rate_sample tries to minimise airtime, not maximise throughput.  I have
extended it with an EWMA based on sub-frame success/failures - high MCS rates
that have partially successful receptions still show super short average frame
times, but a /lot/ of retransmits have to happen for that to work.
So for MCS rates I also track this EWMA and ensure that the rates I'm choosing
don't have super crappy packet failures.  I don't mind not getting lower
peak throughput versus minstrel_ht; instead I want to see if I can make "minimise
airtime" work well.

Tested:

* AR9380, STA mode
* AR9344, STA mode
* AR9580, STA/AP mode

le oops, trim out an #if 1 that I didn't fully delete.

Cool, so now I know it's about 3 weeks between starting on freebsd coding
and breaking the build again. Queue dunce cap.

Fix logic for determining whether to bump up an MCS rate.

* Fix formatting, cause reasons;
* Put back the "and the chosen rate is within 90% of the current rate" logic;
* Ensure the best rate and the current rate aren't the same; this ...
* ... fixes the packets_since_switch[] tracking to actually conut how many
  frames since the rate switched, so now I know how stable stuff is; and
* Ensure that MCS can go up to a higher MCS at this or any other spatial stream.
  My previous quick hack attempt was doing > rather than >= so you had to go
  to both a higher root MCS rate (0..7) and spatial stream. Eg, you couldn't
  go from MCS0 (1ss) to MCS8 (2ss) this way.

The best rate and switching rate logic still have a bunch more work to do
because they're still quite touchy when it comes to average tx time but at least
now it's choosing higher rates correctly when it wants to try a higher rate.

Tested:

* AR9380, STA mode

Limit the tx schedules for A-MPDU ; don't take short retries into account and remove the requirement that the MCS rate is "higher" if we're considering a new rate.

Ok, another fun one.

* In order for reliable non-software retried higher MCS rates, the TX schedules
  (inconsistently!) use hard-coded lower rates at the end of the schedule.
  Now, hard-coded is a problem because (a) it means that aggregate formation
  is limited by the SLOWEST rate, so I never formed large AMDU frames for
  3 stream rates, and (b) if the AP disables lower rates as base rates, it
  complains about "unknown rix" every frame you transmit at that rate.

  So, for now just disable the third and fourth schedule entry for AMPDUs.
  Now I'm forming 32k and 64k aggregates for the higher density MCS rates
  much more reliably.

  It would be much nicer if the rate schedule stuff wasn't fixed but instead
  I'd just populate ath_rc_series[] when I fetch the rates.  This is all a
  holdover of ye olde pre-11n stuff and I really just need to nuke it.

  But for now, ye hack.

* The check for "is this MCS rate better" based on MCS itself is just garbage.
  It meant things like going MCS0->7 would be fine, and say 0->8->16 is fine,
  (as they're equivalent encoding but 1,2,3 spatial streams), BUT it meant
  going something like MCS7->11 would fail even though it's likely that
  MCS11 would just be better, both for EWMA/BER and throughput.

  So for now just use the average tx time.  The "right" way for this comparison
  would be to compare PHY bitrates rather than MCS / rate indexes, but I'm not
  yet there.  The bit rates ARE available in the PHY index, but honestly
  I have a lot of other cleaning up to here before I think about that.

* Don't include the RTS/CTS retry count (and thus time) into the average tx time
  caluation.  It just makes temporarily failures make the rate look bad by
  QUITE A LOT, as RTS/CTS exchanges are (a) long, and (b) mostly irrelevant
  to the actual rate being tried.  If we keep hitting RTS/CTS failures then
  there's something ELSE wrong on the channel, not our selected rate.

Fix correct status when completing frames with short failures.

My preivous logic was a bit wrong.  This caused transmissions that failed due
to a mix of short and long retries to count intermediate rates as OK if the
LONG retry count indicated some retries had made it to this intermediate rate,
but the SHORT retry count was the one that caused the whole transmit to fail.

Now status is passed in again - and this is the status for the whole transmission -
and then update_stats() does some quick math to see if the current transmission
series hit its long retry count or not before updating things as a success
or failure.

Obey the maximum frame length even when using static rates.

I wasn't enforcing the maximum packet length when using static rates
so although the driver was enforcing it itself OK, the statistics were
sometimes going into the wrong bin.

Tested:

* AR9380, STA mode

reset hardware if this particular mac bug is seen.

I have to dig into why I'm seeing it on chips as late as the AR9380 era
stuff (as it's marked as an AR5416 bug, but who knows!) but i'm seeing
aggregate TX frames complete with no blockack bit set.  So, everything
should be treated as a failure and do a hardware reset for good measure.

Tested:

* AR9380, STA mode
* AR9580 (5GHz), AP mode

Hopefully recover better-er upon RX restart on AR9380.

This is all very long-standing bug stuff that is touchy and still poorly
documented. Ok, here goes.

The basic bug:

* deleting a VAP causes the RX path (and TX path too) to be restarted
  without a full chip reset, which causes RX hangs on the AR9380 and later.
  (ie, the ones with the newer DMA engine.)

The basic fix:

* do an RX flush when stopping RX in ath_vap_delete() to match what happens
  when RX is stopped elsewhere.  This ensures any pending frames are completed
  and we restart at the right spot; it also ensures we don't push new RX buffers
  into the hardware if we're stopping receive.

The other issues I found:

* Don't bother checking the RX packet ring in the deferred read taskqueue;
  that's specifically supposed to be for completing frames rather than
  just yanking them off the receive ring.

* Cancel/drain any pending deferred read taskqueue.  This isn't done inside
  any locks so we should be super careful here.  This stops the hardware
  being reprogrammed at the same time in another thread/CPU whilst we're
  stopping RX.

* .. (yes, this should be better serialised, but that's for another day. maybe.)

* Add more debugging to trace what's going on here.

And the fun bit:

* Reinitialise the RX FIFO ONLY if we've been reset or stopped, rather than just
  reset.  I noticed that after all the above was done I was STILL seeing RXEOL.
  RXEOL isn't enabled on the AR9380 so I'd only see it if I was sending TX frames
  (ie a ping where it'd be transmitted but never received) so I was not being
  spammed by RXEOL.  So, as long as stuff is stopped, restart it.

This seems to be doing the right thing in both AP and STA modes.

What I should do next, if I ever get time:

* as I said above, serialise the receive stop/start to include taskqueues
* monitor RXEOL on the AR9380 and I keep seeing it spammed / lockups, just
  go do a full chip reset to get things back on track. It sucks, but it
  is better than nothing.

Tested:

* AR9380 AP/STA mode, adding/deleting a hostap VAP to trigger the TX/RX
  queue stop/start; whilst also running an iperf through it.  Lots of times.
  Lots.  Of.. Times.

Propagate the HAL_RESET_TYPE through to the chip reset; set it during ath_reset()

Although I added the reset type field to ath_hal_reset() years ago,
I never finished adding it both throughout the HALs and in if_ath.c.

This will eventually deprecate the ath_hal force_full_reset option
because it can be requested at the driver layer.

So:

* Teach ar5416ChipReset() and ar9300_chip_reset() about the HAL type
* Use it in ar5416Reset() and ar9300_reset() when doing a full chip reset
* Extend ath_reset() to include the HAL_RESET_TYPE parameter added in the above functions
* Use HAL_RESET_NORMAL in most calls to ath_reset()
* .. but use HAL_RESET_BBPANIC for the BB panics, and HAL_RESET_FORCE_COLD during fatal, beacon miss and other hardware related hangs.

This should be a glorified no-op outside of actual hardware issues.
I've tested things with ath_hal force_full_reset set to 1 for years now,
so I know that feature and a full reset works (albeit much slower than
a warm reset!) and it does unwedge hardware.

The eventual aim is to use this for all the places where the driver
detects a potential hang as well as if long calibration - ie, noise floor
calibration - fails to complete. That's one of the big hardware related
things that causes station mode operation to hang without easy recovery.

Differential Revision:	https://reviews.freebsd.org/D24981

Update ath_rate_sample to use the same base type as ticks.

Until net80211 grows a specific ticks type that matches the system,
manually use the same type as the kernel/net80211 'ticks' type
(signed int.)

Tested:

* AR9380, STA mode

Don't re-program the beacon timers if we miss a beacon in software-beacon STA mode.

This is something I added a few years ago to handle resyncing the beacon if
we miss a beacon or need to sync after association/reassociation/powersave.

However, if we're doing STA+AP mode (eg DWDS) then we don't want
to reprogram the beacons here; this may upset normal AP operation.
I missed checking for the sc->sc_swbmiss flag so I was reinitialising
the beacon timers after every beacon miss / TSFOOR option, and
that isn't likely good.

This plus ensuring that STA's are created with "-beacon" to disable
BMISS/TSFOOR processing will hopefully quieten some of the issues
I've seen with missed beacons / TSFOOR (out of range) interrupts
coming in when operating in STA mode.

Tested:

* AR9380/AR9580, STA+AP modes

Don't update the beacon bits from beacon frames in hostapd mode.

This logic is running the beacon receive bits in STA+AP mode on both the
STA and AP side.  The STA side sees its beacons from the BSS fine; the
AP side is seeing other beacons on the same channel but with the BSS
node for some odd reason.  (I think it's a valid reason, but I currently
forget what that valid reason is.)

So, just to be cleaner about things, don't run the nexttbtt/etc bits
at all if we're in hostap mode.  If I ever get mesh working then maybe
I'll make sure it works right on mesh+ap and mesh+sta modes.

Whilst here, log the VAP i'm being called on to make it clearer what
is going on.  I may end up adding a VAP dprintf version of this at
some point.

Tested:

* AR9380, STA (DWDS client) + hostap on the same NIC

Add KeyMiss for AR5212/AR5416 series chips.

This is a flag from the MAC that says the received packet didn't match
a keycache slot.  This isn't technically a problem as WEP keys don't
match keycache slots (they're "global" keys), but it could be useful
for tracking down CCMP decryption failures.

Right now it's a no-op - it mirrors what the AR9300 HAL does and it
just increments a counter.  But, hey, maybe one day I'll use it for
diagnosing keycache/CCMP decrypt issues.

ath: clean up empty lines in .c and .h files

replace the hard-coded magic values in if_athioctl.h with constant defines

Replace some hard-coded magic values in the ioctl stats struct with
defines.  I'm going to follow up with some more sanity checking in
the receive path that also use these values so we don't do bad
things if the hardware is (more) confused.

Don't use hard-coded values in the sanity check.

Don't use hard-coded values in the phy error and receive antenna
checks.

also remove the magic size value here for the transmit antenna statistics.

Change-Id: Ifebebef068d9abe7abfa61204dc900095bd6914c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3921
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-05-19 04:38:47 +00:00
Han Pengfei cd9b0eed94 efi/dtb: Fix dtb malloc failed for kernel args
kernel_args_malloc should be used after heap_init, or it will failed
when we new some region instance.

Change-Id: I457057b1e0ff6d4def9e101485e38fec1848d8de
Signed-off-by: Han Pengfei <pengphei@qq.com>
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3912
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-05-17 08:45:37 +00:00
X512 4a6c01c33f glue: implement for riscv64
Change-Id: I0d701050e8ee008db68b54d458de07c653a370d7
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3920
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-05-17 08:41:35 +00:00
Andriy Voskoboinyk 0ba2e27fc4 wlan: apply iwn,bwi,mwl commits from FreeBSD 13
iwn(4): (partially) rewrite A-MPDU Tx path

Generic Tx stats fixes:
- do not try to parse "aggregation status" for single frames; send them
to iwn_tx_done() instead;
- try to attach mbuf / node reference pair to reported BA events;
allows to fix reported status for ieee80211_tx_complete() and ifnet counters
(previously all A-MPDU frames were counted as failed - see PR 210211);
requires few more firmware bug workarounds;
- preserve short / long retry counters for wlan_amrr(4)
(disabled for now - causes significant performance degradation).
- Add new IWN_DEBUG_AMPDU debug category.
- Add one more check into iwn_tx_data() to prevent aggregation ring
overflow.
- Workaround 'seqno % 256' != 'current Tx slot' case (until D9195 is not
in the tree).
- Improve watchdog timer updates (previously watchdog check was omitted
when at least one frame was transmitted).
- Stop Tx when memory leak in currently used ring was detected (unlikely
to happen).
- Few other minor fixes.

Was previously tested with:
 - Intel 6205, STA mode (Tx aggregation behaves much better now).
 - Intel 4965AGN, STA mode (still unstable).

PR:		192641, 210211
Reviewed by:	adrian, dhw
MFC after:	1 month
Differential Revision:	https://reviews.freebsd.org/D10728

iwn(4): drop return code from iwn_*attach functions (they cannot fail)

While here, add missing trace 'end' marker in iwn5000_attach().

MFC after:	1 week

iwn(4): drop i_seq field initialization for A-MPDU frames.

It is done by net80211 since r319460.

MFC after:	24 days
X-MFC-With:	343094

iwn(4): plug initialization path vs interrupt handler races

There are few places in interrupt handler where the driver
lock is dropped; ensure that device is still running before
processing remaining ring entries.

PR:		192641
MFC after:	5 days

iwn: Set default ampdu parameters.

These are from the linux iwlwifi driver ;the default use smaller
maximum AMPDUs (8k) and a much smaller density (none.)  The latter
could cause stability issues.

Tested:

* Tested on Intel 6300, STA mode.

Differential Revision: https://reviews.freebsd.org/D25113

bwi: clean up empty lines in .c and .h files

mwl: clean up empty lines in .c and .h files

Fix ieee80211_radiotap(9) usage in wireless drivers:

- Alignment issues:
 * Add missing __packed attributes + padding across all drivers; in
most places there was an assumption that padding will be always
minimally suitable; in few places - e.g., in urtw(4) / rtwn(4) -
padding was just missing.
 * Add __aligned(8) attribute for all Rx radiotap headers since they can
contain 64-bit TSF timestamp; it cannot appear in Tx radiotap headers, so
just drop the attribute here. Refresh ieee80211_radiotap(9) man page
accordingly.

- Since net80211 automatically updates channel frequency / flags in
ieee80211_radiotap_chan_change() drop duplicate setup for these fields
in drivers.

Tested with Netgear WG111 v3 (urtw(4)), STA mode.

MFC after:	2 weeks

Change-Id: I7f194a3b78a058aa598634039cfab27e415a4894
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3917
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-05-16 18:10:27 +00:00
Adrien Destugues ae0a10cad3 Update readme for docker images
There was some confusion about what they are and how they are used.
Hopefully this clarifies things a bit.
2021-05-16 18:04:16 +02:00
Adrien Destugues bb76d2f16c Update AboutSystem credits
- Add madmax
- Move rudolfc back to active contributors
- Add Shubham and Suhel to contributors, as former GSoC students and as
  GSoC mentors

Change-Id: I2c4c1d4795e54158b837510b5a9832881ae80c21
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3909
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-05-14 18:54:13 +00:00
Alexander G. M. Smith b5efad4eae PackageKit: Remove hard coded first boot package processing scripts.
Once change 2342 is in place (running first boot scripts exported from
packages), see https://review.haiku-os.org/c/haiku/+/2342,
remove data/system/boot/post_install/add_catalog_entry_attributes.sh
and related support infrastructure (magic files, launch_roster entries).

The work this script did can in fact be done at image creation time
instead of at first boot.

Change-Id: I485e1a0a87c3e6a6ba3f882e65996f2327134d37
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3751
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-05-14 16:08:17 +00:00
Andriy Voskoboinyk a4caca440c freebsd_wlan: apply net80211 commits from FreeBSD 13 except four commits
fb3bc59600e25268ed5750fdc351b1e9423a8fb4  Restructure mbuf send tags to provide stronger guarantees.
2b60ecf197e0e187ac028d66d279805e6bece77b  Don't use if_maddr_rlock() in 802.11, use epoch(9) directly
998bd62c311425c8cebb4506d7d4a3a9d5ff7f9e [net80211] Print out a bad PN in both hex and decimal.
8bc0d2b8553e012412d03468f84588dc34dea4c4  Fix !DEBUGNET build after r362138

tested with idualwifi7260, iprowifi4965 and atheroswifi

net80211: fix out-of-bounds read in ieee80211_amrr(9).

ieee80211_alloc_node() does not initialize rateset tables; that's not
expected by rate control modules and will result in array access at
index -1 - where ni_essid[] array is located (zeroed at allocation, so
there are no user-visible consequences).

Just delay rate control initialization to the moment, when rateset
tables are initiaziled; nothing will use rates here anyway.

MFC after:	4 days

net80211: fix duplicate sequence number bump for non-AMPDU QoS frames.

This should be a part of r312972.

MFC after:	4 days

net80211: fix panic when device is removed during initialization

if_dead() is called during device detach - check if interface is
still exists before trying to refresh vap MAC address
(IF_LLADDR will trigger page fault otherwise).

MFC after:	5 days

net80211: fix possible panic for some drivers after r342211

Check if rate control structures were allocated before trying to
access them in various places; this was possible before on
allocation failure (unlikely), but was revealed after r342211
where allocation was deferred.

In case if driver uses wlan_amrr(4) and it is loaded it
is possible to reproduce the panic via

sysctl net.wlan.<number>.rate_stats

(for wlan0 the number will be 0).

Tested with: RTL8188EE, AP mode + RTL8188CUS, STA mode.

MFC after:	3 days

net80211: provide rate validation for injected frames.

There may be various side effects (device timeout, firmware and / or
kernel panic) when an invalid (or inapplicable - e.g., an MCS rate
for 11g-only device) is set; check rates before sending the frame to
the driver.

How-to-reproduce:
Set an MCS (real or bogus - with 0x80 bit set) rate in ibp_rate0 field
for any device that uses ieee80211_isratevalid() for rate checks -
rum(4), run(4), ural(4), bwi(4) or ral(4); if kernel is compiled
with INVARIANTS the check will result in "rate %d is basic/mcs?" panic.

Tested with WUSB54GC (rum(4)), AP mode.

MFC after:	1 week

Print more WPS attributes in verbose "list scan" output

- Move WPS related defines to dedicated file
- Add handlers for more WPS attributes

PR:		217317
Submitted by:	J.R. Oldroyd <fbsd@opal.com>
MFC after:	3 weeks

net80211: resolve ioctl <-> detach race for ieee80211com structure

Since r287197 ieee80211com is a part of drivers softc; as a result,
after detach all pointers to it (iv_ic, ni_ic) are invalid. Most
possible users (tasks, interrupt handlers) are blocked / removed
when device is stopped; however, ioctl handlers were not tracked
and may crash if ieee80211com structure is accessed.

Since ieee80211com pointer access from ieee80211vap structure is not
protected by lock (constant after interface creation) and used in
many other places just use reference counting for ioctl handlers;
on detach set 'detached' flag and wait until reference counter goes to 0.

For HEAD ieee80211vap size was changed (__FreeBSD_version bumped);
however, in stable branches I'm going to split / reuse the last
iv_spare field for KBI stability.

Tested with:
 - rsu(4), SIOCSIFCAP (-rxcsum) ioctl;
 - rtwn_pci(4), SIOCG80211 / IEEE80211_IOC_HTPROTMODE ioctl.

MFC after:	1 week

net80211: fix channel list construction for non-auto operating mode.

Change the way how channel list mode <-> desired mode match is done:
- Match channel list mode for next non-auto desired modes:
 * 11b: 11g, 11ng, 11acg;
 * 11a: 11na, 11ac
- Add pre-defined channels only when one of the next conditions met:
 * the desired channel mode is 'auto' or
 * the desired channel and selected channel list modes are exactly
the same or
 * the previous rule (11g / 11n / 11ac promotion) applies.

Before r275875 construction work properly for all except
11ng / 11na / 11acg / 11ac modes - these were broken at all
(i.e., the scan list was empty); after r275875 all checks were removed,
so scan table was populated by all device-compatible channels
(desired mode was ignored).

For example, if I will set 'ifconfig wlan0 mode 11ng' for RTL8821AU:
- pre-r275875: nothing, scan will not work;
- after r275875: both 11ng and 11na bands were scanned; also, since 11b
channel list was used, 14th channel was scanned too.
- after this change: only 11ng - 1-13 channels - are used for scanning.

Tested with:
 * RTL8188EE, STA mode.
 * RTL8821AU, STA mode.

MFC after:	5 days

net80211: turn channel mode check into assertion.

There is may be only 11b channel (since chanflags[] table
maps MODE_AUTO to the corresponding 11b channel flags).

Checked with RTL8812AU, STA mode.

MFC after:	5 days

net80211: reuse TICKS_2_MSEC / MSEC_2_TICKS macros from sys/time.h

Replace in-place implementation with system-wide one; since it
guarantees non-zero result drop all less-than-one checks from
drivers and net80211.

MFC after:	2 weeks

Remove 2GHz channel list copies from wireless drivers.

Wrap ieee80211_add_channel_list_2ghz into another function
which supplies default (1-14) channel list to it and drop
its copies from drivers.

Checked with RTL8188EE, country US / JP / KR / UA.

MFC after:	2 weeks

Do not acquire IEEE80211_LOCK twice in cac_timeout(); reuse locked function instead.

It is externally visible since r257065.

MFC after:	5 days

net80211(4): do not setup roaming parameters for unsupported modes.

ifconfig(8) prints per-mode parameters if they are non-zero; since
we have 13 possible modes with 3...5 typically supported this change
should greatly reduce amount of information for 'ifconfig <wlan> list roam'
command.

While here ensure that sta_roam_check() will not use roaming parameters
for unsupported modes (it should not).

This change effectively reverts r188776.

MFC after:	2 weeks

net80211(4): fix rate check when 'roaming' ifconfig(8) option is set to 'auto'

Do not try to clear 'basic rate' bit from roamRate; it cannot be here and,
actually, this operation clears 'MCS rate' bit instead, breaking comparison
for 11n / 11ac modes.

Tested with RTL8188CUS, HOSTAP mode + RTL8821AU, STA mode.

MFC after:	3 days

net80211(4): do not setup Tx parameters for unsupported modes.

That should shorten 'ifconfig <wlan> list txparam' output since
unsupported modes will not be shown.

Checked with RTL8188EE, STA mode.

MFC after:	2 weeks

net80211(4): validate supplied roam:rate values from ifconfig(8)

MFC after:	4 days

net80211(4): hide casts for 'i_seq' field offset calculation inside ieee80211_getqos() and reuse it in various places.

Checked with RTL8188EE, HOSTAP mode + RTL8188CUS, STA mode.

MFC after:	2 weeks

Build fix for Haiku

net80211: correct check for SMPS node flags updates

Update node flags when driver supports SMPS, not when it is disabled or
in dynamic mode ((iv_htcaps & HTCAP_SMPS) != 0).

Checked with RTL8188EE (1T1R), STA mode - 'smps' word should disappear
from 'ifconfig wlan0' output.

MFC after:	2 weeks

Enhance the comment ieee80211_add_channel() to avoid a misunderstanding that the function does not work additive when repeatedly called for diffferent bands.

Reviewed by:	avos (a few months ago)
MFC after:	2 weeks

net80211: Move rate printing in amrr_node_stats() to a separate method

This makes amrr_node_stats() cleaner and allows the rate printing to be
reusable.

Submitted by:	Neel Chauhan <neel at neelc.org>
Reviewed by:	adrian
Differential Revision:	https://reviews.freebsd.org/D22318

Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (7 of many)

r357614 added CTLFLAG_NEEDGIANT to make it easier to find nodes that are
still not MPSAFE (or already are but aren’t properly marked).
Use it in preparation for a general review of all nodes.

This is non-functional change that adds annotations to SYSCTL_NODE and
SYSCTL_PROC nodes using one of the soon-to-be-required flags.

Mark all low hanging fruits as MPSAFE.

Reviewed by:	markj
Approved by:	kib (mentor, blanket)
Differential Revision:	https://reviews.freebsd.org/D23626

Haiku: added CTLFLAG_NEEDGIANT

Fix -Wvoid-pointer-to-enum-cast warnings.

This pattern is used in callbacks with void * data arguments and seems
both relatively uncommon and relatively harmless.  Silence the warning
by casting through uintptr_t.

This warning is on by default in Clang 11.

Reviewed by:	arichardson
Obtained from:	CheriBSD (partial)
MFC after:	1 week
Sponsored by:	DARPA
Differential Revision:	https://reviews.freebsd.org/D24425

Don't indirect user pointers directly in two 802.11s ioctls.

IEEE80211_MESH_RTCMD_ADD was invoking memcmp() to validate the
supplied address directly on the user pointer rather than first doing
a copyin() and validating the copied value.

IEEE80211_MESH_RTCMD_DELETE was passing the user pointer directly to
ieee80211_mesh_rt_del() rather than copying the user buffer into a
temporary kernel buffer.

Reviewed by:	brooks, kib
Obtained from:	CheriBSD
MFC after:	2 weeks
Sponsored by:	DARPA
Differential Revision:	https://reviews.freebsd.org/D24562

Use the unicast key when transmitting DWDS AP multicast frames.

I'm still not sure whether this is the full solution, but here goes.

I have a two node DWDS setup - a main AP with the ethernet bridge uplink
and a satellite AP in the back of the house. They're both AR9344+AR9580
dual band 11n APs.

The problem was that multicast frames was not going from the DWDS AP to
the DWDS STA. Unicast frames are fine, and multicast frames from the
DWDS STA to AP are fine.

Now, multicast and unicast frames from the STA -> AP are just transmitted
using the unicast key.  That's fine.  However, the AP -> STA multicast
frames by default are transmitted using the current default / multicast
key, the shared one between all STAs in a BSS.  Now, the DWDS implementation
ignores non WDS frames - it only allows about 4 address frames outside
of management / EAPOL frames! - so the STA side ignores the normal multicast
frames.

Instead, the AP side uses ieee80211_dwds_mcast() to send multicast frames
to each WDS VAP that was created as part of the "dynamic" part of DWDS.
This should be queuing them individually to each node instead of using
the normal multicast send path; and this is how they should get turned into
4-addr WDS frames.

HOWEVER, ieee80211_encap() was trying to use the default TX key to queue
them rather than the unicast key that's already setup.  Since this synthetic
node doesn't have the default TX key setup, transmission fails.  Things
would be fine in WEP and in open mode because in both cases you would
have static keys (or no keys) setup.  It just fails in WPA mode.

This resolves the issue.  AP DWDS multicast is now sent using the unicast
key just like in STA mode and I'm pretty sure the STA mode side will stil
work fine (as it's a STA VAP with a DWDS flag..)

Tested:

* TL-WDR3600/4300 APs

net80211: post RTM_IFINFO notification after toggling IFF_DRV_RUNNING

This is useful when a wireless driver is stopped or started in response
to events like an RF Kill button press.  Applications like
wpa_supplicant depend on such events to have a correct view of interface
state.

Reviewed by:	adrian, cy, melifaro
MFC after:	1 week
Differential Revision: https://reviews.freebsd.org/D24925

Fix interrupted scan logic and ticks comparison

The scan task refactoring stuff circa 2014-2016 broke the blocking task
 into a taskqueue with some async bits, but it apparently broke scans
 being interrupted by traffic.

Notably - the new "field" SCAN_PAUSE sets both SCAN_INTERRUPT and SCAN_CANCEL,
and a bunch of existing code was checking for SCAN_CANCEL only and breaking
the scan. Unfortunately it was then (a) cancelling the scan entirely and
(b) not notifying userland that scan was done.

So:
* Update the calls to scan_end() to only pass in 1 (saying the scan is complete)
  if SCAN_CANCEL is set WITHOUT SCAN_INTERRUPT. If both are set then yes,
  the scan is interrupted, but it isn't canceled - it's just paused.
* Update the "did the scan flags change whilst the driver was called" logic
  to check for canceled scans, not interrupted scans.
* The "scan done" logic now explicitly checks for either interrupted or
  completed scans. This accounts for the situation where a scan is being
  aborted via traffic but it ALSO happens to have finished (ie the last
  channel was checked.)

This doesn't ENTIRELY fix scanning as the resume function is broken
due to incorrect ticks math. Thus, the second half of this patch
changes the ieee80211_ticks_*() macros to use int instead of long,
matching the logic that the TCP code does with ticks and handles
wrapping / negative ticks values. If cast to long then the wrapping
math wouldn't work right (ie, if ticks was actually negative,
ie, after the system has been up for a while.)

This allows contbgscan() to correctly calculate if a scan should
continue based on ticks and ic->ic_lastdata .

Reviewed by:	bz
Differential Revision:	https://reviews.freebsd.org/D25031

Send a probe request after IBSS node discovery

This sends a probe request after IBSS node discovery through
beacon frames. This allows things like HT and VHT capabilities
to be "negotiated" in adhoc mode.

It is .. kinda fire and pray - this isn't retried after discovery
so it's quite possible that nodes occasionally don't come up with
HT/VHT rate upgrades. At some point it may be a fun side project
to add support for retrying these probe requests/negotiations
after IBSS node discovery.

Tested:

* tested with multiple ath(4) NICs in 11n mode.

Differential Revision:	https://reviews.freebsd.org/D24979

Add some more debugging during scanning

I'm trying to chase down more weird "I am not doing an incremental scan
when being asked" issues so these debugging statements help.
Notably, I've added more debugging around reasons why the scan is skipped -
eg because the cache is considered hot.

This should be a no-op unless you care about the debugging output!

Add field definition for A-MSDU inside A-MPDU.

Now that I have A-MSDU and A-MPDU coexisting together, we need to actually
announce if (a) it's permitted and (b) figure out if we should use it
when transmitting.

This just adds the field; it doesn't yet include it in ADDBA exchanges.

Add some TODOs around A-MSDU in A-MPDU negotiation.

net80211 currently doesn't negotiate A-MSDU in A-MPDU during ADDBA.
I've added the field in net80211 and this commit:

* Prints out the ADDBA field value during ADDBA;
* Adds some comments around where I need to follow up with some
  negotiation logic.

Right now we don't have a driver flag anywhere which controls
whether A-MSDU in A-MPDU is allowed.  I know it works (I have it
manually turned on at home on a couple test APs, heh!) but
I can't flip it on until we can negotiate it.

Tested:

* AR9380, STA/AP mode, printing out ADDBA requests

Migrate short slot time configuration into per-vap and deferred taskqueue updates.

The 11b/11g ERP and slot time update handling are two things which weren't
migrated into the per-VAP state when Sam did the initial VAP work.
That makes sense for a lot of setups where net80211 is driving radio state
and the radio only cares about the shared state.

However, as noted by a now deleted comment, the ERP and slot time updates
aren't EXACTLY correct/accurate - they only take into account the most
RECENTLY created VAP, and the state updates when one creates/destroys
VAPs isn't exactly great.

So:

* track the short slot logic per VAP;
* whenever the slot time configuration changes, just push it into a deferred
  task queue update so drivers don't have to serialise it themselves;
* if a driver registers a per-VAP slot time handler then it'll just get the
  per VAP one;
* .. if a driver registers a global one then the legacy behaviour is maintained -
  a single slot time is calculated and pushed out.

Note that the calculated slot time is better than the existing logic - if ANY
of the VAPs require long slot then it's disabled for all VAPs rather than
whatever the last configured VAP did.

Now, this isn't entirely complete - the rest of ERP tracking around short/long
slot capable station tracking needs to be converted into per-VAP, as well
as the preamble/barker flags.  Luckily those also can be done in a similar
fashion - keep per-VAP counters/flags and unify them before doing the driver
update.  I'll defer that work until later.

All the existing drivers can keep doing what they're doing with the global
slot time flags as that is maintained. One driver (iwi) used the per-VAP
flags instead of the ic flags, so now that driver will work properly.

This unblocks some ath10k porting work as the firmware takes the slot time
configuration per-VAP rather than globally, and some firmware handles
STA+AP and STA+STA (on same/different channels) configurations where
the firmware will switch slot time as appropriate.

Tested:

* AR9380, STA/AP mode
* AR9880 (ath10k), STA mode

Add initial A-MSDU in A-MPDU negotation support.

This is hopefully a big no-op unless you're running some extra
patches to flip on A-MSDU options in a driver.

802.11n supports sending A-MSDU in A-MPDU. That lets you do things
like pack small frames into an A-MSDU and stuff /those/ into an A-MPDU.
It allows for much more efficient airtime because you're not
wasting time sending small frames - which is still a problem when
doing A-MPDU as there's still per-frame overhead and minimum A-MPDU
density requirements.

It, however, is optional for 802.11n.  A lot of stuff doesn't advertise
it (but does it, just wait!); and I know that ath10k does it and my
ath(4) driver work supports it.

Now, 802.11ac makes A-MSDU in A-MPDU something that can happen more
frequently, because even though you can send very large A-MPDUs
(like 1 megabyte and larger) you still have the small frame problem.
So, 802.11ac NICs like ath10k and iwm will support A-MSDU in A-MPDU
out of the box if it's enabled - and you can negotiate it.

So, let's lay down the ground work to enable A-MSDU in A-MPDU.
This will allow hardware like iwn(4) and ath(4) which supports
software A-MSDU but hardware A-MPDU to be more efficient.

Drivers that support A-MSDU in A-MPDU will set TX/RX htcap flags.
Note this is separate from the software A-MSDU encap path; /that/
dictates whether net80211 is doing A-MSDU encapsulation or not.
These HTC flags control negotiation, NOT encapsulation.

Once this negotiation and driver bits are done, hardware like
rtwn(4), run(4), and others will be able to use A-MSDU even without
A-MPDU working;  right now FF and A-MSDU aren't even attempted
if you're an 11n node.  It's a small hold-over from the initial
A-MPDU work and I know how to fix it, but to flip it on properly
I need to be able to negotiate or ignore A-MSDU in A-MPDU.

Oh and the fun part - some 11ac APs I've tested will quite happily
decap A-MSDU in A-MPDU even though they don't negotiate it when
doing 802.11n.  So hey, I know it works - I just want to properly
handle things. :-)

Tested:

* AR9380, STA/AP mode

print out node A-MSDU state.

Now that the node AMSDU TX/RX flags are correctly set in ieee80211_ht.c,
we can print out the AMSDU state here.

Don't call ic_updateslot if it's not set.

Turns out this isn't a required call. I didn't pick it up because my
uncommitted changes involve new updateslot methods for cards I'm working
on.

Dunce hat to: adrian

Fix typo.

Oops!

Fix this typo!

I've just started using this macro in upcoming amsdu/ampdu/ff rework and
yes, too many parens.  Oops!

Flip on A-MPDU, A-MSDU, A-MPDU+A-MSDU and Fast frames options.

This updates the logic to allow:

* A-MPDU if available;
* A-MSDU if available and A-MPDU is off/NACKed;
* A-MPDU+A-MSDU if it's available and negotiated;
* Fast frames if the node is 11abg (and not HT/VHT.)

This allows for things to fail back to A-MSDU or fast frames
if A-MPDU isn't available rather than needing to be non-HT/non-VHT.
It also allows A-MPDU+A-MSDU to work if it's negotiated.

Tested:

* AR9380, STA + AP mode (A-MPDU, A-MSDU, FF, A-MPDU+A-MSDU)
* RT5350, STA mode (A-MSDU, FF)
* AR9170, STA mode (A-MSDU, FF)

Add a method to return the vap's ifname.

This removes the requirement to know what's in the ifp.

(If someone wants a quick clean-up task, it'd be nice to convert instances
of ifp dereferencing for if_xname over to this method.)

ok ok if_xname won't ever be NULL.

Somewhere in net80211 if_xname is checked against NULL but it doesn't trigger
a compiler warning, but this does.  So DTRT for FreeBSD and the other if_xname
derefences can be converted to this function at a later time.

First part of A-MSDU offload handling - don't bump A-MPDU reordering seqno

When doing A-MSDU offload handling the driver is required to mark
A-MSDUs from the same MPDU with the same sequence number.
It then tags them as AMSDU (if it's a decap'ed A-MSDU) and AMSDU_MORE
(saying there's more AMSDUs decapped in the same MSDU.)
This allows encryption and sequence number offload to work right.

In the A-MSDU path the sequence number check looks at the A-MSDU flags
in the frame to see whether it's part of the same seqno and will pass them
(ie, not increment rx_seq until the last A-MSDU is seen from the driver,
or a new seqno shows up.0

However, I did this work in the A-MSDU path but not the A-MSDU in A-MPDU path.
For the non A-MDSU offload case the A-MPDU receive reordering will do its
thing and then pass up the MPDU up for decap - which then will see it's
an A-MSDU and decap each sub-frame.  But this isn't done for offloaded
A-MSDU frames.

This requires two parts:

* Don't bump the RX sequence number, same as above; and
* If frames go into the reordering buffer, they need to be added into the slot
  as a set of frames rather than a single frame, so once a new seqno shows up
  this slot can be marked as "full" and we can move on.

This patch does the first.  The latter requires that I find and commit
work to change rxa_m from an mbuf to an mbufq and the nhandle A-MSDU
there.  But, the first is enough to allow the normal case (ie, no or not
a lot of A-MPDU RX reordering) to work.

This allows the athp driver (QCA9880) throughput to go from VERY low
(like 5mbit TCP, 1/3-1/4 expected UDP throughput) to ~ 250mbit TCP
and > 300mbit UDP on a VHT/40 channel.  TCP sucks because, well, it
shows up as MASSIVE packet loss when all but one frame in a decap'ed
A-MSDU stream is dropped. Le whoops.

Now, where'd I put that laptop with the patch for rxa_m mbufq that
I wrote like in 2017...

Tested:

* AR9380, STA/AP mode (a big no-op, no A-MSDU hardware decap);
* if_run (RT3593), STA DWDS mode (A-MPDU / A-MSDU receive, but again
  no A-MSDU hardware decap);
* QCA9880, STA/AP mode (which is doing hardware A-MPDU/A-MSDU decap,
  but no A-MPDU reordering in the firmware.)

net80211: Add framework for debugnet(4) support

Allow net80211 drivers to register a small vtable of debugnet-related
methods.

This is not a functional change.  Driver support is needed, similar to
debugnet(4) for wired NICs.

Reviewed by:	adrian, markj (earlier version both)
Differential Revision:	https://reviews.freebsd.org/D17308

separate out node allocation and node initialisation.

This is a new, optional (for now!) method that drivers can use to separate
node allocation and node initialisation.  Right now they're the same, and
drivers that need to do node allocation via firmware commands need to sleep
and thus they need to defer node allocation into an internal taskqueue.

Right now they're just separate but not deferred.  Later on if I get the time
we'll start deferring the node and key related operations but that requires
making a bunch of other stuff (notably things that generate frames!) also
async/deferred.

Tested:

* RT3593, STA/DWDS mode
* AR9380, STA/AP modes
* QCA9880 (athp) - STA/AP modes

Handle offloaded AMSDU in AMPDU reordering.

In the 11n world, most NICs did A-MPDU receive/transmit offloading but
not A-MSDU offloading.  So, the net80211 A-MPDU receive path would just
receive MPDUs, do the reordering bit, pass it up to the rest of
net80211 for crypto decap and then do A-MSDU decap before throwing ethernet
frames up to the rest of the system.

However 11ac and 11ax NICs are increasingly doing A-MSDU offload (and
newer 11ax stuff does socket offload, but hey I don't want to scare people
JUST yet) - so although A-MPDU reordering may be done in the OS, A-MSDUs
look like a normal MPDU.  This means that all the MSDUs are actually
faked into a set of MPDUs with matching 802.11 header - the sequence number,
QoS header and any encryption verification bits (like IV) are just copied.

This shows up as MASSIVE packet loss in net80211, cause after the first MPDU
we just toss the rest.

(And don't get me started about ethernet decap with A-MPDU host reordering;
we'll have to cross that bridge for later 11ac and 11ax bits too.)

Anyway, this work changes each A-MPDU reorder slot into an mbufq.
The mbufq is treated as a whole set of frames to pass up to the stack
and reordered/de-duped as a group.  The last frame in the reorder list
is checked to see if it's an A-MSDU final frame so any duplicates are
correctly tossed rather than double-received.  Other than that, the
rest of the logic is unchanged.

The previous commit did a small subset of this - if there wasn't any reordering
going on then it'd accept the A-MSDUs.  This is the rest of the needed work.

This is a no-op for 11n NICs doing A-MPDU reordering but needing software
A-MSDU decap - they aren't tagged as A-MSDU and so any subsequent
frames added to the reorder slot are tossed.

Tested:

* QCA9880 (ath10k/athp) - STA/AP mode;
* RT3593 (if_rsu) - 11n STA+DWDS mode (I'm committing through it rn);
* QCA9380 (if_ath) - STA/AP mode.

Also convert the ddb path

Whoops - this belonged in my previous commit.

add a concat method.

Reviewed by:	gnn, ae, glebius
Approved by:	ae, glebius
Differential Revision:	https://reviews.freebsd.org/D10158

Treat frames without an rx status as not a decap'ed A-MSDU.

Drivers for NICs which do A-MSDU decap in hardware / driver will need to
set the rx status, so if it's missing then treat it as not a decap'ed
A-MSDU.

Add initial U-APSD negotiation support.

U-APSD (unscheduled automatic power save delivery) is a power save method
that's a bit better than legacy PS-POLL - stations can mark frames with
an extra flag that tells the AP to leak out more frames after it sends
its own frames rather than needing to send a PS-POLL to get another frame
from the AP.

Now, this code just handles the negotiation bits; it doesn't actually
implement U-APSD.  That's up to drivers, and nothing in the tree yet
implements this.  I /may/ implement this for ath(4) if I eventually care
enough but right now I plan on just implementing it for firmware offload
based NICs that handle this in the NIC.

I'll commit the ifconfig bit after this and I may have some follow-up
commits as this gets used more by me in local testing.

This should be a glorious no-op for everyone else.  If things change
for anyone that isn't fixed by a complete recompile then please reach out
to me.

Add missing commit to previous-1 uapsd commit.

Whoops; somehow my big commit line didn't include this..  cue the tree breakage emails.

Migrate HT/legacy protection mode and preamble calculation to per-VAP flags

The later firmware devices (including iwn!) support multiple configuration
contexts for a lot of things, leaving it up to the firmware to decide
which channel and vap is active.  This allows for things like off-channel
p2p sta/ap operation and other weird things.

However, net80211 is still focused on a "net80211 drives all" when it comes to driving
the NIC, and as part of this history a lot of these options are global and not per-VAP.
This is fine when net80211 drives things and all VAPs share a single channel - these
parameters importantly really reflect the state of the channel! - but it will increasingly
be not fine when we start supporting more weird configurations and more recent NICs.
Yeah, recent like iwn/iwm.

Anyway - so, migrate all of the HT protection, legacy protection and preamble
stuff to be per-VAP.  The global flags are still there; they're now calculated
in a deferred taskqueue that mirrors the old behaviour.  Firmware based drivers
which have per-VAP configuration of these parameters can now just listen to the
per-VAP options.

What do I mean by per-channel? Well, the above configuration parameters really
are about interoperation with other devices on the same channel. Eg, HT protection
mode will flip to legacy/mixed if it hears ANY BSS that supports non-HT stations or
indicates it has non-HT stations associated.  So, these flags really should be
per-channel rather than per-VAP, and then for things like "do i need short preamble
or long preamble?" turn into a "do I need it for this current operating channel".
Then any VAP using it can query the channel that it's on, reflecting the real
required state.

This patch does none of the above paragraph just yet.

I'm also cheating a bit - I'm currently not using separate taskqueues for
the beacon updates and the per-VAP configuration updates.  I can always further
split it later if I need to but I didn't think it was SUPER important here.

So:

* Create vap taskqueue entries for ERP/protection, HT protection and short/long
  preamble;
* Migrate the HT station count, short/long slot station count, etc - into per-VAP
  variables rather than global;
* Fix a bug with my WME work from a while ago which made it per-VAP - do the WME
  beacon update /after/ the WME update taskqueue runs, not before;
* Any time the HT protmode configuration changes or the ERP protection mode
  config changes - schedule the task, which will call the driver without the
  net80211 lock held and all correctly serialised;
* Use the global flags for beacon IEs and VAP flags for probe responses and
  other IE situations.

The primary consumer of this is ath10k.  iwn could use it when sending RXON,
but we don't support IBSS or AP modes on it yet, and I'm not yet sure whether
it's required in STA mode (ie whether the firmware parses beacons to change
protection mode or whether we need to.)

Tested:

* AR9280, STA/AP
* AR9380, DWDS STA+STA/AP
* ath10k work, STA/AP
* Intel 6235, STA
* Various rtwn / run NICs, DWDS STA and STA configurations

Commit files missing in the previous commit

These belong to my previous commit, but apparently I typed ieee80211_vhf.[ch]
and forgot ht.h.  Le oops.

80211: consistently spell 80P80

The standard uses 80+80 and 80p80 but nowhere 80_80.
Switch the latter to 80P80 for all the macros and comments refering
to #defined flags which I could find.
The only place we leave as 80p80 is the ifconfig command line arguments
as we spell them all in lower case.
Ideally we would use 80+80 for any interactions with the user and
80P80 for anything internal but let us not confuse parsers and
hence avoid the '+' in either case.

Reviewed by:	adrian, gnn
MFC after:	2 weeks
Sponsored by:	Rubicon Communications, LLC (d/b/a "Netgate")
Differential Revision:	https://reviews.freebsd.org/D26001

80211: consistently order 160 and 80+80

For flags and checks the order goes VHT160 and then VHT80P80 unless
checks are in reverse order ("more comes first") in which case we
deal with VHT80P80 first.
The one reverse order to pick out is where we check channel
prefernences.  While it may seem that VHT160 is better, finding
two "free" channels (VHT 80+80) is more likely so we do prefer that.

While dealing with VHT160 and VHT80P80 add extra clauses previously
missing or marked TODO in a few places.

Reviewed by:	adrian, gnn
MFC after:	2 weeks
Sponsored by:	Rubicon Communications, LLC (d/b/a "Netgate")
Differential Revision:	https://reviews.freebsd.org/D26002

net80211: remove vertical whitespace

No functional changes.

MFC after:	2 weeks
Sponsored by:	Rubicon Communications, LLC (d/b/a "Netgate")

net80211/ifconfig: print hardware device name for wlan interfaces

Add IEEE80211_IOC_IC_NAME to query the ic_name field and in ifconfig
to print the parent interface again. This functionality was lost
around r287197. It helps in case of multiple wlan interfaces and
multiple underlying hardware devices to keep track which wlan
interface belongs to which physical device.

Sponsored by:	Rubicon Communications, LLC (d/b/a "Netgate")
Reviewed by:	adrian, Idwer Vollering
MFC after:	2 weeks
Differential Revision:	https://reviews.freebsd.org/D25832

net80211 / ifconfig: cleanup the use of IEEE80211_FVHT_USEVHT*

Rather then using magic numbers duplicate IEEE80211_FVHT_VHT* in
ifconfig (cleanup of these and other flags used and not exposed by
net80211 should happen later) and use those.
In the kernel this simplifies one ioctl path (the other one currently
relies on individual bit flags being passed in).
We also re-order the 80P80 and 160 flag for 160 to come before 80+80
and more clearly leave the flags as TODO in one of the 160/80+80 cases.

Reviewed by:	adrian
MFC after:	2 weeks
Sponsored by:	Rubicon Communications, LLC (d/b/a "Netgate")
Differential Revision:	https://reviews.freebsd.org/D26000

net80211: return 80P80 before 160

In ieee80211_vht_get_chwidth_ie() we need to return 80P80 (3) before
VHT160 (2) as otherwise we'll never use 80P80.  Fix the order.

MFC after:	2 weeks
X-MFC with:	r364303 (which missed this)
Sponsored by:	Rubicon Communications, LLC (d/b/a "Netgate")

net80211: VHT correct NSS Set loop boundary

For the <VHT-MCS, NSS> tuple, NSS is 1..8 (or in our loop case 0..7
but not 0..6). Correct the boundry to check for < 8 and not < 7.

MFC after:	2 weeks
Reviewed by:	adrian
Sponsored by:	Rubicon Communications, LLC (d/b/a "Netgate")
Differential Revision:	https://reviews.freebsd.org/D26087

net80211: replace magic number by define

Rather than coding an array size of [4] replace the number with
WME_NUM_AC.

MFC after:	2 weeks
Reviewed by:	adrian
Sponsored by:	Rubicon Communications, LLC (d/b/a "Netgate")
Differential Revision:	https://reviews.freebsd.org/D26090

net80211: set_vht_extchan() reverse order to always return best

In set_vht_extchan() the checks are performed in the order of VHT20/40/80.
That means if a channel has a lower and higheer VHT flag set we would
return the lower first.
We normally do not set more than one VHT flag so this change is supposed
to be a NOP but follows the logical thinking order of returning the best
first. Also we nowhere assert a single VHT flag so make sure we'll not
be stuck with VHT20 when we could do more.

While here add the debugging printfs for VHT160 and VHT80P80 which still
need doing once we deal with a driver at that level.

Reviewed by:	adrian, gnn
MFC after:	2 weeks
Sponsored by:	Rubicon Communications, LLC (d/b/a "Netgate")
Differential Revision:	https://reviews.freebsd.org/D26088

net80211: improve media information for VHT5GHZ

Improve ieee80211_media_setup(), media2mode(), and
ieee80211_rate2media() for VHT5GHZ at least.

Reviewed by:	adrian, gnn
MFC after:	2 weeks
Sponsored by:	Rubicon Communications, LLC (d/b/a "Netgate")
Differential Revision:	https://reviews.freebsd.org/D26089

net80211: enhance getflags*() and ieee80211_add_channel*()

For ieee80211_add_channel+*() we are passing in an int flag for
ht40 and in some cases another int flag for vht80 where we'd only
need two bits really.
Convert these variables to a bitflag and fold them together into one.
This also allows for VHT160 and VHT80P80 and whatever may come to
be considered. Define the various options currently needed.

Change the drivers (rtwn and rsu) which actually set this bit to non-0.
For convenience the "1" currently used for HT40 is preserved.

Enahnce getflags_5ghz() to handle the full set of VHT flags based
on the input flags from the the driver.

Update the regdomain implementation as well to make use of the new
flags and deal with higher [V]HT bandwidths.

ieee80211_add_channel() specifically did not take flags so it will
not support naything beyond 20Mhz channels.

Note: I am not entirely happy with the "cbw_flag[s]" name, but we
do use chan_flags elsewhere already.

MFC after:	2 weeks
Reviewed by:	adrian, gnn
Sponsored by:	Rubicon Communications, LLC (d/b/a "Netgate")
Differential revision:	https://reviews.freebsd.org/D26091

net: clean up empty lines in .c and .h files

Provide MS() and SM() macros for 80211 and wireless drivers.

We have (two versions) of MS() and SM() macros which we use throughout
the wireless code.  Change all but three places (ath_hal, rtwn, and rsu)
to the newly provided _IEEE80211_MASKSHIFT() and _IEEE80211_SHIFTMASK()
macros.  Also change one internal case using both _S and _M instead of
just _S away from _M (one of the reasons rtwn and rsu were not changed).

This was done semi-mechanically.  No functional changes intended.

Requested by:	gnn (D26091)
Reviewed by:	adrian (pre line wrap)
MFC after:	2 weeks
Sponsored by:	Rubicon Communications, LLC (d/b/a "Netgate")
Differential Revision:	https://reviews.freebsd.org/D26539

80211: non-functional changes

Sort a few VHT160 and 80+80 lines, update some comments, and remove
a superfluous ','.

No functional changes intended.

MFC after:	1 week
Sponsored by:	The FreeBSD Foundation

net80211: whitespace

Fix indentation for the multi-line copies of
ieee80211_add_channel_list_5ghz() for the 3 bands.

MFC after:	1 week
Sponsored by:	The FreeBSD Foundation

net80211: update for (more) VHT160 support

Implement two macros IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_IS_160MHZ()
and its 80+80 counter part to check in vhtcaps for appropriate
levels of support and use the macros throughout the code.

Add vht160_chan_ranges/is_vht160_valid_freq and handle analogue
to vht80 in various parts of the code.

Add ieee80211_add_channel_cbw() which also takes the CBW flag
fields and make the former ieee80211_add_channel() a wrapper to it.
With the CBW flags we can add HT/VHT channels passing them to
getflags() for the 2/5ghz functions.

In ifconfig(8) add the regdomain_addchans() support for VHT160
and VHT80P80.

With this (+ regdoain.xml updates) VHT160 channels can be
configured, listed, and pass regdomain where appropriate.

Tested with:	iwlwifi
Reviewed by:	adrian
MFC after:	10 days
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D26712

net80211: fix a typo

Correct a typo referring to the wrong flags in a comment.
No functional changes.

MFC after:	3 days
Sponsored by:	Rubicon Communications, LLC (d/b/a "Netgate")

Add new privileges; restrict what can be done in a jail.

Split the MANAGE privilege into MANAGE, SETMAC and CREATE_VAP.

+ VAP_MANAGE is everything but setting the MAC and creating a VAP.
+ VAP_SETMAC is setting the MAC address of the VAP.
  Typically you wouldn't want the jail to be able to modify this.
+ CREATE_VAP is to create a new VAP. Again, you don't want to be doing
  this in a jail, but this DOES stop being able to run some corner
  cases like Dynamic WDS (DWDS) AP in a jail/vnet. We can figure this
  bit out later.

This allows me to run wpa_supplicant in a jail after transferring
a STA VAP into it. I unfortunately can't currently set the wlan
debugging inside the jail; that would be super useful!

Reviewed by:	bz
Differential Revision:	https://reviews.freebsd.org/D25630

net80211: factor out the priv(9) checks into OS specifc code.

Factor out the priv(9) checks into OS specifc code so other OSes can equally
implement them.  This sorts out those XXX in the net80211 code.
We provide 3 arguments (cmd, vap, ifp) where available to the functions, in
order to allow other OSes to use that data but also in case we'd add auditing
to these check to have the information available. For now the arguments are
marked __unused.

PR:		249403
Reported by:	martin(NetBSD)
Reviewed by:	adrian, martin(NetBSD)
MFC after:	10 days
Sponsored by:	Rubicon Communications, LLC (d/b/a "Netgate")
Differential Revision:	https://reviews.freebsd.org/D26541

sockio.h: add missing ioctl SIOCSIFLLADDR

Change-Id: I68703723ac919b901adb99ca1f7d0319fd0271f5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3910
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-05-14 15:37:05 +00:00
Adrien Destugues 3b3bcbf7aa Update build packages repository
- Switch to Python3
- Switch to mawk instead of gawk
- Update ffmpeg (there are several new dependencies)
- Update ICU
- Fix various pre-existing problems with packages not being properly
  declared for gcc2 (but somehow it ended up working)
- remove curl, subversion, mercurial

Confirmed that both nightly and release images are building fine on both
32 and 64bit. However, non-x86 architecture may require re-bootstrapping
to do a complete nightly or release image build (the minimal profile
should be fine)

Fixes #16751.

Change-Id: Iacac92923c4113b3e0a49a64b0b4cc1b8e2f5e2e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3871
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-05-14 14:59:19 +00:00
Adrien Destugues f203aee66c Style fixes.
Pointed out by Axel on Gerrit, I was too fast to merge the commit.
2021-05-14 14:07:02 +02:00
Jérôme Duval f1ec69628a tcp: several fixes for SACK handling:
* kMaxOptionSize: TCP header size is 60 bytes. process_options() would have
 accepted a longer header as permitted. add_options() would have possibly added
 more options or SACK entries as permitted.
* tcp_segment: reserve memory for sack entries.
* _SendQueued(): "fLastAcknowledgeSent <= fReceiveNext": also send SACK entries
 for received data when acknowledging a missing segment.
* _SendQueue(): after acknowledging, cancel the delayed acknowledgment timer.
* _Receive(): if calling Acknowledged() already triggered sending a segment
 including an acknowledgement (piggy-back), remove "immediate acknowledge"
 from the action. This helps to reduce empty ACKs for bidirectional streams.

Change-Id: I32808fbe549be0f5b25bcf4be17cd91a640b8ec4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3906
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-05-13 08:01:27 +00:00
Jérôme Duval a939e873ba tcp: fix trace build for BufferQueue
Change-Id: Iab502bdff3da23dff74972e6c480e0784ab3f4dd
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3905
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2021-05-13 08:01:27 +00:00
A-star-ayush 745830a01b tcp: rfc 2018: implemented SACK option
Change-Id: I269ad2682446c4d37bae21dcf9f3036de964ff2c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/53
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-05-13 08:01:27 +00:00
Andriy Gapon a6e1e7e941 idualwifi7260: apply iwm commits from FreeBSD 13 except (the EPOCH one)
tested on Wireless 8265 / 8275 [8086:24fd]

iwm: improve rfkill handling

Previously the driver handled the bit within itself, but did not expose
the state change to net80211 and interface layers.
This change uses net80211 KPI for rfkill signaling.
The code is modeled after similar code in iwn and wpi.

Reviewed by:	adrian
MFC after:	2 weeks
Differential Revision: https://reviews.freebsd.org/D24923

WiFi: fix ieee80211_media_change() callers

In r178354 with the introduction of multi-bss ("vap") support factoring
out started and with r193340 ieee80211_media_change() no longer returned
ENETRESET but only 0 or error.
As ieee80211(9) tells the ieee80211_media_change() function should not
be called directly but is registered with ieee80211_vap_attach() instead.

Some drivers have not been fully converted.  After fixing the return
checking some of these functions were simply wrappers between
ieee80211_vap_attach() and ieee80211_media_change(), so remove the extra
function, where possible as well.

PR:		248955
Submitted by:	Tong Zhang (ztong0001 gmail.com) (original)
MFC after:	3 days
Sponsored by:	The FreeBSD Foundation

iwm: fix regression from r365419 (ieee80211_media_change())

In r365419 ieee80211_media_change() callers were updated to not longer
act on the obselete ENETRESET return code.
While in the old days iwm has done a stop/init cycle in these cases,
this was not executed since r193340.
As a consequence simplify iwm code as well by passing ieee80211_media_change()
right to ieee80211_vap_attach() as there is no more need for a local
implementation.

Reported by:	Tomoaki AOKI (junchoon dec.sakura.ne.jp)
Tested by:	Tomoaki AOKI (junchoon dec.sakura.ne.jp)
MFC after:	3 days
X-MFC:		fix is already in stable/12
PR:		248955

iwm(4): Add support for Intel Killer(R) Wireless-AC 1550i

PR:		252578
Submitted by:	shu <ankohuu@outlook.com>
MFC after:	1 week
Change-Id: Ibf9ec28986769bc7532e4c06ea2acafce7a8d86b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3907
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2021-05-12 17:40:47 +00:00
Augustin Cavalier dfc8e52638 packagefs and IOCache: don't reread pages when we have them all.
Change-Id: I56a7769e7a2fa9693db7507ffadb01a56cbf42b2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1342
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-05-12 16:52:57 +00:00
Murai Takashi 1d1b0d4594 bin/network/telnetd: Fix multiple definitions
Fix multiple definitions of 'terminaltype' and 'line' when linking.
Pointed out by gcc11.

Change-Id: I85552e2d243bd5db5f80806d92e6fa87bc41eb44
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3903
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-05-12 12:50:45 +00:00
Murai Takashi a65f6a2308 Accelerants: Fix multiple definitions
Since nv_globals.h and globals.h are included from several files,
it cause multiple definitions error when linking.
Pointed out by gcc11.

Change-Id: I10e27af062c6f4b49fdb9ef6bb3ba77809ebcba0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3904
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-05-12 09:21:58 +00:00
Murai Takashi d272f61263 cpu.h: Fix size of array element is not a multiple of its alignment
Pointed out by gcc11.
Reference: https://bugzilla.redhat.com/show_bug.cgi?id=1937076

Change-Id: Ia76204f759710651340bc09fa6bc163d776b2ab4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3902
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2021-05-11 15:56:06 +00:00
John Scipione aae4fc7974 StyledEdit: SetInsets() instead of insetting initial text rect
Initial rect size doesn't persist to changing text rect sizes and
alignment changes but insets do. Maintains a 3px border around text
on all sides.

Change-Id: I70e855c3b6b17bc576fd5e38cd43fedb6c830aef
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3901
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-05-09 10:35:24 +00:00
6731 changed files with 145195 additions and 293519 deletions

18
.gitignore vendored
View File

@ -1,17 +1,21 @@
# Files generated by our buildsystem or reserved for local changes by the user
generated*
build/jam/UserBuildConfig
build/user_config_headers
# ignore KDE backup files ending with a ~
# KDE backup files ending with a ~ (created by KDE and Qt text editors)
*~
# Vim swp files
.*.swp
# Vim temporary/lock files
.*.sw?
# Configuration directories for Visual Studio Code
.vscode
# Configuration directories for IntelliJ IDEA code editors
.idea
conf.sh
# compiled/optimized Python
# compiled/optimized Python (created by Python optimizer when running scripts)
*.pyc
*.pyo
# Mac OS X directory attributes
# Mac OS X directory attributes (created by Mac OS X when opening files or
# directories)
.DS_Store

View File

@ -1,4 +1,4 @@
FROM debian
FROM debian:bullseye-slim
ENV DEBIAN_FRONTEND="noninteractive"
@ -7,8 +7,8 @@ RUN apt-get update
# Base Haiku requirements
RUN apt-get install -y git nasm autoconf automake autopoint texinfo \
flex bison gawk build-essential unzip wget zip less zlib1g-dev \
libcurl4-openssl-dev genisoimage libtool mtools gcc-multilib \
u-boot-tools util-linux device-tree-compiler bc
libzstd-dev libcurl4-openssl-dev genisoimage libtool \
mtools gcc-multilib u-boot-tools util-linux device-tree-compiler bc
# GCC requirements
RUN apt-get install -y python3

View File

@ -1,8 +1,22 @@
# Haiku bootstrap in a container
In Haiku, "bootstrap" is the process of building an Haiku disk image without
any pre-compiled dependencies. Everything is built from sources instead. This
is useful in the following cases:
- Bringing up a new CPU architecture or ABI, for which no packages are yet
available,
- You do not trust our precompiled binaries used for a normal build.
The resulting image is a very minimal one, containing just enough parts of
Haiku to be able to run haikuporter inside it and generate package files that
can then be used for a normal build of Haiku.
The Haiku bootstrap process is highly dependant on what tools are installed
on the host machine. Bootstraped haikuporter builds can pick up on things
like the locally installed clang vs the gcc toolchain we are providing.
on the host machine. Bootstraped haikuporter builds can pick up on things
like the locally installed clang vs the gcc toolchain we are providing,
the shell being used (bash works, mksh is known to cause problems), or even
the way the host distribution compiled Python. This makes the process
unreliable when running it outside of a well-knwon environment.
By running bootstrap within a container, we can better isolate the process
from the end users host and create more-reproduceable bootstrap builds.

View File

@ -21,7 +21,7 @@ mkdir -p $GENERATED
echo "Beginning a bootstrap build for $TARGET_ARCH at $GENERATED..."
cd $GENERATED
$WORKPATH/src/haiku/configure -j4 --build-cross-tools $TARGET_ARCH $WORKPATH/src/buildtools \
$WORKPATH/src/haiku/configure -j4 --build-cross-tools $TARGET_ARCH --cross-tools-source $WORKPATH/src/buildtools \
--bootstrap $WORKPATH/src/haikuporter/haikuporter $WORKPATH/src/haikuports.cross $WORKPATH/src/haikuports
echo "If everything was successful, your next step is 'TARGET_ARCH=$TARGET_ARCH make bootstrap'"

View File

@ -1,4 +1,4 @@
FROM ubuntu:17.04
FROM debian:buster-slim
# docker build --no-cache --tag docker.io/haiku/cross-compiler:x86_64 .
# docker push docker.io/haiku/cross-compiler:x86_64

View File

@ -0,0 +1,16 @@
# A docker image suitable for cross-compiling Haiku applications
This docker image provides an environment suitable to build Haiku applications
inside a Linux compiler. It can be used by projects willing to integrate an
Haiku build inside their CI system, for example.
The docker build of this image prepares the environment by:
- Building our toolchain
- Building the haiku hpkg files and downloading dependencies
- Extracting headers and libraries from the hpkg files to generate a sysroot
directory
- Setting up environment variables for the toolchain to be usable
You can then use the $ARCH-unknown-haiku compiler (for example
arm-unknown-haiku-gcc) to build your application. All the required files are
installed in /tools/cross-tools-$ARCH.

38
3rdparty/kallisti5/unmatched-uboot.sh vendored Executable file
View File

@ -0,0 +1,38 @@
#!/bin/bash
#
# Creates a "firmware SD Card" with u-boot for the SiFive Unmatched board
# based on https://u-boot.readthedocs.io/en/latest/board/sifive/unmatched.html
#
if [[ $# -ne 1 ]]; then
echo "Usage: $0 /dev/sdX"
echo "WARNING: Everything on target block device will be erased!"
exit 1
fi
if [[ $(whoami) != "root" ]]; then
echo "Run me as root! sudo $0"
exit 1
fi
DEVICE=$1
URI_BASE="https://raw.githubusercontent.com/haiku/firmware/master/u-boot/riscv64/unmatched"
echo "Unmounting SD Card at $DEVICE..."
umount -q $DEVICE*
echo "Setting up SD Card at $DEVICE..."
sgdisk -g --clear -a 1 \
--new=1:34:2081 --change-name=1:spl --typecode=1:5B193300-FC78-40CD-8002-E86C45580B47 \
--new=2:2082:10273 --change-name=2:uboot --typecode=2:2E54B353-1271-4842-806F-E436D6AF6985 \
$DEVICE
echo "Writing u-boot to $DEVICE..."
curl -s $URI_BASE/u-boot-spl.bin --output - | dd of=$DEVICE seek=34
curl -s $URI_BASE/u-boot.itb --output - | dd of=$DEVICE seek=2082
echo "Complete! Here are the next steps:"
echo " 1) Plug the SD Card into the Unmatched board"
echo " 2) Write haiku-mmc.image to a USB drive"
echo " 3) Plug the USB drive into the Unmatched"
echo "Enjoy Haiku!"

56
3rdparty/os_probe/83haiku vendored Executable file
View File

@ -0,0 +1,56 @@
#!/bin/sh
# Detects bootable Haiku OS on BeFS partitions and FUSE mounted BeFS too.
# If it doesn't find anything, try mounting the BeFS volumes in Linux.
# Discussion of improvements and development history at
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=732696
# Adapted from version 42 (dated 20150811) updated by Jeroen Oortwijn at
# https://bazaar.launchpad.net/~idefix/ubuntu/trusty/os-prober/HaikuPM/files/head:/os-probes/mounted/x86
# Latest version now at https://git.haiku-os.org/haiku/tree/3rdparty/os_probe
. /usr/share/os-prober/common.sh
partition="$1"
mpoint="$2"
type="$3"
# Weed out stuff that doesn't apply to us, needs to be a Be file system.
case "$type" in
bfs|befs) debug "$partition is a BeFS partition." ;;
fuse|fuseblk) debug "$partition is a FUSE partition, maybe with BeFS on it." ; mpoint="$mpoint/myfs" ;;
*) exit 1 ;; # Be quiet and just quit for irrelevant partitions.
esac
if head -c 512 "$partition" | grep -qs "haiku_loader"; then
debug "Haiku stage 1 bootloader found."
else
debug "Haiku stage 1 bootloader not found: exiting"
exit 1
fi
if system="$(item_in_dir "system" "$mpoint")" &&
packages="$(item_in_dir "packages" "$mpoint/$system")" &&
item_in_dir -q "haiku_loader-r[0-9].*\.hpkg" "$mpoint/$system/$packages" &&
rev="$(item_in_dir "haiku-r[0-9].*\.hpkg" "$mpoint/$system/$packages")"
then
debug "Haiku Package Manager stage 2 bootloader and kernel ($rev) found."
label="$(count_next_label Haiku)"
# Convert kernel file name like haiku-r1~beta3_hrev55181_56-1-x86_64.hpkg
# or haiku-r1~alpha4_pm_hrev49856-1-x86_gcc2.hpkg into a readable version,
# like "Haiku R1 beta3 (hrev55181_56) 64". Seems to use a travelling space
# technique in the sed stream editor.
rev="$(echo "$rev" | sed 's/haiku-//;s/^\(r[0-9]\+\)./\U\1\E /;s/ \([a-z]\+[0-9]\+\)[_-]/ \1 /;s/ [a-z]*_\?\(hrev[0-9_]\+\)\+-/ (\1) /;s/) [^_]\+_\([a-z0-9]\+\)\.hpkg/) \1 /;s/[^ ]\+.hpkg//;s/ $//')"
long="Haiku $rev"
result "$partition:$long:$label:chain"
exit 0
elif system="$(item_in_dir "system" "$mpoint")" &&
item_in_dir -q "haiku_loader" "$mpoint/$system" &&
item_in_dir -q "kernel_.*" "$mpoint/$system"
then
debug "Older non-package manager Haiku stage 2 bootloader and kernel found."
label="$(count_next_label Haiku)"
result "$partition:Haiku:$label:chain"
exit 0
else
debug "Haiku stage 2 bootloader and kernel not found: exiting"
exit 1
fi

30
3rdparty/os_probe/README.md vendored Normal file
View File

@ -0,0 +1,30 @@
# os-probe for the Haiku Computer Operating System
This is the Linux "os-probes" file to detect Haiku OS and to automatically add
it to the GRUB boot menu. Mostly relevant for x86 BIOS based computers.
Copy the 83haiku file to your Linux system in the os-probes subdirectory,
usually (in Fedora at least) it will be /usr/libexec/os-probes/mounted/83haiku
You can find older 83haiku versions in the repository history, though the
latest should be able to detect older (pre-package manager) Haiku too.
Then regenerate the GRUB boot configuration file. This will happen
automatically the next time your kernel is updated. To do it manually,
for old school MBR BIOS boot computers, the command is
`grub2-mkconfig --output /boot/grub2/grub.cfg`
If it doesn't find the Haiku partitions, try manually mounting them in Linux
and rerun the grub command.
Computers using the newer UEFI boot system have a EFI/HAIKU/BOOTX64.EFI file
that you manually install to your EFI partition, and booting is done
differently, so you don't need this 83Haiku file for them. See
[UEFI Booting Haiku](https://www.haiku-os.org/guides/uefi_booting/) instead.
The original seems to have come from Debian and was written by François Revol.
It's in the
[Debian os-prober package](https://packages.debian.org/search?keywords=os-prober).
There's also a big discussion about updating it in
[Debian Bug Report #732696](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=732696).
Latest version is now at https://git.haiku-os.org/haiku/tree/3rdparty/os_probe
_AGMS20210927_

View File

@ -1,6 +1,6 @@
#!/usr/bin/vmware
config.version = "8"
virtualHW.version = "6"
virtualHW.version = "13"
MemAllowAutoScaleDown = "false"
MemTrimRate = "-1"
@ -13,7 +13,7 @@ checkpoint.vmState = ""
displayName = "Haiku"
guestOS = "other"
memsize = "512"
memSize = "512"
ethernet0.present= "true"
ethernet0.startConnected = "true"

View File

@ -1,6 +1,6 @@
#!/usr/bin/vmware
config.version = "8"
virtualHW.version = "6"
virtualHW.version = "13"
MemAllowAutoScaleDown = "false"
MemTrimRate = "-1"
@ -13,7 +13,7 @@ checkpoint.vmState = ""
displayName = "Haiku"
guestOS = "other"
memsize = "512"
memSize = "512"
ethernet0.present= "true"
ethernet0.startConnected = "true"

View File

@ -1,6 +1,6 @@
#!/usr/bin/vmware
config.version = "8"
virtualHW.version = "6"
virtualHW.version = "13"
MemAllowAutoScaleDown = "false"
MemTrimRate = "-1"
@ -13,7 +13,7 @@ checkpoint.vmState = ""
displayName = "Haiku"
guestOS = "other"
memsize = "512"
memSize = "512"
ethernet0.present= "true"
ethernet0.startConnected = "true"

28
Jamfile
View File

@ -20,25 +20,31 @@ for architectureObject in [ MultiArchSubDirSetup ] {
# Include required packages:
# primary architecture
AddHaikuImageSystemPackages [ FFilterByBuildFeatures
bash bc coreutils curl freetype icu libsolv zlib zstd
bash bc freetype libsolv zlib
!gcc2 @{ coreutils icu66 }@
gcc2 @{ coreutils_x86 icu icu66_x86@secondary_x86 }@
regular_image @{
bzip2 diffutils expat ffmpeg findutils gawk glu grep gutenprint8
gzip
bzip2 diffutils expat ffmpeg findutils glu gutenprint8 gzip
lame less libedit libicns
mesa mesa_devel mesa_swpipe@!gcc2 mesa_swrast@gcc2
mawk mesa mesa_devel mesa_swpipe@!gcc2 mesa_swrast@gcc2
netcat
sed sharutils
tar tcpdump unzip wget which zip
tcpdump unzip wget which zip
!gcc2 @{ grep tar zstd }@
gcc2 @{ grep_x86@secondary_x86 tar_x86@secondary_x86 }@
}@
] ;
AddHaikuImageSourcePackages [ FFilterByBuildFeatures
bash bc coreutils
bash bc
!gcc2 @{ coreutils }@
gcc2 @{ coreutils_x86 }@
regular_image @{
expat ffmpeg findutils gawk grep gutenprint8
gzip
lame less libicns
expat ffmpeg findutils grep gutenprint8 gzip
lame less libicns mawk
sed sharutils
tar wget which
}@
@ -54,10 +60,10 @@ if $(HAIKU_PACKAGING_ARCHS[2]) {
in [ MultiArchSubDirSetup $(HAIKU_PACKAGING_ARCHS[2-]) ] {
on $(architectureObject) {
AddHaikuImageSystemPackages [ FFilterByBuildFeatures
curl freetype icu libsolv zlib
freetype icu libsolv zlib
regular_image @{
ffmpeg glu jasper jpeg libicns libpng16 libwebp mesa
ffmpeg glu jasper jpeg libavif libicns libpng16 libwebp mesa
}@
] ;
if $(TARGET_PACKAGING_ARCH) != x86_gcc2 {

View File

@ -31,7 +31,7 @@ nightly builds.
* `makeinfo` (part of `texinfo`, only needed for building GCC 4)
* `autoheader` (part of `autoconf`, needed for building GCC)
* `automake` (needed for building GCC)
* `gawk`
* `awk` (GNU awk is most tested, but other implementations should work)
* `nasm`
* `wget`
* `[un]zip`
@ -136,7 +136,7 @@ cd haiku/generated.x86_64
cd haiku/generated.x86gcc2
../configure \
--cross-tools-source ../../buildtools/ \
--build-cross-tools x86_gcc2
--build-cross-tools x86_gcc2 \
--build-cross-tools x86
```
@ -244,7 +244,7 @@ Configure Haiku's build system for a bootstrap build specifying the location
of all of the repositories above.
```
../configure -j4 \
--build-cross-tools myarch ../../buildtools \
--build-cross-tools myarch --cross-tools-source ../../buildtools \
--bootstrap ../../haikuporter/haikuporter ../../haikuports.cross ../../haikuports
```

View File

@ -33,7 +33,8 @@ Contributing
-------------------
Haiku is a meritocratic open source project with a large variety of tasks. Even
if you can't write code, *you can still help*! Haiku needs designers,
(technical) writers, translators, testers... Get involved and help out!
(technical) writers, translators, testers... [Get involved](https://www.haiku-os.org/community/getting-involved/)
and help out!
### Contributing code
If you're submitting a patch to us, please make sure you're following the

View File

@ -93,7 +93,9 @@
// Enables the vm_page::access_count field, which is used to detect invalid
// concurrent access to the page.
#ifndef __riscv
#define DEBUG_PAGE_ACCESS KDEBUG_LEVEL_2
#endif
// Enables a global list of all vm_cache structures.
#define DEBUG_CACHE_LIST KDEBUG_LEVEL_2

View File

@ -40,6 +40,7 @@ rule ArchitectureSetup architecture
switch $(cpu) {
case ppc : archFlags += -mcpu=440fp ;
case arm : archFlags += -march=armv7-a -mfloat-abi=hard ;
case arm64 : archFlags += -march=armv8.2-a+fp16 ;
case x86 : archFlags += -march=pentium ;
case riscv64 : archFlags += -march=rv64gc ;
}
@ -108,11 +109,11 @@ rule ArchitectureSetup architecture
# disable some Clang warnings that are not very useful
if $(HAIKU_CC_IS_CLANG_$(architecture)) = 1 {
HAIKU_WARNING_CCFLAGS_$(architecture) += -Wno-address-of-packed-member
-Wno-unused-private-field -Wno-cast-align -Wno-gnu-designator
HAIKU_WARNING_CCFLAGS_$(architecture) +=
-Wno-unused-private-field -Wno-gnu-designator
-Wno-builtin-requires-header ;
HAIKU_WARNING_C++FLAGS_$(architecture) += -Wno-address-of-packed-member
-Wno-unused-private-field -Wno-cast-align -Wno-gnu-designator
HAIKU_WARNING_C++FLAGS_$(architecture) +=
-Wno-unused-private-field -Wno-gnu-designator
-Wno-builtin-requires-header ;
}
@ -122,7 +123,10 @@ rule ArchitectureSetup architecture
# TODO: Remove all these.
HAIKU_WERROR_FLAGS_$(architecture) += -Wno-error=unused-but-set-variable
-Wno-error=deprecated -Wno-error=deprecated-declarations
-Wno-error=cpp -Wno-error=trigraphs ;
-Wno-error=cpp -Wno-error=trigraphs -Wno-error=register ;
# These currently generate too many "false positives."
HAIKU_WERROR_FLAGS_$(architecture) += -Wno-error=address-of-packed-member
-Wno-error=stringop-overread -Wno-error=array-bounds ;
# But these can stay.
HAIKU_WERROR_FLAGS_$(architecture) += -Wno-error=cast-align
-Wno-error=format-truncation ;
@ -217,6 +221,7 @@ rule KernelArchitectureSetup architecture
# packaging architecture (supplied for convenience).
HAIKU_KERNEL_ARCH = $(HAIKU_ARCH) ;
HAIKU_KERNEL_ARCH_DIR = $(HAIKU_KERNEL_ARCH) ;
local cpu = $(HAIKU_CPU_$(architecture)) ;
@ -267,7 +272,7 @@ rule KernelArchitectureSetup architecture
HAIKU_BOOT_FLOPPY_IMAGE_SIZE = 2880 ; # in kB
# offset in floppy image (>= sizeof(haiku_loader))
HAIKU_BOOT_ARCHIVE_IMAGE_OFFSET = 320 ; # in kB
HAIKU_BOOT_ARCHIVE_IMAGE_OFFSET = 384 ; # in kB
# nasm is required for target arch x86
if ! $(HAIKU_NASM) {
@ -276,7 +281,7 @@ rule KernelArchitectureSetup architecture
case riscv64 :
HAIKU_KERNEL_PLATFORM ?= efi ;
HAIKU_BOOT_TARGETS += efi ;
HAIKU_BOOT_TARGETS += efi riscv ;
HAIKU_BOOT_SDIMAGE_BEGIN = 2 ; # KiB
@ -292,10 +297,10 @@ rule KernelArchitectureSetup architecture
HAIKU_BOOT_FLOPPY_IMAGE_SIZE = 2880 ; # in kB
# offset in floppy image (>= sizeof(haiku_loader))
HAIKU_BOOT_ARCHIVE_IMAGE_OFFSET = 320 ; # in kB
HAIKU_BOOT_ARCHIVE_IMAGE_OFFSET = 384 ; # in kB
# x86_64 kernel source is under arch/x86.
HAIKU_KERNEL_ARCH = x86 ;
HAIKU_KERNEL_ARCH_DIR = x86 ;
# nasm is required for target arch x86_64
if ! $(HAIKU_NASM) {
@ -333,14 +338,14 @@ rule KernelArchitectureSetup architecture
HAIKU_PRIVATE_KERNEL_HEADERS =
[ PrivateHeaders $(DOT) kernel libroot shared
kernel/boot/platform/$(HAIKU_KERNEL_PLATFORM) ]
[ ArchHeaders $(HAIKU_KERNEL_ARCH) ]
[ ArchHeaders $(HAIKU_KERNEL_ARCH_DIR) ]
[ FDirName $(HAIKU_COMMON_DEBUG_OBJECT_DIR_$(architecture)) system
kernel ]
$(HAIKU_PRIVATE_SYSTEM_HEADERS_$(architecture))
;
# C/C++ flags
local ccBaseFlags = -finline -fno-builtin ;
local ccBaseFlags = -finline -fno-builtin -Wno-main ;
if $(HAIKU_CC_IS_LEGACY_GCC_$(architecture)) != 1 {
if $(HAIKU_CC_IS_CLANG_$(architecture)) != 1 {
@ -399,12 +404,14 @@ rule KernelArchitectureSetup architecture
case arm :
HAIKU_KERNEL_PIC_LINKFLAGS += -z max-page-size=0x1000 ;
HAIKU_KERNEL_ADDON_LINKFLAGS += -z max-page-size=0x1000 ;
HAIKU_KERNEL_PIC_CCFLAGS = -fno-pic ;
HAIKU_KERNEL_PIC_CCFLAGS = -fpic ;
HAIKU_KERNEL_PIC_LINKFLAGS = -shared ;
case arm64 :
HAIKU_KERNEL_PIC_LINKFLAGS += -z max-page-size=0x1000 ;
HAIKU_KERNEL_ADDON_LINKFLAGS += -z max-page-size=0x1000 ;
HAIKU_KERNEL_PIC_CCFLAGS = -fno-pic ;
HAIKU_KERNEL_PIC_CCFLAGS = -fpic ;
HAIKU_KERNEL_PIC_LINKFLAGS = -shared ;
case m68k :
# We don't want to have to handle emulating missing FPU opcodes for
@ -422,8 +429,9 @@ rule KernelArchitectureSetup architecture
case riscv64 :
# Kernel lives within any single 2 GiB address space.
# Default is medlow (-2GiB / +2GiB)
HAIKU_KERNEL_CCFLAGS += -mcmodel=medany ;
HAIKU_KERNEL_C++FLAGS += -mcmodel=medany ;
HAIKU_KERNEL_CCFLAGS += -mcmodel=medany -fpic ;
HAIKU_KERNEL_C++FLAGS += -mcmodel=medany -fpic ;
HAIKU_KERNEL_PIC_LINKFLAGS = -shared ;
case sparc :
# The medlow code model is enough (64-bit addresses, programs must
@ -464,6 +472,11 @@ rule KernelArchitectureSetup architecture
}
# bootloader-centric flags
HAIKU_BOOT_CCFLAGS
+= -DBOOT_ARCHIVE_IMAGE_OFFSET=$(HAIKU_BOOT_ARCHIVE_IMAGE_OFFSET) ;
HAIKU_BOOT_C++FLAGS
+= -DBOOT_ARCHIVE_IMAGE_OFFSET=$(HAIKU_BOOT_ARCHIVE_IMAGE_OFFSET) ;
local bootTarget ;
for bootTarget in $(HAIKU_BOOT_TARGETS) {
switch $(bootTarget) {
@ -486,6 +499,27 @@ rule KernelArchitectureSetup architecture
HAIKU_BOOT_$(bootTarget:U)_CCFLAGS += -maccumulate-outgoing-args ;
HAIKU_BOOT_$(bootTarget:U)_C++FLAGS += -maccumulate-outgoing-args ;
}
case arm :
HAIKU_BOOT_$(bootTarget:U)_CCFLAGS += -mfloat-abi=soft ;
HAIKU_BOOT_$(bootTarget:U)_C++FLAGS += -mfloat-abi=soft ;
# Remove any previous -mfloat-abi=hard setting from compiler flags
local fixedBootCCFlags ;
local fixedBootC++Flags ;
for flag in $(HAIKU_BOOT_CCFLAGS) {
if $(flag) = "-mfloat-abi=hard" {
continue ;
}
fixedBootCCFlags += $(flag) ;
}
for flag in $(HAIKU_BOOT_C++FLAGS) {
if $(flag) = "-mfloat-abi=hard" {
continue ;
}
fixedBootC++Flags += $(flag) ;
}
HAIKU_BOOT_CCFLAGS = $(fixedBootCCFlags) ;
HAIKU_BOOT_C++FLAGS = $(fixedBootC++Flags) ;
}
HAIKU_BOOT_$(bootTarget:U)_LDFLAGS = -Bstatic -Bsymbolic
-nostdlib -znocombreloc -no-undefined ;
@ -526,6 +560,12 @@ rule KernelArchitectureSetup architecture
HAIKU_BOOT_$(bootTarget:U)_C++FLAGS += -m68020-60 ;
# TODO: coldfire (FireBee)
}
case riscv :
HAIKU_BOOT_$(bootTarget:U)_CCFLAGS += -mcmodel=medany -fno-omit-frame-pointer -fno-plt -fno-pic -fno-semantic-interposition ;
HAIKU_BOOT_$(bootTarget:U)_C++FLAGS += -mcmodel=medany -fno-omit-frame-pointer -fno-plt -fno-pic -fno-semantic-interposition ;
case openfirmware :
HAIKU_BOOT_$(bootTarget:U)_CCFLAGS += -fno-pic -fno-semantic-interposition -Wno-error=main -Wstack-usage=1023 ;
HAIKU_BOOT_$(bootTarget:U)_C++FLAGS += -fno-pic -fno-semantic-interposition -Wno-error=main -Wstack-usage=1023 ;
case * :
# all other bootloaders are non-PIC
HAIKU_BOOT_$(bootTarget:U)_CCFLAGS += -fno-pic -Wno-error=main ;
@ -550,11 +590,6 @@ rule KernelArchitectureSetup architecture
# defines
HAIKU_KERNEL_DEFINES += _KERNEL_MODE ;
HAIKU_DEFINES_$(architecture)
+= BOOT_ARCHIVE_IMAGE_OFFSET=$(HAIKU_BOOT_ARCHIVE_IMAGE_OFFSET) ;
# TODO: That doesn't need to be a general define. It's just needed for
# compiling (part of) the boot loader.
# kernel add-on glue code
HAIKU_KERNEL_ADDON_BEGIN_GLUE_CODE = <$(architecture)>crtbeginS.o
<src!system!glue!$(architecture)>haiku_version_glue.o ;
@ -624,14 +659,14 @@ rule ArchitectureSetupWarnings architecture
EnableWerror src add-ons disk_systems ;
EnableWerror src add-ons input_server devices ;
EnableWerror src add-ons input_server filters ;
# EnableWerror src add-ons input_server methods pen ;
EnableWerror src add-ons input_server methods pen ;
EnableWerror src add-ons input_server methods t9 ;
EnableWerror src add-ons kernel bluetooth ;
EnableWerror src add-ons kernel bus_managers acpi ;
EnableWerror src add-ons kernel bus_managers agp_gart ;
EnableWerror src add-ons kernel bus_managers ata ;
EnableWerror src add-ons kernel bus_managers config_manager ;
# EnableWerror src add-ons kernel bus_managers firewire ;
EnableWerror src add-ons kernel bus_managers firewire ;
EnableWerror src add-ons kernel bus_managers ide ;
EnableWerror src add-ons kernel bus_managers isa ;
EnableWerror src add-ons kernel bus_managers pci ;
@ -643,35 +678,39 @@ rule ArchitectureSetupWarnings architecture
EnableWerror src add-ons kernel bus_managers virtio ;
EnableWerror src add-ons kernel busses agp_gart ;
EnableWerror src add-ons kernel busses ata ;
# EnableWerror src add-ons kernel busses i2c ;
# EnableWerror src add-ons kernel busses mmc ;
# EnableWerror src add-ons kernel busses random ;
EnableWerror src add-ons kernel busses scsi ;
EnableWerror src add-ons kernel busses usb ;
# EnableWerror src add-ons kernel busses virtio ;
EnableWerror src add-ons kernel console ;
EnableWerror src add-ons kernel cpu ;
# EnableWerror src add-ons kernel debugger ; # gcc2
EnableWerror src add-ons kernel debugger ;
# EnableWerror src add-ons kernel drivers audio ;
EnableWerror src add-ons kernel drivers bluetooth ;
# EnableWerror src add-ons kernel drivers bus ;
EnableWerror src add-ons kernel drivers bus ;
EnableWerror src add-ons kernel drivers common ;
# EnableWerror src add-ons kernel drivers disk ;
EnableWerror src add-ons kernel drivers dvb ;
# EnableWerror src add-ons kernel drivers graphics ;
EnableWerror src add-ons kernel drivers graphics intel_extreme ;
# EnableWerror src add-ons kernel drivers input ;
EnableWerror src add-ons kernel drivers input ;
EnableWerror src add-ons kernel drivers joystick ;
EnableWerror src add-ons kernel drivers midi ;
EnableWerror src add-ons kernel drivers misc ;
# EnableWerror src add-ons kernel drivers network ;
EnableWerror src add-ons kernel drivers ports ;
# EnableWerror src add-ons kernel drivers power ;
EnableWerror src add-ons kernel drivers power ;
EnableWerror src add-ons kernel drivers printer ;
EnableWerror src add-ons kernel drivers random ;
EnableWerror src add-ons kernel drivers tty ;
EnableWerror src add-ons kernel drivers video ;
EnableWerror src add-ons kernel file_systems bfs ;
EnableWerror src add-ons kernel file_systems cdda ;
# EnableWerror src add-ons kernel file_systems ext2 ;
EnableWerror src add-ons kernel file_systems ext2 ;
# EnableWerror src add-ons kernel file_systems fat ;
# EnableWerror src add-ons kernel file_systems googlefs ;
EnableWerror src add-ons kernel file_systems googlefs ;
EnableWerror src add-ons kernel file_systems iso9660 ;
EnableWerror src add-ons kernel file_systems layers ;
# EnableWerror src add-ons kernel file_systems netfs ;
@ -684,13 +723,7 @@ rule ArchitectureSetupWarnings architecture
EnableWerror src add-ons kernel file_systems udf ;
EnableWerror src add-ons kernel file_systems userlandfs ;
EnableWerror src add-ons kernel generic ;
# EnableWerror src add-ons kernel network datalink_protocols ;
EnableWerror src add-ons kernel network devices ;
EnableWerror src add-ons kernel network dns_resolver ;
EnableWerror src add-ons kernel network notifications ;
EnableWerror src add-ons kernel network ppp ;
EnableWerror src add-ons kernel network protocols ;
# EnableWerror src add-ons kernel network stack ;
EnableWerror src add-ons kernel network ;
EnableWerror src add-ons kernel partitioning_systems ;
EnableWerror src add-ons kernel power ;
EnableWerror src add-ons locale ;
@ -708,15 +741,15 @@ rule ArchitectureSetupWarnings architecture
EnableWerror src add-ons media media-add-ons reader ;
EnableWerror src add-ons media media-add-ons tone_producer_demo ;
EnableWerror src add-ons media media-add-ons usb_vision ;
# EnableWerror src add-ons media media-add-ons usb_webcam ;
EnableWerror src add-ons media media-add-ons usb_webcam ;
EnableWerror src add-ons media media-add-ons video_mixer ;
# EnableWerror src add-ons media media-add-ons video_producer_demo ;
EnableWerror src add-ons media media-add-ons video_producer_demo ;
EnableWerror src add-ons media media-add-ons videowindow ;
EnableWerror src add-ons media media-add-ons writer ;
EnableWerror src add-ons media plugins ape_reader ;
EnableWerror src add-ons media plugins au_reader ;
# EnableWerror src add-ons media plugins ffmpeg ;
# EnableWerror src add-ons media plugins raw_decoder ;
EnableWerror src add-ons media plugins raw_decoder ;
EnableWerror src add-ons print ;
EnableWerror src add-ons screen_savers ;
EnableWerror src add-ons tracker ;

View File

@ -76,9 +76,9 @@ rule SetupBoot
SourceSysHdrs $(sources) : $(TARGET_PRIVATE_KERNEL_HEADERS) ;
}
if $(HAIKU_BOOT_C++_HEADERS_DIR_$(TARGET_PACKAGING_ARCH)) {
if $(HAIKU_BOOT_C++_HEADERS_DIR_$(TARGET_KERNEL_ARCH)) {
SourceSysHdrs $(sources) :
$(HAIKU_BOOT_C++_HEADERS_DIR_$(TARGET_PACKAGING_ARCH)) ;
$(HAIKU_BOOT_C++_HEADERS_DIR_$(TARGET_KERNEL_ARCH)) ;
}
# MultiBootSubDirSetup sets the target boot platform on the target object,
@ -90,6 +90,8 @@ rule SetupBoot
local platform = $(TARGET_BOOT_PLATFORM:U) ;
local object ;
for object in $(objects) {
TARGET_PACKAGING_ARCH on $(object) = $(TARGET_KERNEL_ARCH) ;
# add boot flags for the object
ObjectCcFlags $(object) : $(HAIKU_BOOT_CCFLAGS) $(HAIKU_BOOT_$(platform)_CCFLAGS) $(2) ;
ObjectC++Flags $(object) : $(HAIKU_BOOT_C++FLAGS) $(HAIKU_BOOT_$(platform)_C++FLAGS) $(2) ;
@ -97,13 +99,14 @@ rule SetupBoot
ASFLAGS on $(object) = $(HAIKU_BOOT_CCFLAGS) $(HAIKU_BOOT_$(platform)_CCFLAGS) ;
# override regular CCFLAGS/C++FLAGS, as we don't want them
TARGET_CCFLAGS_$(TARGET_PACKAGING_ARCH) on $(object) = ;
TARGET_C++FLAGS_$(TARGET_PACKAGING_ARCH) on $(object) = ;
TARGET_CCFLAGS_$(TARGET_KERNEL_ARCH) on $(object) = ;
TARGET_C++FLAGS_$(TARGET_KERNEL_ARCH) on $(object) = ;
TARGET_ASFLAGS_$(TARGET_KERNEL_ARCH) on $(object) = ;
# override warning flags
TARGET_WARNING_CCFLAGS_$(TARGET_PACKAGING_ARCH) on $(object)
TARGET_WARNING_CCFLAGS_$(TARGET_KERNEL_ARCH) on $(object)
= $(TARGET_KERNEL_WARNING_CCFLAGS) ;
TARGET_WARNING_C++FLAGS_$(TARGET_PACKAGING_ARCH) on $(object)
TARGET_WARNING_C++FLAGS_$(TARGET_KERNEL_ARCH) on $(object)
= $(TARGET_KERNEL_WARNING_C++FLAGS) ;
}
}
@ -118,7 +121,7 @@ rule BootLd
{
# BootLd <name> : <objs> : <linkerscript> : <args> ;
LINK on $(1) = $(TARGET_LD_$(TARGET_PACKAGING_ARCH)) ;
LINK on $(1) = $(TARGET_LD_$(TARGET_KERNEL_ARCH)) ;
LINKFLAGS on $(1) = $(HAIKU_BOOT_$(TARGET_BOOT_PLATFORM:U)_LDFLAGS) $(4) ;
if $(3) { LINKFLAGS on $(1) += --script=$(3) ; }
@ -130,8 +133,8 @@ rule BootLd
libs += [ TargetBootLibsupc++ true ] ;
Depends $(1) : [ TargetBootLibsupc++ ] ;
}
LINKLIBS on $(1) = $(libs) [ TargetBootLibgcc true ] ;
Depends $(1) : [ TargetBootLibgcc ] ;
LINKLIBS on $(1) = $(libs) [ TargetBootLibgcc $(TARGET_KERNEL_ARCH) : true ] ;
Depends $(1) : [ TargetBootLibgcc $(TARGET_KERNEL_ARCH) ] ;
# TODO: Do we really want to invoke SetupBoot here? The objects should
# have been compiled with BootObjects anyway, so we're doing that twice.
@ -169,6 +172,8 @@ rule BootMergeObject
# will be added.
#
TARGET_PACKAGING_ARCH on $(1) = $(TARGET_KERNEL_ARCH) ;
SetupBoot $(2) : $(3) ;
Objects $(2) ;
MergeObjectFromObjects $(1) : $(2:S=$(SUFOBJ)) : $(4) ;
@ -181,6 +186,8 @@ rule BootStaticLibrary
# This is designed to take a set of sources and libraries and create
# a file called lib<name>.a
TARGET_PACKAGING_ARCH on $(1) = $(TARGET_KERNEL_ARCH) ;
SetupBoot $(2) : $(3) : false ;
Library $(1) : $(2) ;
}
@ -191,6 +198,8 @@ rule BootStaticLibraryObjects
# This is designed to take a set of sources and libraries and create
# a file called <name>
TARGET_PACKAGING_ARCH on $(1) = $(TARGET_KERNEL_ARCH) ;
# Show that we depend on the libraries we need
SetupBoot $(2) ;
LocalClean clean : $(1) ;
@ -205,7 +214,7 @@ actions BootStaticLibraryObjects
# Force recreation of the archive to avoid build errors caused by
# stale dependencies after renaming or deleting object files.
$(RM) "$(1)"
$(HAIKU_AR_$(TARGET_PACKAGING_ARCH)) -r "$(1)" "$(2)" ;
$(HAIKU_AR_$(TARGET_KERNEL_ARCH)) -r "$(1)" "$(2)" ;
}
rule BuildMBR binary : source

View File

@ -5,6 +5,11 @@ rule FQualifiedBuildFeatureName features
# Prepends the name of the current target packaging architecture to the
# given feature names.
if $(features[1]) = "QUALIFIED" {
# We have been pre-supplied a qualified name.
return $(features[2]) ;
}
return $(TARGET_PACKAGING_ARCH):$(features) ;
}

View File

@ -78,9 +78,12 @@ if [ IsPackageAvailable gcc_syslibs_devel ] {
libgcc_eh.a: $(developLibDir)/libgcc_eh.a
libgcc-kernel.a: $(developLibDir)/libgcc-kernel.a
libgcc_eh-kernel.a: $(developLibDir)/libgcc_eh.a
libgcc-boot.a: $(developLibDir)/libgcc-boot.a
libgcc_eh-boot.a: $(developLibDir)/libgcc_eh-boot.a
libstdc++.a: $(developLibDir)/libstdc++.a
libsupc++.a: $(developLibDir)/libsupc++.a
libsupc++-kernel.a: $(developLibDir)/libsupc++-kernel.a
libsupc++-boot.a: $(developLibDir)/libsupc++-boot.a
c++-headers: $(developHeadersDir)/c++
gcc-headers: $(developHeadersDir)/gcc
;
@ -104,7 +107,6 @@ if [ IsPackageAvailable icu_devel ] {
$(developLibDir)/libicudata.so
$(developLibDir)/libicui18n.so
$(developLibDir)/libicuio.so
$(developLibDir)/libicutu.so
$(developLibDir)/libicuuc.so
headers: $(developHeadersDir)
;
@ -120,7 +122,6 @@ if [ IsPackageAvailable icu_devel ] {
$(developLibDir)/libicudata.so
$(developLibDir)/libicui18n.so
$(developLibDir)/libicuio.so
$(developLibDir)/libicutu.so
$(developLibDir)/libicuuc.so
headers: $(developHeadersDir)
;
@ -622,6 +623,23 @@ if [ IsPackageAvailable libdvdnav_devel ] {
}
# libraw
if [ IsPackageAvailable libraw_devel ] {
ExtractBuildFeatureArchives libraw :
file: base libraw
runtime: lib
file: devel libraw_devel
depends: base
libraries: $(developLibDir)/libraw.so.19
headers: $(developHeadersDir)
;
EnableBuildFeatures libraw ;
} else {
unavailableBuildFeatures += libraw ;
}
# libwebp
if [ IsPackageAvailable libwebp_devel ] {
if $(HAIKU_PACKAGING_ARCH) = x86 && $(TARGET_PACKAGING_ARCH) = x86_gcc2 {
@ -650,6 +668,22 @@ if [ IsPackageAvailable libwebp_devel ] {
}
# libavif
if [ IsPackageAvailable libavif_devel ] {
ExtractBuildFeatureArchives libavif :
file: base libavif
runtime: lib
file: devel libavif_devel
depends: base
library: $(developLibDir)/libavif.so.9
headers: $(developHeadersDir) $(developHeadersDir)/avif
;
EnableBuildFeatures libavif ;
} else {
unavailableBuildFeatures += libavif ;
}
# live555
if [ IsPackageAvailable live555_devel ] {
ExtractBuildFeatureArchives live555 :

View File

@ -12,7 +12,7 @@
# The Haiku (base) version. For development builds the revision will be
# attached.
HAIKU_VERSION = r1~beta2 ;
HAIKU_VERSION = r1~beta3 ;
#pragma mark - container settings
@ -114,7 +114,12 @@ for architecture in $(HAIKU_PACKAGING_ARCHS) {
}
if $(HAIKU_PACKAGING_ARCH) {
KernelArchitectureSetup $(HAIKU_PACKAGING_ARCH) ;
local kernelArch = $(HAIKU_PACKAGING_ARCH) ;
# Always use the non-legacy GCC for the kernel.
if $(kernelArch) = x86_gcc2 {
kernelArch = x86 ;
}
KernelArchitectureSetup $(kernelArch) ;
}
# define primary packaging architecture macro
@ -217,7 +222,7 @@ HOST_UNARFLAGS ?= x ;
# check the host platform compatibility
SetPlatformCompatibilityFlagVariables HOST_PLATFORM : HOST : host
: linux openbsd freebsd darwin msys ;
: linux openbsd freebsd darwin ;
HOST_PLATFORM_(host)_COMPATIBLE = 1 ;
if $(HOST_PLATFORM) = linux || $(HOST_PLATFORM) = freebsd
@ -377,6 +382,12 @@ HOST_LIBROOT = libroot_build_function_remapper.a libroot_build.so ;
HOST_STATIC_LIBROOT = libroot_build_function_remapper.a libroot_build.a ;
HOST_LIBBE = libbe_build.so ;
# adding rpath allows directly invoking host tools without specifying
# a library search path
if $(HOST_PLATFORM) != darwin {
HOST_LINKFLAGS += -Wl,-rpath,$(HOST_BUILD_COMPATIBILITY_LIB_DIR) ;
}
if $(HOST_PLATFORM_HAIKU_COMPATIBLE) {
# the C++ standard and support libraries
if $(HOST_CC_IS_LEGACY_GCC) = 1 {
@ -401,10 +412,7 @@ if $(HOST_PLATFORM_HAIKU_COMPATIBLE) {
} else {
HOST_LINKFLAGS += -lm -ldl ;
HOST_LIBSTDC++ = stdc++ ;
if $(HOST_PLATFORM) = msys {
HOST_ADD_BUILD_COMPATIBILITY_LIB_DIR
= "PATH=$PATH:$(HOST_BUILD_COMPATIBILITY_LIB_DIR)" ;
} else if $(HOST_PLATFORM) = darwin {
if $(HOST_PLATFORM) = darwin {
HOST_ADD_BUILD_COMPATIBILITY_LIB_DIR
= "DYLD_LIBRARY_PATH=\"$DYLD_LIBRARY_PATH:$(HOST_BUILD_COMPATIBILITY_LIB_DIR)\"" ;
} else {
@ -559,7 +567,7 @@ if $(HAIKU_HOST_BUILD_ONLY) = 1 {
# for all architectures (e.g. TARGET_DEFINES).
local buildVars =
ARCH ARCHS KERNEL_ARCH PACKAGING_ARCH PACKAGING_ARCHS
ARCH ARCHS KERNEL_ARCH KERNEL_ARCH_DIR PACKAGING_ARCH PACKAGING_ARCHS
DEFINES
KERNEL_DEFINES
@ -638,7 +646,6 @@ switch $(HOST_PLATFORM) {
case linux : HOST_DEFINES += HAIKU_HOST_PLATFORM_LINUX ;
case freebsd : HOST_DEFINES += HAIKU_HOST_PLATFORM_FREEBSD ;
case darwin : HOST_DEFINES += HAIKU_HOST_PLATFORM_DARWIN ;
case msys : HOST_DEFINES += HAIKU_HOST_PLATFORM_MSYS ;
}
# define host platform 64 bit macro

View File

@ -76,29 +76,27 @@ rule DefineDefaultBuildProfiles
if $(HAIKU_INCLUDE_SOURCES) = 1 {
HAIKU_IMAGE_SIZE ?= 1100 ;
} else {
HAIKU_IMAGE_SIZE ?= 690 ;
HAIKU_IMAGE_SIZE ?= 710 ;
}
AddHaikuImageSystemPackages
bepdf
keymapswitcher
mandoc
nano
noto
noto_sans_cjk_jp
openssh
p7zip
pdfwriter
pe
python
timgmsoundfont
vision
wpa_supplicant
wqy_microhei
# xz_utils can't be built with gcc2, so we install it for
# primary gcc 8 architectures or gcc 2 hybrids.
xz_utils@!gcc2
gcc2 @{ xz_utils_x86@secondary_x86 }@
# Some packages can't be built with gcc2, so we install the gcc8
# secondary architecture package instead in this case
!gcc2 @{ nano p7zip python3 xz_utils }@
gcc2 @{ nano_x86@secondary_x86 p7zip_x86@secondary_x86
python3_x86@secondary_x86 xz_utils_x86@secondary_x86 }@
;
AddHaikuImageSourcePackages
bepdf
@ -137,18 +135,20 @@ rule DefineDefaultBuildProfiles
AddHaikuImageSystemPackages
mandoc
nano
noto
openssh
openssl
p7zip
pe
vision
wpa_supplicant
# xz_utils can't be built with gcc2, so we install it for
# primary gcc 4 architectures or gcc 2 hybrids.
xz_utils@!gcc2
gcc2 @{ xz_utils_x86@secondary_x86 }@
# primary gcc 8 architectures or gcc 2 hybrids.
!gcc2 @{ nano p7zip xz_utils }@
gcc2 @{
nano_x86@secondary_x86
p7zip_x86@secondary_x86
xz_utils_x86@secondary_x86
}@
;
AddHaikuImageSourcePackages
nano
@ -187,7 +187,6 @@ rule DefineDefaultBuildProfiles
bison
expat
flex
gawk
gcc
grep
haikuporter
@ -195,15 +194,17 @@ rule DefineDefaultBuildProfiles
libedit
m4
make
mawk
ncurses6
noto
python
sed
texinfo
!gcc2 @{ grep }@
gcc2 @{ grep_x86@secondary_x86 }@
;
AddHaikuImageDisabledPackages
curl_devel
freetype_devel
libedit_devel
ncurses6_devel
@ -217,18 +218,16 @@ rule DefineDefaultBuildProfiles
on $(architectureObject) {
AddHaikuImageSystemPackages
binutils
curl
expat
freetype
gcc
icu
icu@gcc2 icu66@!gcc2
libsolv
libedit
ncurses6
zlib
;
AddHaikuImageDisabledPackages
curl_devel
freetype_devel
libedit_devel
ncurses6_devel

View File

@ -2,6 +2,7 @@
# subdirectory.
local packages = [ FFilterByBuildFeatures
HaikuDevel
HaikuDataTranslators
HaikuExtras
HaikuLoader
HaikuSource

View File

@ -1531,6 +1531,16 @@ rule BuildFloppyBootImage image : haikuLoader : archive
#MakeLocateDebug $(image) ;
FLOPPY_IMAGE_SIZE on $(image) = $(HAIKU_BOOT_FLOPPY_IMAGE_SIZE) ;
ARCHIVE_IMAGE_OFFSET on $(image) = $(HAIKU_BOOT_ARCHIVE_IMAGE_OFFSET) ;
# FreeBSD's stat command doesn't support -c/--format option
# and use %z specifier for file size
if $(HOST_PLATFORM) = freebsd || $(HOST_PLATFORM) = darwin
|| $(HOST_PLATFORM) = openbsd {
STAT_GET_SIZE = "stat -f %z" ;
} else {
STAT_GET_SIZE = "stat -c %s" ;
}
BuildFloppyBootImage1 $(image) : $(haikuLoader) $(archive) ;
if $(HAIKU_KERNEL_PLATFORM) = atari_m68k {
Depends $(image) : <build>fixup_tos_boot_checksum ;
@ -1546,14 +1556,9 @@ rule BuildFloppyBootImage image : haikuLoader : archive
actions BuildFloppyBootImage1
{
haiku_loader_size=`stat -c %s "$(>[1])"`
drivers_tgz_size=`stat -c %s "$(>[2])"`
if [ $? -ne 0 ] ; then
# FreeBSD's stat command don't support -c/--format option
# and use %z specifier for file size
haiku_loader_size=`stat -f %z "$(>[1])"`
drivers_tgz_size=`stat -f %z "$(>[2])"`
fi
haiku_loader_size=`$(STAT_GET_SIZE) "$(>[1])"`
drivers_tgz_size=`$(STAT_GET_SIZE) "$(>[2])"`
archive_image_offset=`echo "$(ARCHIVE_IMAGE_OFFSET) * 1024" | bc`
floppy_tgz_size=\
`echo "($(FLOPPY_IMAGE_SIZE) - $(ARCHIVE_IMAGE_OFFSET)) * 1024" | bc`
@ -1644,6 +1649,7 @@ rule BuildCDBootPPCImage image : hfsmaps : elfloader : coffloader : chrpscript
actions BuildCDBootPPCImage1 bind MAPS
{
$(RM) $(<)
mkdir -p $(HAIKU_OUTPUT_DIR)/cd/ppc
mkdir -p $(HAIKU_OUTPUT_DIR)/cd/boot
# CHRP Boot script
@ -1657,9 +1663,10 @@ actions BuildCDBootPPCImage1 bind MAPS
# Xorriso doesn't have map and some other required tools
# to make bootable PowerPC images
genisoimage -v -hfsplus -map $(MAPS) \
genisoimage -v -hfs -map $(MAPS) \
-hfs-bless $(HAIKU_OUTPUT_DIR)/cd/boot -part -no-desktop \
-hfs-parms MAX_XTCSIZE=2656248 -hfs-volid Haiku \
--prep-boot boot/haikuloader.elf \
--chrp-boot -r -J -o $(<) $(HAIKU_OUTPUT_DIR)/cd
$(RM) -r $(HAIKU_OUTPUT_DIR)/cd
@ -1671,11 +1678,15 @@ rule BuildEfiSystemPartition image : efiLoader
{
local macVolumeIcon = [ FDirName
$(HAIKU_TOP) data artwork VolumeIcon.icns ] ;
local fatshell = <build>fat_shell ;
Depends $(image) : $(efiLoader) ;
Depends $(image) : $(macVolumeIcon) ;
Depends $(image) : $(fatshell) ;
switch $(TARGET_ARCH) {
case x86 :
EFINAME on $(image) = "BOOTIA32.EFI" ;
case x86_64 :
EFINAME on $(image) = "BOOTX64.EFI" ;
case arm :
@ -1690,18 +1701,26 @@ rule BuildEfiSystemPartition image : efiLoader
Exit "Error: Unknown EFI architecture!" ;
}
EFIICON on $(image) = $(macVolumeIcon) ;
BuildEfiSystemPartition1 $(image) : $(efiLoader) ;
BuildEfiSystemPartition1 $(image) : $(fatshell) $(macVolumeIcon) $(efiLoader) ;
}
# Usage:
# out : fatshell volumeIcon loader
actions BuildEfiSystemPartition1
{
$(RM) $(<)
export $(HOST_ADD_BUILD_COMPATIBILITY_LIB_DIR)
dd if=/dev/zero of=$(<) bs=1024 count=2880
mformat -i $(<) -f 2880
mmd -D s -i $(<) ::/EFI
mmd -D s -i $(<) ::/EFI/BOOT
mcopy -D o -i $(<) $(EFIICON) ::/.VolumeIcon.icns
mcopy -D o -i $(<) $(>) ::/EFI/BOOT/$(EFINAME)
FATFS="$(2[1])"
EFIICON="$(2[2])"
LOADER="$(2[3])"
${FATFS} --initialize "$(<)" 'Haiku ESP'
echo "mkdir myfs/EFI" | ${FATFS} $(<)
echo "mkdir myfs/EFI/BOOT" | ${FATFS} $(<)
echo "cp :${LOADER} myfs/EFI/BOOT/$(EFINAME)" | ${FATFS} $(<)
echo "cp :${EFIICON} myfs/.VolumeIcon.icns" | ${FATFS} $(<)
}

View File

@ -16,14 +16,16 @@ rule SetupKernel
local object ;
for object in $(objects) {
TARGET_PACKAGING_ARCH on $(object) = $(TARGET_KERNEL_ARCH) ;
# add kernel flags for the object
ObjectCcFlags $(object) : $(TARGET_KERNEL_CCFLAGS) $(2) ;
ObjectC++Flags $(object) : $(TARGET_KERNEL_C++FLAGS) $(2) ;
ObjectDefines $(object) : $(TARGET_KERNEL_DEFINES) ;
# override regular CCFLAGS/C++FLAGS, as we don't want them
TARGET_CCFLAGS_$(TARGET_PACKAGING_ARCH) on $(object) = ;
TARGET_C++FLAGS_$(TARGET_PACKAGING_ARCH) on $(object) = ;
TARGET_CCFLAGS_$(TARGET_KERNEL_ARCH) on $(object) = ;
TARGET_C++FLAGS_$(TARGET_KERNEL_ARCH) on $(object) = ;
# override warning flags
TARGET_WARNING_CCFLAGS_$(TARGET_PACKAGING_ARCH) on $(object)
@ -43,7 +45,7 @@ rule KernelLd
{
# KernelLd <name> : <objs> : <linkerscript> : <args> ;
LINK on $(1) = $(TARGET_LD_$(TARGET_PACKAGING_ARCH)) ;
LINK on $(1) = $(TARGET_LD_$(HAIKU_KERNEL_ARCH)) ;
LINKFLAGS on $(1) = $(4) ;
if $(3) {
@ -103,7 +105,7 @@ actions KernelSo1
export $(HOST_ADD_BUILD_COMPATIBILITY_LIB_DIR)
$(2[1]) --data $(2[2]) $(1) &&
$(HAIKU_ELFEDIT_$(TARGET_PACKAGING_ARCH)) --output-type dyn $(1)
$(HAIKU_ELFEDIT_$(HAIKU_KERNEL_ARCH)) --output-type dyn $(1)
}
rule KernelAddon
@ -115,6 +117,8 @@ rule KernelAddon
local libs = $(3) ;
AddResources $(1) : $(4) ;
TARGET_PACKAGING_ARCH on $(target) = $(TARGET_KERNEL_ARCH) ;
local kernel ;
local beginGlue ;
local endGlue ;
@ -164,6 +168,8 @@ rule KernelMergeObject
# will be added.
#
TARGET_PACKAGING_ARCH on $(1) = $(TARGET_KERNEL_ARCH) ;
SetupKernel $(2) : $(3) ;
Objects $(2) ;
MergeObjectFromObjects $(1) : $(2:S=$(SUFOBJ)) : $(4) ;
@ -175,6 +181,8 @@ rule KernelStaticLibrary
# This is designed to take a set of sources and libraries and create
# a static library.
TARGET_PACKAGING_ARCH on $(1) = $(TARGET_KERNEL_ARCH) ;
SetupKernel $(2) : $(3) : false ;
Library $(1) : $(2) ;
}
@ -185,6 +193,8 @@ rule KernelStaticLibraryObjects
# This is designed to take a set of sources and libraries and create
# a file called <name>
TARGET_PACKAGING_ARCH on $(1) = $(TARGET_KERNEL_ARCH) ;
# Show that we depend on the libraries we need
SetupKernel $(2) ;
LocalClean clean : $(1) ;
@ -199,5 +209,5 @@ actions KernelStaticLibraryObjects
# Force recreation of the archive to avoid build errors caused by
# stale dependencies after renaming or deleting object files.
$(RM) "$(1)"
$(HAIKU_AR_$(TARGET_PACKAGING_ARCH)) -r "$(1)" "$(2)" ;
$(HAIKU_AR_$(HAIKU_KERNEL_ARCH)) -r "$(1)" "$(2)" ;
}

View File

@ -66,25 +66,10 @@ rule ExtractCatalogEntries target : sources : signature : regexp
local subdir = [ on $(signature) return $(HAIKU_CATALOGS_SUBDIR) ] ;
MakeLocate $(target) : [ FDirName $(HAIKU_CATALOGS_OBJECT_DIR) $(subdir) ] ;
Depends $(target) : $(sources) <build>collectcatkeys ;
if $(HAIKU_CC_IS_CLANG_$(TARGET_PACKAGING_ARCH)) = 1 {
# Clang emits preprocessed source even if some included headers were not
# found, so we can treat a return code of 1 from it as not an error.
ExtractCatalogEntries2 $(target) : <build>collectcatkeys $(sources) ;
} else {
ExtractCatalogEntries1 $(target) : <build>collectcatkeys $(sources) ;
}
ExtractCatalogEntries1 $(target) : <build>collectcatkeys $(sources) ;
}
actions ExtractCatalogEntries1
{
export $(HOST_ADD_BUILD_COMPATIBILITY_LIB_DIR)
$(CC) -E $(CCDEFS) -DB_COLLECTING_CATKEYS $(HDRS) "$(2[2-])" > "$(1)".pre
$(2[1]) $(HAIKU_CATALOG_REGEXP) -s $(HAIKU_CATALOG_SIGNATURE) \
-w -o "$(1)" "$(1)".pre
$(RM) "$(1)".pre
}
actions ExtractCatalogEntries2
{
export $(HOST_ADD_BUILD_COMPATIBILITY_LIB_DIR)
$(CC) -E $(CCDEFS) -DB_COLLECTING_CATKEYS $(HDRS) "$(2[2-])" > "$(1)".pre \

View File

@ -154,6 +154,12 @@ rule StaticLibrary
InheritPlatform $(objects) : $(lib) ;
if $(TARGET_CC_IS_LEGACY_GCC_$(TARGET_PACKAGING_ARCH)) = 0
&& [ on $(lib) return $(NO_HIDDEN_VISIBILITY) ] != 1 {
CCFLAGS on $(objects) += -fvisibility=hidden ;
C++FLAGS on $(objects) += -fvisibility=hidden ;
}
StaticLibraryFromObjects $(lib) : $(objects) $(otherObjects) ;
Objects $(2) ;
}
@ -252,15 +258,17 @@ actions Ld
$(LINK) $(LINKFLAGS) -o "$(1)" "$(2)" "$(NEEDLIBS)" $(LINKLIBS)
}
rule CreateAsmStructOffsetsHeader header : source
rule CreateAsmStructOffsetsHeader header : source : architecture
{
# CreateAsmStructOffsetsHeader header : source
# CreateAsmStructOffsetsHeader header : source : architecture
#
# Grist will be added to both header and source.
header = [ FGristFiles $(header) ] ;
source = [ FGristFiles $(source) ] ;
TARGET_PACKAGING_ARCH on $(header) = $(architecture) ;
# find out which headers, defines, etc. to use
local headers ;
local sysHeaders ;
@ -361,7 +369,8 @@ rule CreateAsmStructOffsetsHeader header : source
Depends $(header) : $(source) $(PLATFORM) ;
SEARCH on $(source) += $(SEARCH_SOURCE) ;
MakeLocateArch $(header) ;
MakeLocate $(header) : [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR_$(architecture))
system kernel ] ;
LocalClean clean : $(header) ;
HDRRULE on $(source) = HdrRule ;
@ -508,6 +517,9 @@ rule LinkAgainst
local libs = $(2) ;
local mapLibs = $(3:E=true) ;
local linkLibs ;
local needLibs ;
on $(target) {
local i ;
@ -525,11 +537,7 @@ rule LinkAgainst
libs = $(mappedLibs) ;
}
local linkLibs ;
local needLibs ;
for i in $(libs)
{
for i in $(libs) {
local isfile = ;
if $(i:D) || $(i:G) {
isfile = true ;
@ -556,7 +564,18 @@ rule LinkAgainst
linkLibs += $(i) ;
}
}
}
# Copy in the library dependencies from any static libraries first.
# (We have to do the [ on ... ] outside the on { } block. )
for i in $(needLibs) {
if $(i:S) = .a {
needLibs += [ on $(i) return $(NEEDLIBS) ] ;
linkLibs += [ on $(i) return $(LINKLIBS) ] ;
}
}
on $(target) {
NEEDLIBS on $(1) = $(NEEDLIBS) $(needLibs) ;
LINKLIBS on $(1) = $(LINKLIBS) -l$(linkLibs) ;

View File

@ -76,7 +76,7 @@ if [ IsOptionalHaikuImagePackageAdded Development ] {
local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup ] {
on $(architectureObject) {
AddHaikuImageDisabledPackages curl_devel openssl_devel nghttp2_devel
AddHaikuImageDisabledPackages openssl_devel
libjpeg_turbo_devel libpng16_devel zlib_devel ;
}
}
@ -89,13 +89,15 @@ if [ IsOptionalHaikuImagePackageAdded DevelopmentBase ] {
local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup ] {
on $(architectureObject) {
AddHaikuImageDisabledPackages binutils gcc mpc gmp mpfr ;
AddHaikuImageSourcePackages binutils gcc mpc gmp mpfr ;
AddHaikuImageDisabledPackages binutils gcc !gcc2 @{ mpc mpfr }@ ;
AddHaikuImageSystemPackages gmp@!gcc2 ;
AddHaikuImageSourcePackages binutils gcc !gcc2 @{ gmp mpc mpfr }@ ;
}
}
# other commonly used tools
AddHaikuImageDisabledPackages bison cdrtools flex jam m4 make mkdepend nasm patch ;
AddHaikuImageDisabledPackages bison cdrtools flex jam m4 make mawk mkdepend
nasm@!gcc2 nasm_x86@secondary_x86 patch ;
AddHaikuImageSourcePackages bison cdrtools m4 make patch ;
}

View File

@ -6,12 +6,13 @@ rule Link
{
# Note: RESFILES must be set before invocation.
local architecture = [ on $(1) return $(TARGET_PACKAGING_ARCH) ] ;
if [ on $(1) return $(PLATFORM) ] = host {
LINK on $(1) = $(HOST_LINK) ;
LINKFLAGS on $(1) = $(HOST_LINKFLAGS) [ on $(1) return $(LINKFLAGS) ] ;
} else {
LINK on $(1) = $(TARGET_LINK_$(TARGET_PACKAGING_ARCH)) ;
LINKFLAGS on $(1) = $(TARGET_LINKFLAGS_$(TARGET_PACKAGING_ARCH))
LINK on $(1) = $(TARGET_LINK_$(architecture)) ;
LINKFLAGS on $(1) = $(TARGET_LINKFLAGS_$(architecture))
[ on $(1) return $(LINKFLAGS) ] ;
}
@ -172,38 +173,41 @@ rule Object
rule As
{
local flags ;
local includesSeparator ;
local localIncludesOption ;
local systemIncludesOption ;
if [ on $(1) return $(PLATFORM) ] = host {
flags = [ on $(1) return $(HOST_ASFLAGS) $(ASFLAGS) ] ;
CC on $(1) = $(HOST_CC) ;
includesSeparator = $(HOST_INCLUDES_SEPARATOR) ;
localIncludesOption = $(HOST_LOCAL_INCLUDES_OPTION) ;
systemIncludesOption = $(HOST_SYSTEM_INCLUDES_OPTION) ;
} else {
flags = [ on $(1) return $(TARGET_ASFLAGS_$(TARGET_PACKAGING_ARCH))
$(ASFLAGS) ] ;
CC on $(1) = $(TARGET_CC_$(TARGET_PACKAGING_ARCH)) ;
includesSeparator
= $(TARGET_INCLUDES_SEPARATOR_$(TARGET_PACKAGING_ARCH)) ;
localIncludesOption
= $(TARGET_LOCAL_INCLUDES_OPTION_$(TARGET_PACKAGING_ARCH)) ;
systemIncludesOption
= $(TARGET_SYSTEM_INCLUDES_OPTION_$(TARGET_PACKAGING_ARCH)) ;
}
Depends $(<) : $(>) [ on $(1) return $(PLATFORM) ] ;
ASFLAGS on $(<) += $(flags) $(SUBDIRASFLAGS) ;
ASHDRS on $(<) = [ on $(<) FIncludes $(HDRS) : $(localIncludesOption) ]
$(includesSeparator)
[ on $(<) FSysIncludes $(SYSHDRS) : $(systemIncludesOption) ] ;
ASDEFS on $(<) = [ on $(<) FDefines $(DEFINES) ] ;
on $(1) {
local flags ;
local includesSeparator ;
local localIncludesOption ;
local systemIncludesOption ;
if $(PLATFORM) = host {
flags = $(HOST_ASFLAGS) $(ASFLAGS) ;
CC on $(1) = $(HOST_CC) ;
includesSeparator = $(HOST_INCLUDES_SEPARATOR) ;
localIncludesOption = $(HOST_LOCAL_INCLUDES_OPTION) ;
systemIncludesOption = $(HOST_SYSTEM_INCLUDES_OPTION) ;
} else {
flags = $(TARGET_ASFLAGS_$(TARGET_PACKAGING_ARCH)) $(ASFLAGS) ;
CC on $(1) = $(TARGET_CC_$(TARGET_PACKAGING_ARCH)) ;
includesSeparator
= $(TARGET_INCLUDES_SEPARATOR_$(TARGET_PACKAGING_ARCH)) ;
localIncludesOption
= $(TARGET_LOCAL_INCLUDES_OPTION_$(TARGET_PACKAGING_ARCH)) ;
systemIncludesOption
= $(TARGET_SYSTEM_INCLUDES_OPTION_$(TARGET_PACKAGING_ARCH)) ;
}
ASFLAGS on $(<) += $(flags) $(SUBDIRASFLAGS) ;
ASHDRS on $(<) = [ on $(<) FIncludes $(HDRS) : $(localIncludesOption) ]
$(includesSeparator)
[ on $(<) FSysIncludes $(SYSHDRS) : $(systemIncludesOption) ] ;
ASDEFS on $(<) = [ on $(<) FDefines $(DEFINES) ] ;
}
}
actions As

View File

@ -99,6 +99,7 @@ rule PreprocessPackageOrRepositoryInfo target : source : architecture
# placeholder substitutions have been performed.
local defines = HAIKU_PACKAGING_ARCH=$(architecture)
HAIKU_PACKAGING_ARCH_$(architecture)
HAIKU_$(HAIKU_BUILD_TYPE:U)_BUILD ;
local sedReplacements = %HAIKU_PACKAGING_ARCH%,$(architecture) ;
if $(secondaryArchitecture) {
@ -114,7 +115,7 @@ rule PreprocessPackageOrRepositoryInfo target : source : architecture
}
for feature in $(HAIKU_BUILD_FEATURES) {
local featureSplit = [ FSplitString $(feature) : ":" ] ;
defines += HAIKU_BUILD_FEATURE_$(featureSplit:UJ=_)_ENABLED ;
defines += HAIKU_BUILD_FEATURE_$(featureSplit:J=_)_ENABLED ;
}
local revisionFile = [ DetermineHaikuRevision ] ;

View File

@ -103,7 +103,7 @@ rule TargetKernelLibsupc++ asPath
flags += path ;
}
return [
BuildFeatureAttribute gcc_syslibs_devel
BuildFeatureAttribute QUALIFIED $(TARGET_KERNEL_ARCH):gcc_syslibs_devel
: libsupc++-kernel.a : $(flags)
] ;
} else {
@ -134,6 +134,12 @@ rule TargetBootLibsupc++ asPath
if $(asPath) = true {
flags += path ;
}
if $(TARGET_PACKAGING_ARCH) = arm {
return [
BuildFeatureAttribute gcc_syslibs_devel
: libsupc++-boot.a : $(flags)
] ;
}
return [
BuildFeatureAttribute gcc_syslibs_devel
: libsupc++-kernel.a : $(flags)
@ -215,7 +221,7 @@ rule TargetKernelLibgcc asPath
flags += path ;
}
return [
BuildFeatureAttribute gcc_syslibs_devel
BuildFeatureAttribute QUALIFIED $(TARGET_KERNEL_ARCH):gcc_syslibs_devel
: libgcc-kernel.a : $(flags)
] ;
} else {
@ -224,15 +230,15 @@ rule TargetKernelLibgcc asPath
}
rule TargetBootLibgcc asPath
rule TargetBootLibgcc architecture : asPath
{
# TargetBootLibgcc [ <asPath> ]
# TargetBootLibgcc [ architecture ] : [ <asPath> ]
#
# Returns the static bootloader libgcc for the target.
# Invoking with <asPath> = true will return the full library path.
if $(TARGET_PLATFORM) = haiku {
if $(TARGET_PACKAGING_ARCH) = x86_64 {
if $(architecture) = x86_64 {
# we need to use the 32-bit libgcc.a built by the cross-compiler
return $(TARGET_BOOT_LIBGCC) ;
@ -246,8 +252,14 @@ rule TargetBootLibgcc asPath
if $(asPath) = true {
flags += path ;
}
if $(architecture) = arm {
return [
BuildFeatureAttribute QUALIFIED $(architecture):gcc_syslibs_devel
: libgcc-boot.a : $(flags)
] ;
}
return [
BuildFeatureAttribute gcc_syslibs_devel
BuildFeatureAttribute QUALIFIED $(architecture):gcc_syslibs_devel
: libgcc-kernel.a : $(flags)
] ;
} else {
@ -292,7 +304,7 @@ rule TargetKernelLibgcceh asPath
flags += path ;
}
return [
BuildFeatureAttribute gcc_syslibs_devel
BuildFeatureAttribute QUALIFIED $(TARGET_KERNEL_ARCH):gcc_syslibs_devel
: libgcc_eh-kernel.a : $(flags)
] ;
} else {

View File

@ -212,7 +212,7 @@ switch $(HAIKU_BUILD_PROFILE) {
case "disk" : {
AddOptionalHaikuImagePackages BeBook BeHappy Bluetooth Development
OpenSSH OpenSSL Welcome ;
AddHaikuImageSystemPackages bepdf cvs p7zip pe subversion vision wonderbrush ;
AddHaikuImageSystemPackages bepdf git p7zip pe vision wonderbrush ;
}
case "qemu" : {

View File

@ -13,7 +13,7 @@ NotFile $(HAIKU_CD_BOOT_IMAGE_CONTAINER_NAME) ;
# common extra files to put on the boot iso
local extras = README.html ;
SEARCH on $(extras) = [ FDirName $(HAIKU_TOP) data boot_cd ] ;
SEARCH on $(extras) = [ FDirName $(HAIKU_TOP) data boot extras ] ;
if $(TARGET_ARCH) = ppc {
local elfloader = boot_loader_openfirmware ;
@ -25,9 +25,6 @@ if $(TARGET_ARCH) = ppc {
# HFS creator and application type mapping for mkisofs
local hfsmaps = hfs.map ;
SEARCH on $(chrpscript) $(hfsmaps) $(extras)
= [ FDirName $(HAIKU_TOP) data boot_cd ] ;
BuildCDBootPPCImage $(HAIKU_CD_BOOT_IMAGE) : $(hfsmaps)
: $(elfloader) : $(coffloader) : $(chrpscript) : $(extras) ;
} else {

View File

@ -17,6 +17,7 @@ include [ FDirName $(HAIKU_BUILD_RULES_DIR) HaikuPackages ] ;
AddPackageFilesToHaikuImage system packages :
haiku_loader.hpkg
haiku.hpkg
haiku_datatranslators.hpkg
haiku_$(TARGET_PACKAGING_ARCHS[2-]).hpkg
:
nameFromMetaInfo

View File

@ -22,6 +22,8 @@ rule BuildSDImage image : files
if $(TARGET_BOOT_PLATFORM) = efi {
switch $(TARGET_ARCH) {
case x86 :
EFINAME on $(image) = "BOOTIA32.EFI" ;
case x86_64 :
EFINAME on $(image) = "BOOTX64.EFI" ;
case arm :
@ -36,8 +38,13 @@ rule BuildSDImage image : files
Exit "Error: Unknown EFI architecture!" ;
}
BuildEfiSDImage1 $(image) : $(mbrtool) $(fatshell) $(files) ;
} else {
} else if $(TARGET_BOOT_PLATFORM) = u-boot {
BuildUBootSDImage1 $(image) : $(mbrtool) $(fatshell) $(files) ;
} else {
# TODO: For now we do nothing. Maybe we want a "AddSDImage" to
# append additional loaders like the raw riscv one?
echo "Asked for $(TARGET_BOOT_PLATFORM) target boot platform" ;
echo "Unknown path to handle adding to image" ;
}
}
@ -167,7 +174,7 @@ for platform in [ MultiBootSubDirSetup ] {
on $(platform) {
# SD/mmc image targets
if $(TARGET_BOOT_PLATFORM) = efi {
if $(TARGET_ARCH) = arm || $(TARGET_ARCH) = arm64 || $(TARGET_ARCH) = riscv64 {
if $(TARGET_ARCH) = arm || $(TARGET_ARCH) = riscv64 {
# These EFI platforms need u-boot to get them going
BuildSDImage $(HAIKU_MMC_NAME) : $(HAIKU_IMAGE)
haiku_loader.$(TARGET_BOOT_PLATFORM)
@ -176,9 +183,12 @@ for platform in [ MultiBootSubDirSetup ] {
BuildSDImage $(HAIKU_MMC_NAME) : $(HAIKU_IMAGE)
haiku_loader.$(TARGET_BOOT_PLATFORM) ;
}
} else {
} else if $(TARGET_BOOT_PLATFORM) = u-boot {
BuildSDImage $(HAIKU_MMC_NAME) :
$(HAIKU_IMAGE) haiku_loader.$(TARGET_BOOT_PLATFORM) haiku-floppyboot.tgz.$(TARGET_BOOT_PLATFORM) boot.scr ;
} else {
BuildSDImage $(HAIKU_MMC_NAME) :
$(HAIKU_IMAGE) haiku_loader.$(TARGET_BOOT_PLATFORM) boot.scr ;
}
}
}

View File

@ -8,12 +8,12 @@ SYSTEM_NETWORK_PROTOCOLS = ipv4 tcp udp icmp unix ;
SYSTEM_ADD_ONS_DRIVERS_NET = [ FFilterByBuildFeatures
x86 @{
3com atheros813x
3com atheros813x atheros81xx
broadcom440x broadcom570x ipro1000
rtl8139 rtl81xx
via_rhine ipro100 nforce
marvell_yukon sis900 syskonnect
attansic_l2 ar81xx
attansic_l2
}@ # x86
etherpci pegasus usb_ecm wb840

View File

@ -3,7 +3,7 @@
# create directories that may remain empty
AddDirectoryToHaikuImage home : home.rdef ;
AddDirectoryToHaikuImage home Desktop ;
AddDirectoryToHaikuImage home Desktop : home-desktop.rdef ;
AddDirectoryToHaikuImage home mail ;
AddDirectoryToHaikuImage home config : home-config.rdef ;
AddDirectoryToHaikuImage home config cache ;
@ -13,7 +13,9 @@ AddDirectoryToHaikuImage home config var ;
AddDirectoryToHaikuImage home config non-packaged bin ;
AddDirectoryToHaikuImage home config non-packaged data fonts ;
AddDirectoryToHaikuImage home config non-packaged lib ;
AddDirectoryToHaikuImage home config non-packaged add-ons control_look ;
AddDirectoryToHaikuImage home config non-packaged add-ons decorators ;
AddDirectoryToHaikuImage home config non-packaged add-ons opengl ;
AddDirectoryToHaikuImage home config non-packaged add-ons kernel drivers bin ;
AddDirectoryToHaikuImage home config non-packaged add-ons kernel drivers dev ;
AddDirectoryToHaikuImage home config non-packaged add-ons input_server devices ;
@ -29,7 +31,9 @@ AddDirectoryToHaikuImage system cache tmp ;
AddDirectoryToHaikuImage system non-packaged bin ;
AddDirectoryToHaikuImage system non-packaged data fonts ;
AddDirectoryToHaikuImage system non-packaged lib ;
AddDirectoryToHaikuImage system non-packaged add-ons control_look ;
AddDirectoryToHaikuImage system non-packaged add-ons decorators ;
AddDirectoryToHaikuImage system non-packaged add-ons opengl ;
AddDirectoryToHaikuImage system non-packaged add-ons kernel drivers bin ;
AddDirectoryToHaikuImage system non-packaged add-ons kernel drivers dev ;
AddDirectoryToHaikuImage system non-packaged add-ons input_server devices ;
@ -42,6 +46,7 @@ AddDirectoryToHaikuImage system non-packaged add-ons Screen\ Savers ;
AddDirectoryToHaikuImage system non-packaged add-ons Translators ;
AddDirectoryToHaikuImage system var empty ;
AddDirectoryToHaikuImage system var log ;
AddDirectoryToHaikuImage trash : trash.rdef ;
#pragma mark - Optional Packages

View File

@ -143,9 +143,15 @@ SYSTEM_NETWORK_PROTOCOLS =
;
SYSTEM_ADD_ONS_ACCELERANTS = [ FFilterByBuildFeatures
framebuffer.accelerant
x86,x86_64 @{
vesa.accelerant
}@ # x86,x86_64
riscv64 @{
# ati for qemu, radeon_hd for unmatched
ati.accelerant
radeon_hd.accelerant
}@ # riscv64
] ;
SYSTEM_ADD_ONS_TRANSLATORS =
@ -171,9 +177,15 @@ SYSTEM_ADD_ONS_DRIVERS_AUDIO = ;
SYSTEM_ADD_ONS_DRIVERS_AUDIO_OLD = ;
SYSTEM_ADD_ONS_DRIVERS_GRAPHICS = [ FFilterByBuildFeatures
framebuffer
x86,x86_64 @{
vesa
}@ # x86,x86_64
riscv64 @{
# ati for qemu, radeon_hd for unmatched
ati
radeon_hd
}@ # riscv64
] ;
SYSTEM_ADD_ONS_DRIVERS_MIDI = ;
@ -181,7 +193,7 @@ SYSTEM_ADD_ONS_DRIVERS_MIDI = ;
SYSTEM_ADD_ONS_DRIVERS_NET = [ FFilterByBuildFeatures
x86,x86_64 @{
3com
atheros813x ar81xx attansic_l1 attansic_l2
atheros813x atheros81xx attansic_l1 attansic_l2
broadcom440x broadcom570x
dec21xxx
emulex_oce
@ -213,11 +225,11 @@ SYSTEM_ADD_ONS_DRIVERS_SENSOR = [ FFilterByBuildFeatures
SYSTEM_ADD_ONS_BUS_MANAGERS = [ FFilterByBuildFeatures
acpi@x86,x86_64 agp_gart@x86,x86_64 ata
config_manager
firewire@x86
i2c@x86,x86_64 isa@x86,x86_64
mmc
scsi
pci ps2@x86,x86_64
fdt@riscv64,arm
random
usb
virtio
@ -256,7 +268,6 @@ local etcDir = [ FDirName $(HAIKU_TOP) data etc ] ;
local etcFiles = inputrc profile ;
etcFiles = $(etcFiles:G=etc) ;
SEARCH on $(etcFiles) = $(etcDir) ;
etcFiles += <etc>termcap ;
AddFilesToHaikuImage system settings etc : $(etcFiles) ;
local profileFiles = [ Glob $(etcDir)/profile.d : *.sh ] ;
@ -277,11 +288,6 @@ SEARCH on $(networkSettingsFiles)
= [ FDirName $(HAIKU_TOP) data settings network ] ;
AddFilesToHaikuImage system settings network : $(networkSettingsFiles) ;
# fresh install indicator file for the post install scripts
SEARCH on <post-install>fresh_install
= [ FDirName $(HAIKU_TOP) data system settings ] ;
AddFilesToHaikuImage system settings : <post-install>fresh_install ;
# repository config and cache files
local repository ;
for repository in $(HAIKU_REPOSITORIES) {

View File

@ -7,7 +7,7 @@ SYSTEM_BIN += [ FFilterByBuildFeatures
cddb_lookup
clipboard CortexAddOnHost
dpms
FirstBootPrompt fwcontrol@x86
FirstBootPrompt
<bin>i2c@x86,x86_64 installsound
mail mail2mbox mbox2mail media_client mkdos mount_nfs
play recover screenshot setcontrollook setdecor spamdbm
@ -110,6 +110,7 @@ SYSTEM_ADD_ONS_DRIVERS_BT_H2 +=
;
SYSTEM_ADD_ONS_ACCELERANTS += [ FFilterByBuildFeatures
ati.accelerant
x86,x86_64 @{
intel_810.accelerant intel_extreme.accelerant
matrox.accelerant
@ -118,11 +119,12 @@ SYSTEM_ADD_ONS_ACCELERANTS += [ FFilterByBuildFeatures
via.accelerant
}@ # x86,x86_64
x86 @{
3dfx.accelerant ati.accelerant neomagic.accelerant s3.accelerant
3dfx.accelerant neomagic.accelerant s3.accelerant
}@ # x86
] ;
SYSTEM_ADD_ONS_TRANSLATORS += [ FFilterByBuildFeatures
AVIFTranslator@libavif
BMPTranslator
EXRTranslator@openexr
GIFTranslator
@ -141,7 +143,6 @@ SYSTEM_ADD_ONS_MEDIA += [ FFilterByBuildFeatures
cortex_logging_consumer.media_addon
dvb.media_addon@x86
equalizer.media_addon
firewire_dv.media_addon@x86
hmulti_audio.media_addon
#legacy.media_addon
mixer.media_addon
@ -205,6 +206,7 @@ SYSTEM_ADD_ONS_DRIVERS_AUDIO_OLD +=
;
SYSTEM_ADD_ONS_DRIVERS_GRAPHICS += [ FFilterByBuildFeatures
ati
x86,x86_64 @{
intel_810 intel_extreme
matrox
@ -214,7 +216,6 @@ SYSTEM_ADD_ONS_DRIVERS_GRAPHICS += [ FFilterByBuildFeatures
}@ # x86,x86_64
x86 @{
3dfx
ati
neomagic
s3
}@ # x86
@ -235,7 +236,6 @@ SYSTEM_ADD_ONS_DRIVERS_NET += [ FFilterByBuildFeatures
idualwifi7260
marvell88w8363 marvell88w8335
ralinkwifi realtekwifi
wavelanwifi
}@ # x86,x86_64
] ;
@ -250,9 +250,13 @@ SYSTEM_ADD_ONS_FILE_SYSTEMS +=
;
# Mailbox folders and symlink
AddDirectoryToHaikuImage home mail draft ;
AddDirectoryToHaikuImage home mail in ;
AddDirectoryToHaikuImage home mail out ;
AddDirectoryToHaikuImage home mail : home-mail.rdef ;
AddDirectoryToHaikuImage home mail draft : home-mail-draft.rdef ;
AddDirectoryToHaikuImage home mail in : home-mail-in.rdef ;
AddDirectoryToHaikuImage home mail out : home-mail-out.rdef ;
AddDirectoryToHaikuImage home mail queries : home-mail-queries.rdef ;
AddDirectoryToHaikuImage home mail sent : home-mail-sent.rdef ;
AddDirectoryToHaikuImage home mail spam : home-mail-spam.rdef ;
# Add boot launch directory
AddDirectoryToHaikuImage home config settings boot launch ;
@ -262,6 +266,8 @@ AddFilesToHaikuImage home config settings Mail ProviderInfo :
$(HAIKU_PROVIDER_INFOS) ;
# Add Tracker New Templates
AddDirectoryToHaikuImage home config settings Tracker "Tracker New Templates"
: tracker-new-templates.rdef ;
AddFilesToHaikuImage home config settings Tracker "Tracker New Templates"
:
"<tracker-new-templates>C++ header"
@ -278,4 +284,4 @@ AddDirectoryToHaikuImage home config settings printers "Save as PDF"
: home-config-settings-printers-save-as-pdf.rdef ;
# padblocker
AddDirectoryToHaikuImage home config settings touchpad ;
AddDirectoryToHaikuImage home config settings touchpad ;

View File

@ -25,6 +25,11 @@ for driver in $(SYSTEM_ADD_ONS_DRIVERS_NET) {
}
}
# bootloaders
local bootTarget ;
for bootTarget in $(HAIKU_BOOT_TARGETS) {
AddFilesToPackage data platform_loaders : haiku_loader.$(bootTarget) ;
}
# modules
AddFilesToPackage add-ons kernel bus_managers : $(SYSTEM_ADD_ONS_BUS_MANAGERS) ;
@ -39,7 +44,8 @@ AddFilesToPackage add-ons kernel busses random : virtio_rng ;
AddFilesToPackage add-ons kernel busses scsi : ahci virtio_scsi ;
AddFilesToPackage add-ons kernel busses usb : <usb>uhci <usb>ohci <usb>ehci
<usb>xhci ;
AddFilesToPackage add-ons kernel busses virtio : virtio_pci ;
AddFilesToPackage add-ons kernel busses virtio : virtio_mmio@riscv64,arm,arm64
virtio_pci ;
AddFilesToPackage add-ons kernel console : vga_text ;
AddFilesToPackage add-ons kernel debugger
: <kdebug>demangle <kdebug>disasm@x86,x86_64 <kdebug>hangman
@ -61,13 +67,14 @@ if $(TARGET_ARCH) = x86 || $(TARGET_ARCH) = x86_64 {
# drivers
AddNewDriversToPackage : wmi@x86,x86_64 ;
AddNewDriversToPackage disk : nvme_disk@x86,x86_64 ;
AddNewDriversToPackage disk : nvme_disk ;
AddNewDriversToPackage disk mmc : mmc_disk ;
AddNewDriversToPackage disk scsi : scsi_cd scsi_disk ;
AddNewDriversToPackage disk virtual : virtio_block ram_disk ;
AddNewDriversToPackage power : $(SYSTEM_ADD_ONS_DRIVERS_POWER) ;
AddNewDriversToPackage sensor : $(SYSTEM_ADD_ONS_DRIVERS_SENSOR) ;
AddNewDriversToPackage network : virtio_net ;
AddNewDriversToPackage input : virtio_input ;
#AddNewDriversToPackage display : display_adapter@x86 ;
# legacy drivers
@ -76,7 +83,7 @@ AddDriversToPackage audio hmulti : $(SYSTEM_ADD_ONS_DRIVERS_AUDIO) ;
AddDriversToPackage audio old : $(SYSTEM_ADD_ONS_DRIVERS_AUDIO_OLD) ;
AddDriversToPackage bluetooth h2 : $(SYSTEM_ADD_ONS_DRIVERS_BT_H2) ;
AddDriversToPackage midi : $(SYSTEM_ADD_ONS_DRIVERS_MIDI) ;
AddDriversToPackage bus : usb_raw fw_raw@x86 ;
AddDriversToPackage bus : usb_raw ;
AddDriversToPackage disk floppy : pc_floppy@x86 ;
AddDriversToPackage disk usb : usb_disk ;
AddDriversToPackage disk virtual : nbd ;
@ -106,6 +113,10 @@ if $(HAIKU_CC_IS_LEGACY_GCC_$(architecture)) = 1 {
}
# trusted keys
SEARCH on haiku-2019.pub = [ FDirName $(HAIKU_TOP) data trust_db ] ;
AddFilesToPackage data trust_db : haiku-2019.pub ;
# servers
AddFilesToPackage servers : $(SYSTEM_SERVERS) ;
@ -135,13 +146,7 @@ local userLaunchScripts = <data!launch>user ;
SEARCH on $(userLaunchScripts) = [ FDirName $(HAIKU_TOP) data launch ] ;
AddFilesToPackage data user_launch : $(userLaunchScripts) ;
# post install + first login scripts
local postInstallFiles = add_catalog_entry_attributes.sh ;
postInstallFiles = $(postInstallFiles:G=post-install) ;
SEARCH on $(postInstallFiles)
= [ FDirName $(HAIKU_TOP) data system boot post_install ] ;
AddFilesToPackage boot post-install : $(postInstallFiles) ;
# first login scripts
local firstLoginFiles = default_deskbar_items.sh ;
firstLoginFiles = $(firstLoginFiles:G=first-login) ;
SEARCH on $(firstLoginFiles)
@ -197,18 +202,18 @@ AddBootModuleSymlinksToPackage
ide_isa@x86 isa@x86,x86_64 intel it8211
legacy_sata locked_pool
mmc mmc_disk
nvme_disk@x86,x86_64
nvme_disk
openpic@ppc
packagefs pci
fdt@riscv64,arm
scsi scsi_cd scsi_disk scsi_periph silicon_image_3112 highpoint_ide_pci
sdhci_pci
usb usb_disk <usb>ehci <usb>ohci <usb>uhci <usb>xhci
virtio virtio_block virtio_pci virtio_scsi
virtio virtio_block virtio_mmio@riscv64,arm,arm64 virtio_pci virtio_scsi
;
# add-ons
AddFilesToPackage add-ons accelerants : $(SYSTEM_ADD_ONS_ACCELERANTS) ;
AddFilesToPackage add-ons Translators : $(SYSTEM_ADD_ONS_TRANSLATORS) ;
AddFilesToPackage add-ons locale catalogs : $(SYSTEM_ADD_ONS_LOCALE_CATALOGS) ;
AddFilesToPackage add-ons mail_daemon inbound_protocols : POP3
@ -219,7 +224,6 @@ AddFilesToPackage add-ons mail_daemon inbound_filters
AddFilesToPackage add-ons mail_daemon outbound_filters : Fortune ;
AddFilesToPackage add-ons media : $(SYSTEM_ADD_ONS_MEDIA) ;
AddFilesToPackage add-ons media plugins : $(SYSTEM_ADD_ONS_MEDIA_PLUGINS) ;
AddFilesToPackage add-ons Network\ Settings
: IPv4Interface IPv6Interface DNSClientService Hostname FTPService SSHService
@ -236,7 +240,7 @@ AddSymlinkToPackage add-ons Tracker
: /boot/system/apps/DiskUsage : DiskUsage ;
AddFilesToPackage add-ons input_server devices
: <input>keyboard <input>mouse <input>tablet <input>wacom ;
: <input>keyboard <input>mouse <input>tablet <input>virtio <input>wacom ;
AddFilesToPackage add-ons input_server filters
: padblocker screen_saver shortcut_catcher switch_workspace ;
AddDirectoryToPackage add-ons input_server methods ;
@ -262,10 +266,6 @@ AddFilesToPackage add-ons disk_systems
# Kernel bluetooth stack
AddFilesToPackage add-ons kernel bluetooth : $(SYSTEM_BT_STACK) ;
# decorators
AddFilesToPackage add-ons decorators : BeDecorator ;
# MacDecorator WinDecorator
# the MIME DB
CopyDirectoryToPackage data : <mimedb>mime_db : : : isTarget ;
@ -275,21 +275,27 @@ AddDirectoryToPackage preferences : system-preferences.rdef ;
# Deskbar menu symlinks
# "Applications" links
local linkTarget ;
# "Applications" links
AddDirectoryToPackage data deskbar menu Applications
: deskbar-applications.rdef ;
for linkTarget in $(DESKBAR_APPLICATIONS) {
AddSymlinkToPackage data deskbar menu Applications
: ../../../../apps/$(linkTarget) : $(linkTarget) ;
}
# "Desktop applets" links
AddDirectoryToPackage data deskbar menu Desktop\ applets
: deskbar-applets.rdef ;
for linkTarget in $(DESKBAR_DESKTOP_APPLETS) {
AddSymlinkToPackage data deskbar menu Desktop\ applets
: ../../../../apps/$(linkTarget) : $(linkTarget) ;
}
# "Preferences" links
AddDirectoryToPackage data deskbar menu Preferences ;
AddDirectoryToPackage data deskbar menu Preferences
: deskbar-preferences.rdef ;
DESKBAR_PREFERENCES = $(SYSTEM_PREFERENCES:B) ;
for linkTarget in $(DESKBAR_PREFERENCES) {
AddSymlinkToPackage data deskbar menu Preferences
@ -298,7 +304,8 @@ for linkTarget in $(DESKBAR_PREFERENCES) {
}
# "Demo" links
AddDirectoryToPackage data deskbar menu Demos ;
AddDirectoryToPackage data deskbar menu Demos
: deskbar-demos.rdef ;
for linkTarget in $(SYSTEM_DEMOS) {
AddSymlinkToPackage data deskbar menu Demos
: ../../../../demos/$(linkTarget) : $(linkTarget) ;

View File

@ -68,7 +68,7 @@ AddDriversToPackage : console dprintf null random <driver>tty
AddDriversToPackage audio hmulti : $(SYSTEM_ADD_ONS_DRIVERS_AUDIO) ;
AddDriversToPackage audio old : $(SYSTEM_ADD_ONS_DRIVERS_AUDIO_OLD) ;
AddDriversToPackage midi : $(SYSTEM_ADD_ONS_DRIVERS_MIDI) ;
AddDriversToPackage bus : usb_raw fw_raw@x86 ;
AddDriversToPackage bus : usb_raw ;
AddDriversToPackage disk floppy : pc_floppy@x86 ;
AddDriversToPackage disk usb : usb_disk ;
AddDriversToPackage disk virtual : nbd ;

View File

@ -0,0 +1,9 @@
local architecture = $(HAIKU_PACKAGING_ARCHS[1]) ;
local dataTranslatorsPackage = haiku_datatranslators.hpkg ;
HaikuPackage $(dataTranslatorsPackage) ;
AddFilesToPackage add-ons Translators : $(SYSTEM_ADD_ONS_TRANSLATORS) ;
AddFilesToPackage add-ons media plugins : $(SYSTEM_ADD_ONS_MEDIA_PLUGINS) ;
BuildHaikuPackage $(dataTranslatorsPackage) : haiku_datatranslators ;

View File

@ -28,12 +28,12 @@ AddFilesToPackage lib : $(developmentLibs) ;
# library symlinks
local lib ;
for lib in [ HaikuImageGetSystemLibs ] $(developmentLibs) {
AddSymlinkToPackage develop lib : /system/lib $(lib:BS) ;
AddSymlinkToPackage develop lib : ../../lib $(lib:BS) ;
local abiVersion = [ on $(lib) return $(HAIKU_LIB_ABI_VERSION) ] ;
if $(abiVersion) {
local abiVersionedLib = $(lib:BS).$(abiVersion) ;
AddSymlinkToPackage develop lib
: /system/lib $(abiVersionedLib) ;
: ../../lib $(abiVersionedLib) ;
}
}

View File

@ -23,12 +23,12 @@ AddFilesToPackage lib $(architecture) : $(developmentLibs) ;
local lib ;
for lib in [ HaikuImageGetSystemLibs ] $(developmentLibs) {
AddSymlinkToPackage develop lib $(architecture)
: /system/lib/$(architecture) $(lib:BS) ;
: ../../../lib/$(architecture) $(lib:BS) ;
local abiVersion = [ on $(lib) return $(HAIKU_LIB_ABI_VERSION) ] ;
if $(abiVersion) {
local abiVersionedLib = $(lib:BS).$(abiVersion) ;
AddSymlinkToPackage develop lib $(architecture)
: /system/lib/$(architecture) $(abiVersionedLib) ;
: ../../../lib/$(architecture) $(abiVersionedLib) ;
}
}

View File

@ -3,11 +3,22 @@ local architecture = $(HAIKU_PACKAGING_ARCHS[1]) ;
local extrasPackage = haiku_extras.hpkg ;
HaikuPackage $(extrasPackage) ;
## Driver Oddities
# kernel modules
AddFilesToPackage add-ons kernel partitioning_systems
: amiga_rdb@!m68k apple@!ppc sun@!sparc ;
AddFilesToPackage add-ons control_look : BeControlLook ;
## Visual Oddities
# MacDecorator WinDecorator need improved stack and tile support
# Control Looks
AddFilesToPackage add-ons control_look : BeControlLook FlatControlLook ;
# Decorators
AddFilesToPackage add-ons decorators : BeDecorator FlatDecorator ;
BuildHaikuPackage $(extrasPackage) : haiku_extras ;

View File

@ -10,6 +10,7 @@ SEARCH on $(repoInfo) = $(HAIKU_TOP)/src/data/repository_infos ;
local secondaryArchs = $(TARGET_PACKAGING_ARCHS[2-]) ;
local packages = [ FFilterByBuildFeatures
haiku
haiku_datatranslators
haiku_devel
haiku_loader

View File

@ -0,0 +1,125 @@
RemotePackageRepository HaikuPorts
: arm64
: https://eu.hpkg.haiku-os.org/haikuports/master/build-packages
:
# architecture "any" packages
# be_book-2008_10_26-3
ca_root_certificates-2021_07_05-1
haikuporter-1.2.5-1
noto-20200106-1
timgmsoundfont-fixed-5
wqy_microhei-0.2.0~beta-4
:
# repository architecture packages
# primary architecture (arm64)
bash-4.4.023-1
binutils-2.36.1_2021_09_21-1
bison-3.0.5-1
coreutils-8.22-1
curl-7.40.0-1
curl_devel-7.40.0-1
expat-2.4.1-1
expat_devel-2.4.1-1
findutils-4.6.0-1
flex-2.5.35-1
freetype-2.6.3-1
freetype_devel-2.6.3-1
gawk-3.1.8-2
gcc-8.3.0_2021_09_21-1
gcc_syslibs_devel-8.3.0_2021_09_21-1
gcc_syslibs-8.3.0_2021_09_21-1
icu-67.1-1
icu_devel-67.1-1
less-451-1
libsolv-0.3.0_haiku_2014_12_22-1
libsolv_devel-0.3.0_haiku_2014_12_22-1
m4-1.4.16-1
make-4.3-1
ncurses6-6.0-1
ncurses6_devel-6.0-1
python-3.9.1-1
sed-4.2.1-1
texinfo-4.13a-1
zlib-1.2.11-1
zlib_devel-1.2.11-1
:
# source packages
apr
autoconf
automake
bash
# bepdf
binutils
bison
bzip2
cdrtools
coreutils
cmake
ctags
curl
cvs
doxygen
expat
# ffmpeg
findutils
flex
freetype
gawk
gcc
gettext
git
glu
gperf
grep
groff
haikuwebkit
htmldoc
icu
jam
jpeg
keymapswitcher
less
libedit
libiconv
# libogg
libpcre
libpng
libsolv
# libtheora
libtool
# libvorbis
# libvpx
libxml2
m4
make
man
mercurial
mesa
mkdepend
nano
ncurses6
neon
openssh
openssl
p7zip
pe
perl
pkgconfig
python
readline
scons
sed
# speex
sqlite
subversion
tar
texi2html
texinfo
vision
wpa_supplicant
yasm
xz_utils
zlib
:
# debuginfo packages
;

View File

@ -4,10 +4,10 @@ RemotePackageRepository HaikuPorts
:
# architecture "any" packages
be_book-2008_10_26-3
ca_root_certificates-2020_01_01-1
ca_root_certificates-2021_07_05-1
gnu_efi_kernel-3.0.10-1
haikuporter-1.2.3-2
noto-20170920-4
haikuporter-1.2.5-1
noto-20200106-1
timgmsoundfont-fixed-5
wqy_microhei-0.2.0~beta-4
:
@ -41,6 +41,8 @@ RemotePackageRepository HaikuPorts
python-2.7.6-1
sed-4.2.1-1
texinfo-4.13a-1
zstd-1.5.0-2
zstd_devel-1.5.0-2
zlib-1.2.11-1
zlib_devel-1.2.11-1
:
@ -121,6 +123,7 @@ RemotePackageRepository HaikuPorts
yasm
xz_utils
zlib
zstd
:
# debuginfo packages
;

View File

@ -4,192 +4,228 @@ RemotePackageRepository HaikuPorts
:
# architecture "any" packages
be_book-2008_10_26-3
ca_root_certificates-2020_01_01-1
gnu_efi_kernel-3.0.10-1
haikuporter-1.2.3-2
noto-20170920-4
ca_root_certificates-2021_07_05-1
haikuporter-1.2.5-1
noto-20200106-1
noto_sans_cjk_jp-1.004-2
timgmsoundfont-fixed-5
wqy_microhei-0.2.0~beta-4
intel_wifi_firmwares-2019_11_02-1
realtek_wifi_firmwares-2019_01_02-1
ralink_wifi_firmwares-2015_02_11-1
:
# repository architecture packages
# primary architecture (x86_64)
autoconf-2.69-8
automake-1.16.2-1
bash-5.0.017-1
automake-1.16.5-1
bash-5.1.008-1
bc-1.07.1-2
bepdf-2.1.2-1
bepdf-2.1.4-2
binutils-2.31.1-2
bison-3.5.4-1
bison-3.8.2-1
bzip2-1.0.8-1
bzip2_devel-1.0.8-1
cdrtools-3.02~a09-1
cdrtools_devel-3.02~a09-1
coreutils-8.29-2
cdrtools-3.02~a09-2
cdrtools_devel-3.02~a09-2
coreutils-9.0-6
ctags-5.8-5
curl-7.70.0-2
curl_devel-7.70.0-2
curl-7.79.1-1
curl_devel-7.79.1-1
dav1d-0.9.2-1
dav1d_devel-0.9.2-1
diffutils-3.7-1
expat-2.2.9-1
expat_devel-2.2.9-1
ffmpeg-4.2.2-3
ffmpeg_devel-4.2.2-3
findutils-4.7.0-1
flex-2.6.4-1
enca-1.19-2
enca_devel-1.19-2
expat-2.4.1-1
expat_devel-2.4.1-1
fdk_aac-2.0.2-1
ffmpeg-4.2.2-9
ffmpeg_devel-4.2.2-9
file-5.41-1
file_data-5.41-1
findutils-4.8.0-1
flex-2.6.4-2
fluidlite-1.0.0-3
fluidlite_devel-1.0.0-3
fontconfig-2.13.92-1
fontconfig_devel-2.13.92-1
freetype-2.9.1-2
freetype_devel-2.9.1-2
gawk-5.1.0-1
freetype-2.11.0-2
freetype_devel-2.11.0-2
fribidi-1.0.11-1
fribidi_devel-1.0.11-1
game_music_emu-0.6.3-1
game_music_emu_devel-0.6.3-1
gettext-0.19.8.1-7
gettext_libintl-0.19.8.1-7
gcc-8.3.0_2019_05_24-7
gcc_syslibs-8.3.0_2019_05_24-7
gcc_syslibs_devel-8.3.0_2019_05_24-7
gcc-11.2.0_2021_07_28-5
gcc_syslibs-11.2.0_2021_07_28-5
gcc_syslibs_devel-11.2.0_2021_07_28-5
giflib-5.2.1-1
giflib_devel-5.2.1-1
git-2.26.0-2
git_arch-2.26.0-2
git_cvs-2.26.0-2
git_daemon-2.26.0-2
git_email-2.26.0-2
git_svn-2.26.0-2
git-2.30.2-3
git_arch-2.30.2-3
git_cvs-2.30.2-3
git_daemon-2.30.2-3
git_email-2.30.2-3
git_svn-2.30.2-3
glu-9.0.0-7
glu_devel-9.0.0-7
gmp-6.1.2-3
grep-3.4-1
groff-1.22.3-1
gutenprint8-5.3.1-1
gutenprint8_devel-5.3.1-1
gmp-6.2.1-2
graphite2-1.3.14-1
graphite2_devel-1.3.14-1
grep-3.6-2
groff-1.22.4-1
gutenprint8-5.3.1-2
gutenprint8_devel-5.3.1-2
gzip-1.10-1
haikuwebkit-1.7.0-1
haikuwebkit_devel-1.7.0-1
icu-57.2-2
icu_devel-57.2-2
jam-2.5_2018_11_21-7
haikuwebkit-1.8.4-1
haikuwebkit_devel-1.8.4-1
harfbuzz-2.8.1-1
harfbuzz_devel-2.8.1-1
icu66-66.1-2
icu66_devel-66.1-2
jam-2.5_2018_11_21-8
jasper-2.0.16-4
jasper_devel-2.0.16-4
keymapswitcher-1.2.7.15-1
keymapswitcher-1.2.7.16-1
lame-3.100-3
lame_devel-3.100-3
lcms-2.9-6
lcms_devel-2.9-6
less-551-1
libbluray-1.1.2-1
libbluray_devel-1.1.2-1
libdvdnav-6.0.1-2
libdvdnav_devel-6.0.1-2
libdvdread-6.0.2-1
libdvdread_devel-6.0.2-1
libedit-20180525_3.1-2
libedit_devel-20180525_3.1-2
lcms-2.12-1
lcms_devel-2.12-1
less-581.2-1
libass-0.15.1-1
libass_devel-0.15.1-1
libavif-0.8.4-2
libavif_devel-0.8.4-2
libbluray-1.3.0-1
libbluray_devel-1.3.0-1
libdvdnav-6.1.1-1
libdvdnav_devel-6.1.1-1
libdvdread-6.1.2-1
libdvdread_devel-6.1.2-1
libedit-20210419_3.1-1
libedit_devel-20210419_3.1-1
libexecinfo-1.1-5
libffi-3.2.1-5
libffi-3.4.2-1
libgcrypt-1.8.5-1
libgpg_error-1.36-1
libgpg_error-1.36-2
libiconv-1.16-1
libicns-0.8.1-8
libicns_devel-0.8.1-8
libidn2-2.0.5-1
libjpeg_turbo-2.0.3-3
libjpeg_turbo_devel-2.0.3-3
libidn2-2.0.5-2
libjpeg_turbo-2.1.1-1
libjpeg_turbo_devel-2.1.1-1
libmodplug-0.8.9.0-1
libogg-1.3.4-1
libogg_devel-1.3.4-1
libopenmpt-0.4.11-1
libopenmpt_devel-0.4.11-1
libogg-1.3.5-1
libogg_devel-1.3.5-1
libopenmpt-0.5.13-1
libopenmpt_devel-0.5.13-1
libpcap-1.8.1-4
libpcap_devel-1.8.1-4
libpcre-8.44-1
libpcre2-10.34-2
libpcre2-10.37-1
libpcre-8.45-1
libpcre_devel-8.45-1
libpng16-1.6.37-1
libpng16_devel-1.6.37-1
libpsl-0.21.0-1
libpsl_devel-0.21.0-1
libraw-0.19.5-3
libraw_devel-0.19.5-3
libsolv-0.3.0_haiku_2014_12_22-3
libsolv_devel-0.3.0_haiku_2014_12_22-3
libtasn1-4.15.0-1
libssh2-1.9.0-2
libssh2_devel-1.9.0-2
libtasn1-4.17.0-1
libtheora-1.1.1-7
libtheora_devel-1.1.1-7
libtool-2.4.6-2
libunistring-0.9.10-1
libvorbis-1.3.6-1
libvorbis_devel-1.3.6-1
libvpx-1.7.0-3
libvpx_devel-1.7.0-3
libvorbis-1.3.7-1
libvorbis_devel-1.3.7-1
libvpx-1.10.0-1
libvpx_devel-1.10.0-1
libuuid-1.3.1-4
libwebp-1.1.0-2
libwebp_devel-1.1.0-2
libxml2-2.9.10-1
libxml2_devel-2.9.10-1
libxslt-1.1.34-1
libwebp-1.2.1-1
libwebp_devel-1.2.1-1
libxml2-2.9.12-1
libxml2_devel-2.9.12-1
libxslt-1.1.34-3
live555-2016.06.22-5
live555_devel-2016.06.22-5
llvm7-7.0.1-2
llvm7_libs-7.0.1-2
llvm9-9.0.1-2
llvm9_libs-9.0.1-2
m4-1.4.18-3
make-4.1-3
make-4.1-4
mandoc-1.14.3-2
mercurial-4.8.1-2
mesa-17.1.10-6
mesa_devel-17.1.10-6
mesa_swpipe-17.1.10-6
mawk-1.3.4_20171017-1
mercurial-4.9.1-1
mesa-21.2.3-2
mesa_devel-21.2.3-2
mesa_swpipe-21.2.3-2
mkdepend-1.7-5
mpc-1.1.0-2
mpfr-3.1.6-4
nano-4.9.2-1
mpc-1.2.1-1
mpfr-4.1.0-1
nano-5.9-1
nasm-2.14.02-2
ncurses6-6.2-1
ncurses6_devel-6.2-1
netcat-1.10-4
nettle-3.5.1-1
nghttp2-1.40.0-1
nghttp2_devel-1.40.0-1
nettle-3.7-1
nghttp2-1.43.0-1
nghttp2_devel-1.43.0-1
openexr-2.4.1-1
openexr_devel-2.4.1-1
openjpeg-2.3.1-2
openjpeg_devel-2.3.1-2
openssh-8.3p1-1
openssl-1.1.1g-2
openssl_devel-1.1.1g-2
p7zip-16.02-1
openjpeg-2.4.0-1
openjpeg_devel-2.4.0-1
openssh-8.8p1-1
openssl-1.1.1l-1
openssl_devel-1.1.1l-1
opus-1.3.1-1
opus_devel-1.3.1-1
p7zip-17.04-2
patch-2.7.6-2
pdflib-5.0.3-3
pdfwriter-1.0-3
pdflib-5.0.3-4
pdfwriter-1.0-4
pe-2.4.5-8
perl-5.30.2-1
perl-5.32.1-1
pkgconfig-0.29.2-4
python-2.7.17-2
python3-3.7.12-1
qrencode_kdl_devel-3.4.4-2
readline-8.0.4-1
sed-4.4-3
readline-8.1-1
sed-4.8-1
sharutils-4.15.2-3
snappy-1.1.8-1
snappy_devel-1.1.8-1
soxr-0.1.3-1
soxr_devel-0.1.3-1
speex-1.2.0-4
speex_devel-1.2.0-4
sqlite-3.31.1.0-1
subversion-1.9.7-2
subversion_devel-1.9.7-2
taglib-1.11.1-4
taglib_devel-1.11.1-4
tar-1.32-1
tcpdump-4.9.2-1
texinfo-6.7-1
tiff4-4.1.0-3
tiff4_devel-4.1.0-3
sqlite-3.36.0.0-1
subversion-1.14.1-1
subversion_devel-1.14.1-1
taglib-1.12-1
taglib_devel-1.12-1
tar-1.34-1
tcpdump-4.99.1-1
texinfo-6.7-3
tiff4-4.2.0-1
tiff4_devel-4.2.0-1
tnftp-20151004-6
unzip-6.10c23-4
vision-0.10.4-1
wget-1.20.3-3
vision-0.10.6-2
wavpack-5.4.0-1
wavpack_devel-5.4.0-1
wget-1.21.1-1
which-2.21-6
wpa_supplicant-2.9.haiku.1-2
wpa_supplicant-2.9.haiku.1-3
xz_utils-5.2.5-1
xz_utils_devel-5.2.5-1
zip-3.0-4
zlib-1.2.11-4
zlib_devel-1.2.11-4
zstd-1.4.5-1
zstd_bin-1.4.5-1
zstd_devel-1.4.5-1
zstd-1.5.0-2
zstd_bin-1.5.0-2
zstd_devel-1.5.0-2
:
# source packages
autoconf
@ -204,31 +240,40 @@ RemotePackageRepository HaikuPorts
coreutils
ctags
curl
dav1d
diffutils
enca
expat
fdk_aac
ffmpeg
file
findutils
flex
fluidlite
fontconfig
freetype
gawk
fribidi
game_music_emu
gcc
giflib
git
glu
gmp
graphite2
grep
gutenprint8
gzip
haikuporter
icu
hqrfbuzz
icu66
jam
jasper
keymapswitcher
lame
lcms
less
libass
libavif
libbluray
libdvdnav
libdvdread
@ -248,7 +293,9 @@ RemotePackageRepository HaikuPorts
libpcre2
libpng16
libpsl
libraw
libsolv
libssh2
libtasn1
libtheora
libtool
@ -260,10 +307,11 @@ RemotePackageRepository HaikuPorts
libxml2
libxslt
live555
llvm7
llvm9
m4
make
mandoc
mawk
mercurial
mesa
mkdepend
@ -279,6 +327,7 @@ RemotePackageRepository HaikuPorts
openjpeg
openssh
openssl
opus
p7zip
patch
pdflib
@ -286,10 +335,12 @@ RemotePackageRepository HaikuPorts
pe
perl
pkgconfig
python
python3
readline
sed
sharutils
snappy
soxr
speex
sqlite
subversion
@ -300,6 +351,7 @@ RemotePackageRepository HaikuPorts
tiff4
unzip
vision
wavpack
wget
which
wpa_supplicant
@ -315,7 +367,6 @@ RemotePackageRepository HaikuPorts
diffutils
findutils
freetype
gawk
glu
grep
jpeg

View File

@ -4,271 +4,304 @@ RemotePackageRepository HaikuPorts
:
# architecture "any" packages
be_book-2008_10_26-3
ca_root_certificates-2020_01_01-1
gnu_efi_kernel-3.0.10-1
haikuporter-1.2.3-2
noto-20170920-4
ca_root_certificates-2021_07_05-1
haikuporter-1.2.5-1
noto-20200106-1
noto_sans_cjk_jp-1.004-2
timgmsoundfont-fixed-5
wqy_microhei-0.2.0~beta-4
intel_wifi_firmwares-2019_11_02-1
realtek_wifi_firmwares-2019_01_02-1
ralink_wifi_firmwares-2015_02_11-1
:
# repository architecture packages
# primary architecture (x86_gcc2)
autoconf-2.69-8
automake-1.16.2-1
bash-5.0.017-1
automake-1.16.5-1
bash-5.1.008-1
bc-1.07.1-2
bepdf-2.1.2-1
bepdf-2.1.4-2
binutils-2.17_2016_07_24-4
bison-3.0.5-1
bzip2-1.0.8-1
bzip2_devel-1.0.8-1
cdrtools-3.02~a09-1
cdrtools_devel-3.02~a09-1
cdrtools-3.02~a09-2
cdrtools_devel-3.02~a09-2
ctags-5.8-5
coreutils-8.24-2
curl-7.70.0-2
curl_devel-7.70.0-2
curl-7.79.1-1
curl_devel-7.79.1-1
diffutils-3.7-1
expat-2.2.9-1
expat_devel-2.2.9-1
expat-2.4.1-1
expat_devel-2.4.1-1
ffmpeg-4.2.2-9
ffmpeg_devel-4.2.2-9
file-5.41-1
file_data-5.41-1
findutils-4.6.0-1
ffmpeg-4.2.2-3
ffmpeg_devel-4.2.2-3
flex-2.6.4-1
flex-2.6.4-2
fluidlite_devel-1.0.0-3
fontconfig-2.13.92-1
fontconfig_devel-2.13.92-1
freetype-2.9.1-2
freetype_devel-2.9.1-2
gawk-4.1.4-2
freetype-2.11.0-2
freetype_devel-2.11.0-2
gettext_libintl-0.19.8.1-7
gcc-2.95.3_2017_07_20-2
gcc_syslibs_devel-2.95.3_2017_07_20-2
giflib6-5.0.5-5
giflib-5.1.4-2
giflib_devel-5.1.4-2
git-2.26.0-2
git_arch-2.26.0-2
git_cvs-2.26.0-2
git_daemon-2.26.0-2
git_email-2.26.0-2
git_svn-2.26.0-2
git-2.30.2-2
git_arch-2.30.2-2
git_daemon-2.30.2-2
git_email-2.30.2-2
glu-9.0.0-7
glu_devel-9.0.0-7
grep-2.24-1
groff-1.20.1-4
gutenprint8-5.3.1-1
gutenprint8_devel-5.3.1-1
gutenprint8-5.3.1-2
gutenprint8_devel-5.3.1-2
gzip-1.10-1
icu-57.2-2
icu_devel-57.2-2
jam-2.5_2018_11_21-7
icu-57.2-3
icu_devel-57.2-3
jam-2.5_2018_11_21-8
jasper-2.0.16-4
jasper_devel-2.0.16-4
keymapswitcher-1.2.7.15-1
keymapswitcher-1.2.7.16-1
lame-3.100-3
lame_devel-3.100-3
less-551-1
libedit-20180525_3.1-2
libedit_devel-20180525_3.1-2
libffi-3.0.13-2
less-581.2-1
libedit-20210419_3.1-1
libedit_devel-20210419_3.1-1
libffi-3.0.13-3
libiconv-1.16-1
libicns-0.8.1-8
libicns_devel-0.8.1-8
libjpeg_turbo-2.0.3-3
libjpeg_turbo_devel-2.0.3-3
libjpeg_turbo-2.1.1-1
libjpeg_turbo_devel-2.1.1-1
liblayout-1.4.1-8
libmodplug-0.8.9.0-1
libogg-1.3.4-1
libogg_devel-1.3.4-1
libpcap-1.8.1-3
libpcap_devel-1.8.1-3
libpcre-8.44-1
libpcre2-10.34-2
libogg-1.3.5-1
libogg_devel-1.3.5-1
libpcap-1.8.1-4
libpcap_devel-1.8.1-4
libpcre-8.45-1
libpcre2-10.37-1
libpng16-1.6.37-1
libpng16_devel-1.6.37-1
libpsl-0.21.0-1
libpsl_devel-0.21.0-1
libsolv-0.3.0_haiku_2014_12_22-3
libsolv_devel-0.3.0_haiku_2014_12_22-3
libssh2-1.9.0-2
libssh2_devel-1.9.0-2
libtheora-1.1.1-7
libtheora_devel-1.1.1-7
libtool-2.4.6-2
libuuid-1.3.1-4
libvorbis-1.3.6-1
libvorbis_devel-1.3.6-1
libvorbis-1.3.7-1
libvorbis_devel-1.3.7-1
libvpx-1.0.0-2
libwebp-1.1.0-2
libwebp_devel-1.1.0-2
libxml2-2.9.10-1
libxml2_devel-2.9.10-1
libwebp-1.2.1-1
libwebp_devel-1.2.1-1
libxml2-2.9.12-1
libxml2_devel-2.9.12-1
live555-2016.06.22-5
live555_devel-2016.06.22-5
m4-1.4.18-3
make-4.1-3
make-4.1-4
mandoc-1.14.3-2
mercurial-4.8.1-2
mesa-7.9.2-11
mesa_devel-7.9.2-11
mesa_swrast-7.9.2-11
mkdepend-1.7-5
nano-2.9.8-3
nasm-2.12.02-1
ncurses6-6.2-1
ncurses6_devel-6.2-1
netcat-1.10-4
nghttp2-1.40.0-1
nghttp2_devel-1.40.0-1
nghttp2-1.43.0-1
openexr-2.2.1-3
openexr_devel-2.2.1-3
openjpeg-2.1.2-3
openjpeg_devel-2.1.2-3
openssh-8.3p1-1
openssl-1.1.1g-2
openssl_devel-1.1.1g-2
p7zip-16.02-1
openssh-8.8p1-1
openssl-1.1.1l-1
openssl_devel-1.1.1l-1
opus-1.3.1-1
opus_devel-1.3.1-1
patch-2.7.5-3
pdflib-5.0.3-3
pdfwriter-1.0-3
pdflib-5.0.3-4
pdfwriter-1.0-4
pe-2.4.5-8
perl-5.30.2-1
perl-5.32.1-1
pkgconfig-0.29.2-4
python-2.7.17-2
qrencode_kdl_devel-3.4.4-2
readline-8.0.4-1
readline-8.1-1
sed-4.2.1-6
sharutils-4.15.2-3
speex-1.2.0-4
speex_devel-1.2.0-4
sqlite-3.31.1.0-1
subversion-1.9.7-1
subversion_devel-1.9.7-1
sqlite-3.36.0.0-1
taglib-1.7.2-3
taglib_devel-1.7.2-3
tar-1.32-1
tcpdump-4.9.2-1
texinfo-6.1-5
tiff4-4.1.0-3
tiff4_devel-4.1.0-3
tcpdump-4.99.1-1
texinfo-6.1-7
tiff4-4.2.0-1
tiff4_devel-4.2.0-1
tnftp-20151004-6
unzip-6.10c23-4
vision-0.10.4-1
wget-1.20.3-3
vision-0.10.6-2
wget-1.21.1-1
which-2.21-6
wonderbrush-2.1.2-9
wpa_supplicant-2.9.haiku.1-2
wonderbrush-2.1.2-11
wpa_supplicant-2.9.haiku.1-3
zip-3.0-4
zlib-1.2.11-4
zlib_devel-1.2.11-4
zstd-1.5.0-2
zstd_devel-1.5.0-2
# secondary architecture (x86)
binutils_x86-2.26.1_2016_07_22-6
bison_x86-3.5.4-1
bison_x86-3.8.2-1
bzip2_x86-1.0.8-1
bzip2_x86_devel-1.0.8-1
cdrtools_x86-3.02~a09-1
cdrtools_x86_devel-3.02~a09-1
curl_x86-7.70.0-2
curl_x86_devel-7.70.0-2
expat_x86-2.2.9-1
expat_x86_devel-2.2.9-1
ffmpeg_x86-4.2.2-3
ffmpeg_x86_devel-4.2.2-3
cdrtools_x86-3.02~a09-2
cdrtools_x86_devel-3.02~a09-2
coreutils_x86-9.0-6
curl_x86-7.79.1-1
curl_x86_devel-7.79.1-1
dav1d_x86-0.9.2-1
dav1d_x86_devel-0.9.2-1
enca_x86-1.19-2
enca_x86_devel-1.19-2
expat_x86-2.4.1-1
expat_x86_devel-2.4.1-1
fdk_aac_x86-2.0.2-1
ffmpeg_x86-4.2.2-9
ffmpeg_x86_devel-4.2.2-9
fluidlite_x86_devel-1.0.0-3
fontconfig_x86-2.13.92-1
fontconfig_x86_devel-2.13.92-1
freetype_x86-2.9.1-2
freetype_x86_devel-2.9.1-2
gcc_x86-8.3.0_2019_05_24-7
gcc_x86_syslibs-8.3.0_2019_05_24-7
gcc_x86_syslibs_devel-8.3.0_2019_05_24-7
freetype_x86-2.11.0-2
freetype_x86_devel-2.11.0-2
fribidi_x86-1.0.11-1
fribidi_x86_devel-1.0.11-1
game_music_emu_x86-0.6.3-1
game_music_emu_x86_devel-0.6.3-1
gcc_x86-11.2.0_2021_07_28-5
gcc_x86_syslibs-11.2.0_2021_07_28-5
gcc_x86_syslibs_devel-11.2.0_2021_07_28-5
gettext_x86-0.19.8.1-7
gettext_x86_libintl-0.19.8.1-7
giflib6_x86-5.0.5-5
giflib_x86-5.2.1-1
giflib_x86_devel-5.2.1-1
glu_x86-9.0.0-7
glu_x86_devel-9.0.0-7
gmp_x86-6.1.2-3
haikuwebkit_x86-1.7.0-1
haikuwebkit_x86_devel-1.7.0-1
icu_x86-57.2-2
icu_x86_devel-57.2-2
icu66_x86-66.1-1
icu66_x86_devel-66.1-1
gmp_x86-6.2.1-2
graphite2_x86-1.3.14-1
graphite2_x86_devel-1.3.14-1
grep_x86-3.6-2
haikuwebkit_x86-1.8.4-1
haikuwebkit_x86_devel-1.8.4-1
harfbuzz_x86-2.8.1-1
harfbuzz_x86_devel-2.8.1-1
icu66_x86-66.1-2
icu66_x86_devel-66.1-2
jasper_x86-2.0.16-4
jasper_x86_devel-2.0.16-4
lame_x86-3.100-3
lame_x86_devel-3.100-3
lcms_x86-2.9-6
lcms_x86_devel-2.9-6
libedit_x86-20180525_3.1-2
libedit_x86_devel-20180525_3.1-2
lcms_x86-2.12-1
lcms_x86_devel-2.12-1
libass_x86-0.15.1-1
libass_x86_devel-0.15.1-1
libavif_x86-0.8.4-2
libavif_x86_devel-0.8.4-2
libedit_x86-20210419_3.1-1
libedit_x86_devel-20210419_3.1-1
libexecinfo_x86-1.1-5
libffi_x86-3.4.2-1
libffi_x86_devel-3.4.2-1
libgcrypt_x86-1.8.5-1
libgpg_error_x86-1.36-1
libgpg_error_x86-1.36-2
libiconv_x86-1.16-1
libiconv_x86_devel-1.16-1
libicns_x86-0.8.1-8
libicns_x86_devel-0.8.1-8
libidn2_x86-2.0.5-1
libjpeg_turbo_x86-2.0.3-3
libjpeg_turbo_x86_devel-2.0.3-3
libidn2_x86-2.0.5-2
libjpeg_turbo_x86-2.1.1-1
libjpeg_turbo_x86_devel-2.1.1-1
libmodplug_x86-0.8.9.0-1
libogg_x86-1.3.4-1
libogg_x86_devel-1.3.4-1
libopenmpt_x86-0.4.11-1
libopenmpt_x86_devel-0.4.11-1
libogg_x86-1.3.5-1
libogg_x86_devel-1.3.5-1
libopenmpt_x86-0.5.13-1
libopenmpt_x86_devel-0.5.13-1
libpcre_x86-8.45-1
libpcre_x86_devel-8.45-1
libpng16_x86-1.6.37-1
libpng16_x86_devel-1.6.37-1
libsolv_x86-0.3.0_haiku_2014_12_22-3
libsolv_x86_devel-0.3.0_haiku_2014_12_22-3
libtasn1_x86-4.15.0-1
libssh2_x86-1.9.0-2
libssh2_x86_devel-1.9.0-2
libtasn1_x86-4.17.0-1
libtheora_x86-1.1.1-7
libtheora_x86_devel-1.1.1-7
libtool_x86-2.4.6-2
libtool_x86_libltdl-2.4.6-2
libunistring_x86-0.9.10-1
libvorbis_x86-1.3.6-1
libvorbis_x86_devel-1.3.6-1
libvpx_x86-1.7.0-3
libvpx_x86_devel-1.7.0-3
libwebp_x86-1.1.0-2
libwebp_x86_devel-1.1.0-2
libxml2_x86-2.9.10-1
libxml2_x86_devel-2.9.10-1
libxslt_x86-1.1.34-1
libvorbis_x86-1.3.7-1
libvorbis_x86_devel-1.3.7-1
libvpx_x86-1.10.0-1
libvpx_x86_devel-1.10.0-1
libwebp_x86-1.2.1-1
libwebp_x86_devel-1.2.1-1
libxml2_x86-2.9.12-1
libxml2_x86_devel-2.9.12-1
libxslt_x86-1.1.34-3
live555_x86-2016.06.22-5
live555_x86_devel-2016.06.22-5
llvm_x86-5.0.0-3
llvm_x86_libs-5.0.0-3
llvm7_x86_libs-7.0.1-2
mesa_x86-17.1.10-6
mesa_x86_devel-17.1.10-6
mesa_x86_swpipe-17.1.10-6
llvm9_x86_libs-9.0.1-2
mesa_x86-21.2.3-2
mesa_x86_devel-21.2.3-2
mesa_x86_swpipe-21.2.3-2
nano_x86-5.9-1
nasm_x86-2.14.02-2
ncurses6_x86-6.2-1
ncurses6_x86_devel-6.2-1
mpc_x86-1.1.0-2
mpfr_x86-3.1.6-4
nettle_x86-3.5.1-1
nghttp2_x86-1.40.0-1
nghttp2_x86_devel-1.40.0-1
mawk-1.3.4_20171017-1
mpc_x86-1.2.1-1
mpfr_x86-4.1.0-1
nettle_x86-3.7-1
openexr_x86-2.4.1-1
openexr_x86_devel-2.4.1-1
openjpeg_x86-2.3.1-2
openjpeg_x86_devel-2.3.1-2
openssl_x86-1.1.1g-2
openssl_x86_devel-1.1.1g-2
openjpeg_x86-2.4.0-1
openjpeg_x86_devel-2.4.0-1
openssl_x86-1.1.1l-1
openssl_x86_devel-1.1.1l-1
opus_x86-1.3.1-1
opus_x86_devel-1.3.1-1
p7zip_x86-17.04-2
pkgconfig_x86-0.29.2-4
python3_x86-3.7.12-1
readline_x86-8.1-1
sharutils_x86-4.15.2-3
snappy_x86-1.1.8-1
snappy_x86_devel-1.1.8-1
soxr_x86-0.1.3-1
soxr_x86_devel-0.1.3-1
speex_x86-1.2.0-4
speex_x86_devel-1.2.0-4
sqlite_x86-3.31.1.0-1
taglib_x86-1.11.1-4
taglib_x86_devel-1.11.1-4
tiff4_x86-4.1.0-3
tiff4_x86_devel-4.1.0-3
sqlite_x86-3.36.0.0-1
taglib_x86-1.12-1
taglib_x86_devel-1.12-1
tar_x86-1.34-1
tiff4_x86-4.2.0-1
tiff4_x86_devel-4.2.0-1
wavpack_x86-5.4.0-1
wavpack_x86_devel-5.4.0-1
xz_utils_x86-5.2.5-1
xz_utils_x86_devel-5.2.5-1
zlib_x86-1.2.11-4
zlib_x86_devel-1.2.11-4
zstd_x86-1.5.0-2
zstd_x86_devel-1.5.0-2
:
# source packages
autoconf
@ -283,42 +316,51 @@ RemotePackageRepository HaikuPorts
bzip2
cdrtools
cdrtools_x86
coreutils
coreutils_x86
ctags
curl
dav1d_x86
diffutils
enca_x86
expat
findutils
fdk_aac_x86
ffmpeg
ffmpeg_x86
file
findutils
flex
fluidlite
fontconfig
freetype
gawk
fribidi_x86
game_music_emu_x86
gcc
gcc_x86
giflib6
giflib
git
glu
gmp
grep
graphite2_x86
grep_x86
gutenprint8
gzip
haikuporter
haikuwebkit_x86
harfbuzz_x86
icu
icu66
icu66_x86
jam
jasper
keymapswitcher
lcms_x86
less
libass_x86
libavif_x86
libedit
libedit_x86
libexecinfo
libffi
libffi_x86
libgcrypt
libgpg_error
libiconv
@ -333,37 +375,33 @@ RemotePackageRepository HaikuPorts
libpcre
libpcre2
libpng16
libpng16_x86
libpsl
libsolv
libssh2
libtasn1
libtheora
libtheora_x86
libtool
libtool_x86
libunistring
libuuid
libvorbis
libvorbis_x86
libvpx
libvpx_x86
libwebp
libxml2
libxslt
live555
llvm_x86
llvm9_x86
m4
make
mandoc
mercurial
mawk
mesa
mesa_x86
mkdepend
mpc
mpfr
nghttp2
nano
nasm
nano_x86
nasm_x86
ncurses6
netcat
nettle
@ -372,35 +410,38 @@ RemotePackageRepository HaikuPorts
openjpeg
openssh
openssl
p7zip
opus
p7zip_x86
patch
pdflib
pdfwriter
pe
perl
pkgconfig
pkgconfig_x86
python
python_x86
readline
sed
sharutils
snappy_x86
soxr_x86
speex
sqlite
subversion
taglib
taglib_x86
tar
tar_x86
tcpdump
texinfo
tiff4
unzip
vision
wavpack_x86
wget
which
wpa_supplicant
xz_utils_x86
zip
zlib
zstd
:
# debuginfo packages
bison
@ -409,11 +450,10 @@ RemotePackageRepository HaikuPorts
ctags
diffutils
findutils
gawk
glu
grep
m4
sed
tar
tar_x86
which
;

View File

@ -6,38 +6,40 @@ BootstrapPackageRepository HaikuPortsCross
noto-20170202-7
:
# repository architecture packages (stage 0)
gcc_bootstrap-8.3.0_2019_05_24-1
gcc_bootstrap_syslibs-8.3.0_2019_05_24-1
gcc_bootstrap_syslibs_devel-8.3.0_2019_05_24-1
gcc_bootstrap-8.3.0_2019_05_24-6
gcc_bootstrap_syslibs-8.3.0_2019_05_24-6
gcc_bootstrap_syslibs_devel-8.3.0_2019_05_24-6
:
# repository architecture packages (stage 1)
bash_bootstrap-4.4.023-1
binutils_bootstrap-2.28.1_2017_08_05-1
binutils_bootstrap-2.36.1_2021_09_21-1
bison_bootstrap-3.0.5-1
coreutils_bootstrap-8.22-1
curl_bootstrap-7.40.0-1
curl_bootstrap_devel-7.40.0-1
expat_bootstrap-2.1.0-1
expat_bootstrap_devel-2.1.0-1
expat_bootstrap-2.4.1-1
expat_bootstrap_devel-2.4.1-1
findutils_bootstrap-4.6.0-1
flex_bootstrap-2.5.35-1
freetype_bootstrap-2.6.3-1
freetype_bootstrap_devel-2.6.3-1
gawk_bootstrap-3.1.8-2
grep_bootstrap-2.14-1
icu_bootstrap-57.1-2
icu_bootstrap_devel-57.1-2
icu_bootstrap-67.1-2
icu_bootstrap_devel-67.1-2
less_bootstrap-451-1
m4_bootstrap-1.4.16-1
make_bootstrap-4.1-2
mawk_bootstrap-1.3.4-1
make_bootstrap-4.3-1
ncurses6_bootstrap-6.0-1
ncurses6_bootstrap_devel-6.0-1
python_bootstrap-2.7.6-1
libffi_bootstrap-3.3-1
python_bootstrap-3.9.1-1
sed_bootstrap-4.2.1-1
texinfo_bootstrap-4.13a-1
zlib_bootstrap-1.2.11-1
zlib_bootstrap_devel-1.2.11-1
zstd_bootstrap-1.5.0-2
zstd_bootstrap_devel-1.5.0-2
:
# repository architecture packages (stage 2)
libsolv_bootstrap-0.3.0_haiku_2014_12_22-1
@ -53,7 +55,6 @@ BootstrapPackageRepository HaikuPortsCross
findutils_bootstrap
flex_bootstrap
freetype_bootstrap
mawk_bootstrap
gawk_bootstrap
gcc_bootstrap
grep_bootstrap
@ -66,6 +67,7 @@ BootstrapPackageRepository HaikuPortsCross
sed_bootstrap
texinfo_bootstrap
zlib_bootstrap
zstd_bootstrap
:
# debuginfo packages
;

View File

@ -6,38 +6,40 @@ BootstrapPackageRepository HaikuPortsCross
noto-20170202-7
:
# repository architecture packages (stage 0)
gcc_bootstrap-8.3.0_2019_05_24-4
gcc_bootstrap_syslibs-8.3.0_2019_05_24-4
gcc_bootstrap_syslibs_devel-8.3.0_2019_05_24-4
gcc_bootstrap-8.3.0_2021_09_21-1
gcc_bootstrap_syslibs-8.3.0_2021_09_21-1
gcc_bootstrap_syslibs_devel-8.3.0_2021_09_21-1
:
# repository architecture packages (stage 1)
bash_bootstrap-4.4.023-1
binutils_bootstrap-2.28.1_2017_08_05-1
binutils_bootstrap-2.36.1_2021_09_21-1
bison_bootstrap-3.0.5-1
coreutils_bootstrap-8.22-1
curl_bootstrap-7.40.0-1
curl_bootstrap_devel-7.40.0-1
expat_bootstrap-2.1.0-1
expat_bootstrap_devel-2.1.0-1
expat_bootstrap-2.4.1-1
expat_bootstrap_devel-2.4.1-1
findutils_bootstrap-4.6.0-1
flex_bootstrap-2.5.35-1
freetype_bootstrap-2.6.3-1
freetype_bootstrap_devel-2.6.3-1
gawk_bootstrap-3.1.8-2
grep_bootstrap-2.14-1
icu_bootstrap-57.1-2
icu_bootstrap_devel-57.1-2
icu_bootstrap-67.1-1
icu_bootstrap_devel-67.1-1
less_bootstrap-451-1
m4_bootstrap-1.4.16-1
make_bootstrap-4.1-2
mawk_bootstrap-1.3.4-1
make_bootstrap-4.3-1
ncurses6_bootstrap-6.0-1
ncurses6_bootstrap_devel-6.0-1
python_bootstrap-2.7.6-1
libffi_bootstrap-3.3-1
python_bootstrap-3.9.1-1
sed_bootstrap-4.2.1-1
texinfo_bootstrap-4.13a-1
zlib_bootstrap-1.2.11-1
zlib_bootstrap_devel-1.2.11-1
zstd_bootstrap-1.5.0-2
zstd_bootstrap_devel-1.5.0-2
:
# repository architecture packages (stage 2)
libsolv_bootstrap-0.3.0_haiku_2014_12_22-1
@ -53,7 +55,6 @@ BootstrapPackageRepository HaikuPortsCross
findutils_bootstrap
flex_bootstrap
freetype_bootstrap
mawk_bootstrap
gawk_bootstrap
gcc_bootstrap
grep_bootstrap
@ -66,6 +67,7 @@ BootstrapPackageRepository HaikuPortsCross
sed_bootstrap
texinfo_bootstrap
zlib_bootstrap
zstd_bootstrap
:
# debuginfo packages
;

View File

@ -6,9 +6,9 @@ BootstrapPackageRepository HaikuPortsCross
noto-20170202-7
:
# repository architecture packages (stage 0)
gcc_bootstrap-8.3.0_2019_05_24-4
gcc_bootstrap_syslibs-8.3.0_2019_05_24-4
gcc_bootstrap_syslibs_devel-8.3.0_2019_05_24-4
gcc_bootstrap-8.3.0_2021_02_27-1
gcc_bootstrap_syslibs-8.3.0_2021_02_27-1
gcc_bootstrap_syslibs_devel-8.3.0_2021_02_27-1
:
# repository architecture packages (stage 1)
bash_bootstrap-4.4.023-1

View File

@ -6,31 +6,31 @@ BootstrapPackageRepository HaikuPortsCross
noto-20170202-7
:
# repository architecture packages (stage 0)
gcc_bootstrap-8.3.0_2019_05_24-1
gcc_bootstrap_syslibs-8.3.0_2019_05_24-1
gcc_bootstrap_syslibs_devel-8.3.0_2019_05_24-1
gcc_bootstrap-8.3.0_2021_09_21-1
gcc_bootstrap_syslibs-8.3.0_2021_09_21-1
gcc_bootstrap_syslibs_devel-8.3.0_2021_09_21-1
:
# repository architecture packages (stage 1)
bash_bootstrap-4.4.023-1
binutils_bootstrap-2.28.1_2017_08_05-1
binutils_bootstrap-2.36.1_2021_09_21-1
bison_bootstrap-3.0.5-1
coreutils_bootstrap-8.22-1
curl_bootstrap-7.40.0-1
curl_bootstrap_devel-7.40.0-1
expat_bootstrap-2.1.0-1
expat_bootstrap_devel-2.1.0-1
expat_bootstrap-2.4.1-1
expat_bootstrap_devel-2.4.1-1
findutils_bootstrap-4.6.0-1
flex_bootstrap-2.5.35-1
freetype_bootstrap-2.6.3-1
freetype_bootstrap_devel-2.6.3-1
gawk_bootstrap-3.1.8-2
grep_bootstrap-2.14-1
icu_bootstrap-57.1-2
icu_bootstrap_devel-57.1-2
icu_bootstrap-67.1-1
icu_bootstrap_devel-67.1-1
less_bootstrap-451-1
m4_bootstrap-1.4.16-1
make_bootstrap-4.1-2
make_bootstrap-4.3-1
ncurses6_bootstrap-6.0-1
ncurses6_bootstrap_devel-6.0-1
python_bootstrap-2.7.6-1
@ -38,6 +38,8 @@ BootstrapPackageRepository HaikuPortsCross
texinfo_bootstrap-4.13a-1
zlib_bootstrap-1.2.11-1
zlib_bootstrap_devel-1.2.11-1
zstd_bootstrap-1.5.0-2
zstd_bootstrap_devel-1.5.0-2
:
# repository architecture packages (stage 2)
@ -67,6 +69,7 @@ BootstrapPackageRepository HaikuPortsCross
sed_bootstrap
texinfo_bootstrap
zlib_bootstrap
zstd_bootstrap
:
# debuginfo packages
;

View File

@ -115,7 +115,7 @@ $mimeset --mimedb "$mimeDB" "$contentsDir"
# create the package
if [ ! $updateOnly ]; then
echo "$packageName: Creating the package ..."
rm -f "$packagePath"
$rmAttrs -f "$packagePath"
$package create -q "-$compressionLevel" -i "$packageInfoPath" \
-C "$contentsDir" "$packagePath"
else

View File

@ -1,8 +1,10 @@
#!/bin/sh
set -e
if [ $# -lt 2 ]; then
echo "$0: Usage:..."
exit 1;
exit 1
fi
rmAttrs=$1

14
configure vendored
View File

@ -450,7 +450,7 @@ check_native_xattrs()
xattr_set="setextattr"; xattr_set_args="user \$NAME \"\$VALUE\""
xattr_get="getextattr"; xattr_get_args="user \$NAME"
;;
linux|msys)
linux)
xattr_set="setfattr"; xattr_set_args="-n user.\$NAME -v \"\$VALUE\""
xattr_get="getfattr"; xattr_get_args="-n user.\$NAME"
;;
@ -601,7 +601,6 @@ case "${platform}" in
Haiku) HOST_PLATFORM=haiku_host ;;
Linux) HOST_PLATFORM=linux ;;
OpenBSD) HOST_PLATFORM=openbsd ;;
MSYS*) HOST_PLATFORM=msys ;;
*) echo Unsupported platform: ${platform}
exit 1 ;;
esac
@ -1040,12 +1039,9 @@ else
get_build_tool_path ELFEDIT_$targetArch elfedit
elif [ -n "$crossToolsPrefix" ]; then
get_build_tool_path LD_$targetArch ${crossToolsPrefix}ld
case `get_variable HAIKU_GCC_RAW_VERSION_$targetArch` in
4.*|5.*|6.*|7.*|8.*)
get_build_tool_path ELFEDIT_$targetArch \
${crossToolsPrefix}elfedit
;;
esac
if [ `get_variable HAIKU_CC_IS_LEGACY_GCC_$targetArch` -eq 0 ]; then
get_build_tool_path ELFEDIT_$targetArch ${crossToolsPrefix}elfedit
fi
fi
if [ -n "$crossToolsPrefix" ]; then
get_build_tool_path AR_$targetArch ${crossToolsPrefix}ar
@ -1097,7 +1093,7 @@ HAIKU_HOST_USE_XATTR ?= "${HAIKU_HOST_USE_XATTR}" ;
HAIKU_HOST_USE_XATTR_REF ?= "${HAIKU_HOST_USE_XATTR_REF}" ;
HAIKU_HOST_BUILD_ONLY ?= "${HAIKU_HOST_BUILD_ONLY}" ;
JAMSHELL ?= ${JAMSHELL} -c ;
JAMSHELL ?= ${JAMSHELL} -e -c ;
HOST_CC ?= ${CC} ;
HOST_CC_IS_LEGACY_GCC ?= ${HOST_CC_IS_LEGACY_GCC} ;

Binary file not shown.

After

Width:  |  Height:  |  Size: 533 B

Binary file not shown.

View File

@ -6,6 +6,18 @@ MacRISC MacRISC3 MacRISC4
Haiku for PowerPC
</description>
<boot-script>
" screen" output
load-base release-load-area
" /cpus/@0" find-package if
" 64-bit" rot get-package-property 0= if
2drop
." Booting Haiku for PowerPC (64-bit)..."
" boot cd:,\\haikuloader.elf" eval
else
." Booting Haiku for PowerPC (32-bit)..."
" boot cd:,\\haikuloader.elf" eval
then
then
boot cd:,\\haikuloader.elf
</boot-script>
<icon size=64,64 color-space=3,3,2>

View File

@ -1,5 +1,6 @@
1 belarusian x-vnd.Haiku-BFSAddOn 3514982252
1 belarusian x-vnd.Haiku-BFSAddOn 1570987954
Enable query support BFS_Initialize_Parameter Актывізаваць падтрымку запытаў
Disabling query support may speed up certain file system operations, but should\nonly be used if one is absolutely certain that one will not need queries.\nAny volume that is intended for booting Haiku must have query support enabled. BFS_Initialize_Parameter Адключэнне падтрымкі запытаў можа паскорыць некаторыя аперацыі файлавай\nсістэмы, але абмяжоўвае магчымасці пошуку на гэтым падзеле ў будучыні.\nНа падзелах, з якіх плануецца загрузка Haiku, неабходна мець падтрымку запытаў актыўнай.
Name: BFS_Initialize_Parameter Імя:
8192 (Mostly large files) BFS_Initialize_Parameter 8192 (Пераважна для велькіх файлаў)
2048 (Recommended) BFS_Initialize_Parameter 2048 (Рэкамендуецца)

View File

@ -0,0 +1,8 @@
1 czech x-vnd.Haiku-BFSAddOn 1570987954
Enable query support BFS_Initialize_Parameter Zapnout podporu dotazování
Disabling query support may speed up certain file system operations, but should\nonly be used if one is absolutely certain that one will not need queries.\nAny volume that is intended for booting Haiku must have query support enabled. BFS_Initialize_Parameter Zakázání podpory dotazů může urychlit určité operace se souborovým systémem, ale mělo by\nbýt použito pouze v případě, že je zcela jistě nepotřebujete.\nKaždý svazek, který je určen ke spouštění Haiku, musí mít podporu dotazů povolenu.
Name: BFS_Initialize_Parameter Jméno svazku:
8192 (Mostly large files) BFS_Initialize_Parameter 8192 (Hlavně velké soubory)
2048 (Recommended) BFS_Initialize_Parameter 2048 (Doporučeno)
1024 (Mostly small files) BFS_Initialize_Parameter 1024 (Hlavně malé soubory)
Blocksize: BFS_Initialize_Parameter Velikost bloku:

View File

@ -1,5 +1,5 @@
1 spanish; castilian x-vnd.Haiku-BFSAddOn 1570987954
Enable query support BFS_Initialize_Parameter Permitir consultas
Enable query support BFS_Initialize_Parameter Activar soporte de consultas
Disabling query support may speed up certain file system operations, but should\nonly be used if one is absolutely certain that one will not need queries.\nAny volume that is intended for booting Haiku must have query support enabled. BFS_Initialize_Parameter Deshabilitar el soporte para consultas puede acelerar ciertas operaciones del sistema de archivos,\npero solo debe usarse si está absolutamente seguro que no necesitará realizar búsquedas de archivos.\nCualquier volumen que desee ser usado para iniciar Haiku debe tener habilitado el soporte para consultas.
Name: BFS_Initialize_Parameter Nombre:
8192 (Mostly large files) BFS_Initialize_Parameter 8192 (mayormente archivos grandes)

View File

@ -1,6 +1,6 @@
1 japanese x-vnd.Haiku-BFSAddOn 1570987954
Enable query support BFS_Initialize_Parameter クエリを有効にする
Disabling query support may speed up certain file system operations, but should\nonly be used if one is absolutely certain that one will not need queries.\nAny volume that is intended for booting Haiku must have query support enabled. BFS_Initialize_Parameter クエリを無効にすると、ファイルシステム動作の一部が早くなりますが、\n絶対にそれを必要としないと確信している場合のみに使用するべきです。\nHaiku の起動を目的とするボリュームは、クエリを有効にする必要があります。
Disabling query support may speed up certain file system operations, but should\nonly be used if one is absolutely certain that one will not need queries.\nAny volume that is intended for booting Haiku must have query support enabled. BFS_Initialize_Parameter クエリを無効にすると、ファイルシステム動作の一部が早くなりますが、\n絶対にそれを必要としないと確信している場合のみに使用するべきです。\nHaiku の起動ボリュームは、クエリを有効にする必要があります。
Name: BFS_Initialize_Parameter ボリューム名:
8192 (Mostly large files) BFS_Initialize_Parameter 8192 (主に大きいファイル用)
2048 (Recommended) BFS_Initialize_Parameter 2048 (推奨)

View File

@ -1,8 +1,8 @@
1 portuguese (brazil) x-vnd.Haiku-BFSAddOn 1570987954
Enable query support BFS_Initialize_Parameter Habilitar suporte a consultas
Disabling query support may speed up certain file system operations, but should\nonly be used if one is absolutely certain that one will not need queries.\nAny volume that is intended for booting Haiku must have query support enabled. BFS_Initialize_Parameter Desabilitar o suporte a consulta pode aumentar a velocidade de certas operações do sistema de arquivos, mas deveria\nser usado somente se estiver absolutamente certo que não irá precisar de consultas.\nQualquer volume que estiver designado para inicializar o Haiku deve ter suporte a consulta habilitado.
Disabling query support may speed up certain file system operations, but should\nonly be used if one is absolutely certain that one will not need queries.\nAny volume that is intended for booting Haiku must have query support enabled. BFS_Initialize_Parameter Desativar o suporte a consultas pode acelerar certas operações do sistema de arquivos, mas\nsó deve ser usado se houver certeza absoluta de que não será necessário fazer consultas.\nQualquer volume destinado a inicializar o Haiku deve ter o suporte a consultas habilitado.
Name: BFS_Initialize_Parameter Nome:
8192 (Mostly large files) BFS_Initialize_Parameter 8192 (Majoritariamente arquivos grandes)
2048 (Recommended) BFS_Initialize_Parameter 2048 (Recomendado)
1024 (Mostly small files) BFS_Initialize_Parameter 1024 (Na maioria arquivos pequenos)
1024 (Mostly small files) BFS_Initialize_Parameter 1024 (Majoritariamente arquivos pequenos)
Blocksize: BFS_Initialize_Parameter Tamanho do bloco:

View File

@ -2,7 +2,7 @@
Enable query support BFS_Initialize_Parameter Activează suportul de interogare
Disabling query support may speed up certain file system operations, but should\nonly be used if one is absolutely certain that one will not need queries.\nAny volume that is intended for booting Haiku must have query support enabled. BFS_Initialize_Parameter Dezactivarea suportului de interogare poate accelera anumite operații ale sistemului de fișiere, dar ar trebui\nsă fie utilizat doar dacă sunteți absolut sigur că nu veți avea nevoie de interogări.\nOrice volum care este destinat pentru pornirea Haiku trebuie să aibă suportul de interogare activat.
Name: BFS_Initialize_Parameter Nume:
8192 (Mostly large files) BFS_Initialize_Parameter 8192 (În general fișiere mari)
2048 (Recommended) BFS_Initialize_Parameter 2048 (Recomandat)
1024 (Mostly small files) BFS_Initialize_Parameter 1024 (în general fișiere mici)
8192 (Mostly large files) BFS_Initialize_Parameter 8192 (mai ales fișiere mari)
2048 (Recommended) BFS_Initialize_Parameter 2048 (recomandat)
1024 (Mostly small files) BFS_Initialize_Parameter 1024 (mai ales fișiere mici)
Blocksize: BFS_Initialize_Parameter Dimensiune bloc:

View File

@ -0,0 +1,2 @@
1 belarusian x-vnd.Haiku-BTRFSDiskAddOn 4073743268
Name: BTRFS_Initialize_Parameter Імя:

View File

@ -0,0 +1,2 @@
1 czech x-vnd.Haiku-BTRFSDiskAddOn 4073743268
Name: BTRFS_Initialize_Parameter Název:

View File

@ -0,0 +1,4 @@
1 belarusian x-vnd.Haiku-FATAddOn 2766737426
Auto (default) FAT_Initialize_Parameter Аўтаматычна (па змоўчанні)
FAT bits: FAT_Initialize_Parameter Бітнасць FAT
Name: FAT_Initialize_Parameter Імя:

View File

@ -0,0 +1,4 @@
1 czech x-vnd.Haiku-FATAddOn 2766737426
Auto (default) FAT_Initialize_Parameter Automaticky (výchozí)
FAT bits: FAT_Initialize_Parameter FAT bity:
Name: FAT_Initialize_Parameter Název:

View File

@ -1,4 +1,4 @@
1 indonesian x-vnd.Haiku-FATAddOn 2766737426
Auto (default) FAT_Initialize_Parameter Auto (bawaan standar)
Auto (default) FAT_Initialize_Parameter Otomatis (baku)
FAT bits: FAT_Initialize_Parameter Bit FAT:
Name: FAT_Initialize_Parameter Nama:

View File

@ -1,4 +1,4 @@
1 portuguese (brazil) x-vnd.Haiku-FATAddOn 2766737426
Auto (default) FAT_Initialize_Parameter Auto (padrão)
Auto (default) FAT_Initialize_Parameter Automático (padrão)
FAT bits: FAT_Initialize_Parameter Bits da FAT:
Name: FAT_Initialize_Parameter Nome:

View File

@ -0,0 +1,2 @@
1 czech x-vnd.Haiku-IntelDiskAddOn 946918966
Active partition PrimaryPartitionEditor Aktivní oddíl

View File

@ -0,0 +1,2 @@
1 czech x-vnd.Haiku-NTFSDiskAddOn 25755486
Name: NTFS_Initialize_Parameter Název:

View File

@ -1,6 +1,8 @@
1 belarusian x-vnd.Haiku-KeyboardInputServerDevice 2228550365
1 belarusian x-vnd.Haiku-KeyboardInputServerDevice 131044710
If the application will not quit you may have to kill it. Team monitor Калі праграма не спыніцца вам магчыма прыдзецца знішчыць яе.
Quit application Team monitor Спыніць праграму
Open Terminal Team monitor Адчыніць Тэрмінал
{0, plural,one{Hold CONTROL+ALT+DELETE for # second to reboot.}other{Hold CONTROL+ALT+DELETE for # seconds to reboot.}} Team monitor {0, plural,one{Трымайце CONTROL+ALT+DELETE # секунду каб перазагрузіць.}other{Трымайце CONTROL+ALT+DELETE # секунд каб перазагрузіць.}}
Restart the desktop Team monitor Перазапусціць дэсктоп
Force reboot Team monitor Перагрузіць
Team monitor Team monitor Манітор працэсаў

View File

@ -0,0 +1,11 @@
1 czech x-vnd.Haiku-KeyboardInputServerDevice 131044710
If the application will not quit you may have to kill it. Team monitor Pokud se aplikace neukončí, možná ji budete muset zabít.
Quit application Team monitor Ukončit aplikaci
Open Terminal Team monitor Otevřít okno terminálu
{0, plural,one{Hold CONTROL+ALT+DELETE for # second to reboot.}other{Hold CONTROL+ALT+DELETE for # seconds to reboot.}} Team monitor {0, plural,one{Pro restart podržte klávesy CONTROL+ALT+DELETE po dobu # sekundy.}other{Pro restart podržte klávesy CONTROL+ALT+DELETE po dobu # sekund.}}
Restart the desktop Team monitor Restartovat plochu
Force reboot Team monitor Vynutit restart
Team monitor Team monitor Monitor týmů
Kill application Team monitor Zabít aplikaci
Cancel Team monitor Zrušit
(This team is a system component) Team monitor (Tento tým je součástí systému)

View File

@ -1,7 +1,8 @@
1 greek, modern (1453-) x-vnd.Haiku-KeyboardInputServerDevice 1085266673
1 greek, modern (1453-) x-vnd.Haiku-KeyboardInputServerDevice 131044710
If the application will not quit you may have to kill it. Team monitor Αν η εφαρμογή δεν κλείσει, θα πρέπει ενδεχομένως να την τερματίσετε εξαναγκαστικά.
Quit application Team monitor Κλείσιμο εφαρμογής
Open Terminal Team monitor Άνοιγμα Τερματικού
{0, plural,one{Hold CONTROL+ALT+DELETE for # second to reboot.}other{Hold CONTROL+ALT+DELETE for # seconds to reboot.}} Team monitor {0, plural,one{Πατήστε CONTROL+ALT+DELETE για # δευτερόλεπτο για επανεκκίνηση.}other{Πατήστε CONTROL+ALT+DELETE για # δευτερόλεπτα για επανεκκίνηση.}}
Restart the desktop Team monitor Επαννεκίνηση
Force reboot Team monitor Εξαναγκαστική επανεκκίνηση
Team monitor Team monitor Οθόνη ομάδας

View File

@ -1,9 +1,11 @@
1 indonesian x-vnd.Haiku-KeyboardInputServerDevice 2228550365
1 indonesian x-vnd.Haiku-KeyboardInputServerDevice 131044710
If the application will not quit you may have to kill it. Team monitor Jika aplikasi tidak mau keluar anda mungkin harus mematikannya.
Quit application Team monitor Keluar dari aplikasi
Restart the desktop Team monitor Start ulang desktop
Quit application Team monitor Keluar aplikasi
Open Terminal Team monitor Buka Terminal
{0, plural,one{Hold CONTROL+ALT+DELETE for # second to reboot.}other{Hold CONTROL+ALT+DELETE for # seconds to reboot.}} Team monitor {0, plural,one{Tahan CONTROL+ALT+DELETE selama # detik untuk mulai ulang.}other{Tahan CONTROL+ALT+DELETE selama # detik untuk mulai ulang.}}
Restart the desktop Team monitor Mulai ulang desktop
Force reboot Team monitor Paksa restart
Team monitor Team monitor Monitor tim
Team monitor Team monitor Pemantau tim
Kill application Team monitor Matikan aplikasi
Cancel Team monitor Batal
(This team is a system component) Team monitor (Tim ini adalah komponen sistem)

View File

@ -1,11 +1,11 @@
1 japanese x-vnd.Haiku-KeyboardInputServerDevice 131044710
If the application will not quit you may have to kill it. Team monitor アプリケーションが終了しない場合は、強制終了しないといけないかもしれません。
Quit application Team monitor アプリケーション終了
Quit application Team monitor アプリケーション終了
Open Terminal Team monitor ターミナルを開く
{0, plural,one{Hold CONTROL+ALT+DELETE for # second to reboot.}other{Hold CONTROL+ALT+DELETE for # seconds to reboot.}} Team monitor {0, plural,one{CONTROL+ALT+DELETE を # 秒押すと再起動します。}other{Hold CONTROL+ALT+DELETE を # 秒押すと再起動します。}}
Restart the desktop Team monitor デスクトップ再起動
{0, plural,one{Hold CONTROL+ALT+DELETE for # second to reboot.}other{Hold CONTROL+ALT+DELETE for # seconds to reboot.}} Team monitor {0, plural,one{CONTROL+ALT+DELETE を # 秒押すと再起動します。}other{CONTROL+ALT+DELETE を # 秒押すと再起動します。}}
Restart the desktop Team monitor デスクトップ再起動
Force reboot Team monitor 強制再起動
Team monitor Team monitor チームモニター
Kill application Team monitor アプリケーション強制終了
Kill application Team monitor アプリケーション強制終了
Cancel Team monitor 中止
(This team is a system component) Team monitor (このチームはシステムの構成要素です)

View File

@ -1,7 +1,8 @@
1 dutch; flemish x-vnd.Haiku-KeyboardInputServerDevice 1085266673
1 dutch; flemish x-vnd.Haiku-KeyboardInputServerDevice 131044710
If the application will not quit you may have to kill it. Team monitor Als de toepassing niet afsluit moet je het misschien afbreken.
Quit application Team monitor Toepassing afsluiten
Open Terminal Team monitor Open Terminal
{0, plural,one{Hold CONTROL+ALT+DELETE for # second to reboot.}other{Hold CONTROL+ALT+DELETE for # seconds to reboot.}} Team monitor {0, plural,one{Houd CONTROL+ALT+DELETE # seconde ingedrukt om te herstarten.}other{Houd CONTROL+ALT+DELETE ingedrukt voor # seconden om te herstarten.}}
Restart the desktop Team monitor Start het bureaublad opnieuw
Force reboot Team monitor Forceer herstart
Team monitor Team monitor Teammonitor

View File

@ -1,6 +1,8 @@
1 polish x-vnd.Haiku-KeyboardInputServerDevice 2228550365
1 polish x-vnd.Haiku-KeyboardInputServerDevice 131044710
If the application will not quit you may have to kill it. Team monitor Jeżeli aplikacja nie zakończy działania, być może trzeba będzie ją zabić.
Quit application Team monitor Zakończ aplikację
Open Terminal Team monitor Uruchom Terminal
{0, plural,one{Hold CONTROL+ALT+DELETE for # second to reboot.}other{Hold CONTROL+ALT+DELETE for # seconds to reboot.}} Team monitor {0, plural,one{Przytrzymaj CONTROL+ALT+DELETE przez # sekundę, aby uruchomić system ponownie.} few{Przytrzymaj CONTROL+ALT+DELETE przez # sekundy, aby uruchomić system ponownie.} many{Przytrzymaj CONTROL+ALT+DELETE przez # sekund, aby uruchomić system ponownie.} other{Przytrzymaj CONTROL+ALT+DELETE przez # sekundy, aby uruchomić system ponownie.}}
Restart the desktop Team monitor Uruchom pulpit ponownie
Force reboot Team monitor Wymuś ponowne uruchomienie komputera
Team monitor Team monitor Monitor zespołów

View File

@ -1,6 +1,8 @@
1 portuguese (brazil) x-vnd.Haiku-KeyboardInputServerDevice 2228550365
If the application will not quit you may have to kill it. Team monitor Se o aplicativo não fechar, você deve matá-lo.
Quit application Team monitor Fechar aplicativo
1 portuguese (brazil) x-vnd.Haiku-KeyboardInputServerDevice 131044710
If the application will not quit you may have to kill it. Team monitor Se o aplicativo não for encerrado, talvez seja necessário matá-lo.
Quit application Team monitor Sair do aplicativo
Open Terminal Team monitor Abrir Terminal
{0, plural,one{Hold CONTROL+ALT+DELETE for # second to reboot.}other{Hold CONTROL+ALT+DELETE for # seconds to reboot.}} Team monitor {0, plural,one{Segure CONTROL+ALT+DELETE por # segundo para reiniciar.}other{Segure CONTROL+ALT+DELETE por # segundos para reiniciar.}}
Restart the desktop Team monitor Reiniciar a área de trabalho
Force reboot Team monitor Forçar a reinicialização
Team monitor Team monitor Monitor de equipe

View File

@ -1,11 +1,11 @@
1 romanian x-vnd.Haiku-KeyboardInputServerDevice 131044710
If the application will not quit you may have to kill it. Team monitor Dacă aplicația nu se închide va trebui să o termini forțat.
Quit application Team monitor Închide aplicația
If the application will not quit you may have to kill it. Team monitor Dacă aplicația nu se închide, va trebui să o termini.
Quit application Team monitor Părăsește aplicația
Open Terminal Team monitor Deschide Terminal
{0, plural,one{Hold CONTROL+ALT+DELETE for # second to reboot.}other{Hold CONTROL+ALT+DELETE for # seconds to reboot.}} Team monitor {0, plural,one{Hold CONTROL+ALT+DELETE for # second to reboot.}other{Hold CONTROL+ALT+DELETE for # seconds to reboot.}}
Restart the desktop Team monitor Repornește desktopul
Force reboot Team monitor Forțează repornirea
Team monitor Team monitor Monitor echipe
Team monitor Team monitor Monitor de echipă
Kill application Team monitor Termină aplicația
Cancel Team monitor Anulează
(This team is a system component) Team monitor (Această echipă este o componentă de sistem)

View File

@ -1,7 +1,8 @@
1 russian x-vnd.Haiku-KeyboardInputServerDevice 1085266673
1 russian x-vnd.Haiku-KeyboardInputServerDevice 131044710
If the application will not quit you may have to kill it. Team monitor Если приложение не завершится, возможно вам понадобиться убить его.
Quit application Team monitor Завершить приложение
Open Terminal Team monitor Запустить Терминал
{0, plural,one{Hold CONTROL+ALT+DELETE for # second to reboot.}other{Hold CONTROL+ALT+DELETE for # seconds to reboot.}} Team monitor {0, plural,one{Удерживайте CONTROL+ALT+DELETE в течение # секунды для перезагрузки.}other{Удерживайте CONTROL+ALT+DELETE в течение # секунд для перезагрузки.}}
Restart the desktop Team monitor Перезапустить рабочий стол
Force reboot Team monitor Перезагрузить принудительно
Team monitor Team monitor Монитор процессов

View File

@ -1,6 +1,8 @@
1 english x-vnd.Haiku-KeyboardInputServerDevice 2228550365
1 english x-vnd.Haiku-KeyboardInputServerDevice 131044710
If the application will not quit you may have to kill it. Team monitor 如果该程序无法退出,您可能需要将其杀死。
Quit application Team monitor 退出程序
Open Terminal Team monitor 打开终端
{0, plural,one{Hold CONTROL+ALT+DELETE for # second to reboot.}other{Hold CONTROL+ALT+DELETE for # seconds to reboot.}} Team monitor {0, plural,one{按下 CONTROL+ALT+DELETE 等待 # 秒后重新启动。}other{按下 CONTROL+ALT+DELETE 等待 # 秒后重新启动。}}
Restart the desktop Team monitor 重启桌面
Force reboot Team monitor 强制重启
Team monitor Team monitor 组管理器

View File

@ -1,6 +1,9 @@
1 belarusian x-vnd.Haiku-MatchHeader 1349121828
1 belarusian x-vnd.Haiku-MatchHeader 2024597924
Delete message ConfigView Выдаліць паведамленне
Match \"%attribute\" against \"%regex\" RuleFilter Супадае \"%attribute\" з \"%regex\"
Match header RuleFilter Супадаючы загаловак
Set flags to ConfigView Меткі паведамлення ў
Header field (e.g. Subject, From, …) ConfigView Поле загалоўка (напр. Тэма, Ад, …)
<Choose account> ConfigView <Абярыце рахунак>
Then ConfigView Тады
If ConfigView Калі
@ -9,4 +12,5 @@ Reply with ConfigView Адказаць з
<Choose action> ConfigView <Абярыце аперацыю>
Move to ConfigView Перасунуць у
this field is based on the action ConfigView гэты параметр грунтуецца на аперацыі
Account ConfigView Рахунак
has ConfigView меў

View File

@ -0,0 +1,17 @@
1 czech x-vnd.Haiku-MatchHeader 1946584206
Delete message ConfigView Smazat zprávu
Match \"%attribute\" against \"%regex\" RuleFilter Shoda \"%attribute\" vůči \"%regex\"
Match header RuleFilter Shoda hlavičky
Set flags to ConfigView Nastavit příznaky na
Header field (e.g. Subject, From, …) ConfigView Hlavička (např. Předmět, Od, ...)
<Choose account> ConfigView <Zvolte účet>
Wildcard value like \"*spam*\".\nPrefix with \"REGEX:\" in order to use regular expressions. ConfigView Hodnota se zástupnými znaky jako například \"*spam*\".\nPoužijte předponu \"REGEX:\" pokud chcete použít regulární výraz.
Then ConfigView Pak
If ConfigView Jestliže
Set as read ConfigView Nastavit jako přečtené
Reply with ConfigView Odpovědět pomocí
<Choose action> ConfigView <Zvolte akci>
Move to ConfigView Přesunout do
this field is based on the action ConfigView toto pole je založeno na operaci
Account ConfigView Účet
has ConfigView má

View File

@ -2,13 +2,13 @@
Delete message ConfigView Hapus pesan
Match \"%attribute\" against \"%regex\" RuleFilter Cocokkan \"%attribute\" terhadap \"%regex\"
Match header RuleFilter Cocokan tajuk
Set flags to ConfigView Setel bendera ke
Set flags to ConfigView Atur bendera ke
Header field (e.g. Subject, From, …) ConfigView Bidang tajuk (misal. Subyek, Dari, …)
<Choose account> ConfigView <Pilih akun>
Wildcard value like \"*spam*\".\nPrefix with \"REGEX:\" in order to use regular expressions. ConfigView Nilai wildcard seperti \"*spam*\".\nDiawali dengan \"REGEX:\" untuk menggunakan expresi-ekspresi reguler.
Then ConfigView Kemudian
If ConfigView Jika
Set as read ConfigView Setel telah dibaca
Set as read ConfigView Atur sebagai dibaca
Reply with ConfigView Balas dengan
<Choose action> ConfigView <Pilih tindakan>
Move to ConfigView Pindahkan ke

View File

@ -1,16 +1,16 @@
1 japanese x-vnd.Haiku-MatchHeader 1946584206
Delete message ConfigView メッセージを削除する
Delete message ConfigView メッセージの削除
Match \"%attribute\" against \"%regex\" RuleFilter \"%attribute\" を \"%regex\" で照合する
Match header RuleFilter ヘッダー一致条件
Set flags to ConfigView フラグを指定する
Header field (e.g. Subject, From, …) ConfigView ヘッダーフィールド (例. 題名, 送信元, )
<Choose account> ConfigView <アカウント選択>
Header field (e.g. Subject, From, …) ConfigView ヘッダーフィールド (例. 題名, 送信元, ...)
<Choose account> ConfigView <アカウント選択>
Wildcard value like \"*spam*\".\nPrefix with \"REGEX:\" in order to use regular expressions. ConfigView ワイルドカード値は \"*spam*\" のようなものです。\n正規表現を使用するには、先頭に \"REGEX:\" をつけてください。
Then ConfigView ならば
If ConfigView 条件:
If ConfigView 条件
Set as read ConfigView 既読にする
Reply with ConfigView 返事を書く
<Choose action> ConfigView <動作選択>
<Choose action> ConfigView <動作選択>
Move to ConfigView に移動する
this field is based on the action ConfigView ここは動作によって意味が変わります
Account ConfigView アカウント

View File

@ -2,10 +2,10 @@
Delete message ConfigView Apagar mensagem
Match \"%attribute\" against \"%regex\" RuleFilter Combinar \"%atributo\" com \"%regex\"
Match header RuleFilter Combinar cabeçalho
Set flags to ConfigView Definir bandeiras para
Header field (e.g. Subject, From, …) ConfigView Cabeçalho (conterá Assunto, Remetente, …)
Set flags to ConfigView Definir sinalizadores para
Header field (e.g. Subject, From, …) ConfigView Campo de cabeçalho (ex.: Assunto, De, …)
<Choose account> ConfigView <Escolher conta>
Wildcard value like \"*spam*\".\nPrefix with \"REGEX:\" in order to use regular expressions. ConfigView Valor curinga, como \"*spam*\".\nPara usar expressões regulares, utilize o prefixo \"REGEX:\"
Wildcard value like \"*spam*\".\nPrefix with \"REGEX:\" in order to use regular expressions. ConfigView Valor curinga como \"*spam*\".\nPrefixo com \"REGEX:\" para usar expressões regulares.
Then ConfigView Então
If ConfigView Se
Set as read ConfigView Marcar como lida

View File

@ -1,16 +1,16 @@
1 romanian x-vnd.Haiku-MatchHeader 1946584206
Delete message ConfigView Șterge mesajul
Match \"%attribute\" against \"%regex\" RuleFilter Potrivește \„%attribute\” peste \„%regex\”
Match header RuleFilter Potrivește antet
Set flags to ConfigView Stabilește indicatorii la
Match header RuleFilter Potrivește antetul
Set flags to ConfigView Stabilește fanioanele la
Header field (e.g. Subject, From, …) ConfigView Fișier antet (de ex. Subiect, De la, …)
<Choose account> ConfigView <Selectează contul>
<Choose account> ConfigView <Choose account>
Wildcard value like \"*spam*\".\nPrefix with \"REGEX:\" in order to use regular expressions. ConfigView O valoare de metacaracter precum \„*spam*\”.\nPrefixați cu \„REGEX:\” pentru a utiliza expresii regulate.
Then ConfigView Atunci
If ConfigView Dacă
Set as read ConfigView Marchează ca citit
Set as read ConfigView Stabilește la citit
Reply with ConfigView Răspunde cu
<Choose action> ConfigView <Selectează acțiunea>
<Choose action> ConfigView <Choose action>
Move to ConfigView Mută la
this field is based on the action ConfigView acest câmp este bazat pe acțiunea
Account ConfigView Cont

View File

@ -1,12 +1,13 @@
1 belarusian x-vnd.Haiku-NewMailNotification 583443025
Keyboard LEDs ConfigView Клавіятурныя LED
Log window ConfigView Вакно пратаколу
Central beep ConfigView Цэнтральны гук
Beep ConfigView Біп
Method: ConfigView Метад:
Central alert ConfigView Цэнтральная папярэджанне
Alert ConfigView Папярэджанне
none ConfigView няма
New messages filter Новыя паведамленні
New mails notification ConfigView Інфа пра новыя паведамленні
OK filter ОК
1 belarusian x-vnd.Haiku-NewMailNotification 2111731137
Log window NotifierConfigView Акно гісторыі
none NotifierConfigView не
New mails notification NotifierFilter Паведамленне пра новую пошту
Alert NotifierConfigView Паведамленне
OK NotifierFilter Добра
Central alert NotifierConfigView Цэнтральнае паведамленне
Beep NotifierConfigView Гукавы сігнал
Central beep NotifierConfigView Цэнтральны гукавы сігнал
{0, plural, one{One new message} other{# new messages}} NotifierFilter {0, plural, one{Адно новае паведамленне} few{# новых паведамленняў} other{# новых паведамленняў}}
New messages NotifierFilter Новыя паведамленні
Method: NotifierConfigView Метад:
Keyboard LEDs NotifierConfigView Клавіатурныя светадыёды

View File

@ -0,0 +1,14 @@
1 czech x-vnd.Haiku-NewMailNotification 1375000288
Log window NotifierConfigView Okno záznamu
none NotifierConfigView žádné
New mails notification NotifierFilter Upozornění na nové zprávy
Alert NotifierConfigView Upozornění
OK NotifierFilter OK
Central alert NotifierConfigView Centrální upozornění
Beep NotifierConfigView Pípnutí
Central beep NotifierConfigView Centrální pípnutí
{0, plural, one{One new message} other{# new messages}} NotifierFilter {0, plural, one{Jedna nová zpráva} few{# nové zprávy} other{# nových zpráv}}
New messages NotifierFilter Nové zprávy
Method: NotifierConfigView Metoda:
Keyboard LEDs NotifierConfigView LED klávesnice
You have {0, plural, one{one new message} other{# new messages}} for %account. NotifierFilter Máte {0, plural, one{jednu novou zprávu} few{# nové zprávy} other{# nových zpráv}} na %account.

View File

@ -0,0 +1,2 @@
1 english (united kingdom) x-vnd.Haiku-NewMailNotification 2819869035
OK NotifierFilter Alright

View File

@ -1,12 +1,14 @@
1 portuguese (brazil) x-vnd.Haiku-NewMailNotification 2338542986
1 portuguese (brazil) x-vnd.Haiku-NewMailNotification 1375000288
Log window NotifierConfigView Janela de registro
none NotifierConfigView nenhum
New mails notification NotifierFilter Notificação de novas mensagens
New mails notification NotifierFilter Notificação de novos e-mails
Alert NotifierConfigView Alerta
OK NotifierFilter OK
Central alert NotifierConfigView Alerta central
Beep NotifierConfigView Alarme sonoro
Central beep NotifierConfigView Alarme sonoro central
{0, plural, one{One new message} other{# new messages}} NotifierFilter {0, plural, one{Uma nova mensagem} other{# novas mensagens}}
New messages NotifierFilter Novas mensagens
Method: NotifierConfigView Método:
Keyboard LEDs NotifierConfigView LEDs do teclado
You have {0, plural, one{one new message} other{# new messages}} for %account. NotifierFilter Você tem {0, plural, one{uma nova mensagem} other{# novas mensagems}} para %account.

View File

@ -1,14 +1,14 @@
1 romanian x-vnd.Haiku-NewMailNotification 1375000288
Log window NotifierConfigView Fereastră istoric
none NotifierConfigView nimic
New mails notification NotifierFilter Înștiințare mailuri noi
Log window NotifierConfigView Fereastră de jurnal
none NotifierConfigView nespecificat
New mails notification NotifierFilter Notificare emailuri noi
Alert NotifierConfigView Alertă
OK NotifierFilter OK
Central alert NotifierConfigView Alertă centrală
Beep NotifierConfigView Bip
Central beep NotifierConfigView Bip central
{0, plural, one{One new message} other{# new messages}} NotifierFilter {0, plural, one{Un mesaj nou} other{# mesaje noi}}
{0, plural, one{One new message} other{# new messages}} NotifierFilter {0, plural, one{One new message} other{# new messages}}
New messages NotifierFilter Mesaje noi
Method: NotifierConfigView Metodă:
Keyboard LEDs NotifierConfigView LEDuri tastatură
Keyboard LEDs NotifierConfigView LEDuri de tastatură
You have {0, plural, one{one new message} other{# new messages}} for %account. NotifierFilter Aveți {0, plural, one{one new message} other{# new messages}} pentru %account.

View File

@ -1,4 +1,4 @@
1 english x-vnd.Haiku-NewMailNotification 2111731137
1 english x-vnd.Haiku-NewMailNotification 1375000288
Log window NotifierConfigView 日志窗口
none NotifierConfigView 无
New mails notification NotifierFilter 新邮件通知
@ -11,3 +11,4 @@ Central beep NotifierConfigView 中部蜂鸣
New messages NotifierFilter 新消息
Method: NotifierConfigView 方法:
Keyboard LEDs NotifierConfigView 键盘LED
You have {0, plural, one{one new message} other{# new messages}} for %account. NotifierFilter 您的账户 %account 有 {0, plural, one{one new message} other{# new messages}}

View File

@ -1,6 +1,7 @@
1 belarusian x-vnd.Haiku-SpamFilter 160316705
1 belarusian x-vnd.Haiku-SpamFilter 468104950
or empty e-mail SpamFilterConfig ці пустыя паведамленні
Genuine below and uncertain above: SpamFilterConfig Сапраўдныя ніжэй і нявызначаныя вышэй:
Spam above: SpamFilterConfig Спам вышэй:
Add spam rating to start of subject SpamFilterConfig Дадаць спам-рэйтынг ў пачатак тэмы
Bayesian Spam Filter SpamFilter Спам-фільтр Баеса
Learn from all incoming e-mail SpamFilterConfig Навучаць з ўсіх уваходных паведамленняў

Some files were not shown because too many files have changed in this diff Show More