Commit Graph

63541 Commits

Author SHA1 Message Date
Rudolf Cornelissen
cfd3bb41aa intel_extreme: log srcclk info, Sandy/Ivy eDP detect BIOS pipe setup and use that. 2022-02-12 23:29:42 +01:00
Autocomitter
9aa0aea3a8 Update translations from Pootle 2022-02-12 08:08:27 +00:00
Augustin Cavalier
b4f4368b2b bus_managers/scsi: Use kernel mutex API directly and not through a wrapper.
No functional change intended.
2022-02-11 15:06:41 -05:00
Augustin Cavalier
8016cfee1a app_server: Put base class call in the switch where it belongs.
We don't need to forward handled messages.
Thanks axeld for the review.
2022-02-11 14:44:22 -05:00
Augustin Cavalier
71f4447184 kernel/cache: Set parent_data outside the if-block.
Reduces code duplication while retaining clarity.
Thanks axeld for the review.
2022-02-11 14:43:48 -05:00
Humdinger
a04ae8afcf Cortex: Fix B_PRIu32 usage
Noticed because Pootle showed "Video data between line lu and lu".

Change-Id: I55eeba9d3df88debbf2121a653b8220e643d07bb
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4959
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2022-02-11 13:43:25 +00:00
Augustin Cavalier
576440062d app_server: Scan fonts in the looper thread.
This way, the first unlucky application to request the font list
after paths change (or on first app_server startup) will not stall out
while the font list is rebuilt, at least most of the time.

Should fix #17574.
2022-02-10 16:44:27 -05:00
Augustin Cavalier
bde40eceef app_server: Remove TODO comment from B_NODE_MONITOR handling.
As far as I can tell, this TODO has been resolved since 3 hours after
it was added in 2005, when the second case of B_ENTRY_REMOVED (i.e.
single-file removal instead of whole-directory removal) was implemented.
_RemoveDirectory does not appear to be fully implemented, though;
but it has its own TODO and does not need this one.
2022-02-10 16:14:25 -05:00
Augustin Cavalier
ec39014cf4 app_server: Add default case for FontManager::MessageReceived. 2022-02-10 16:12:43 -05:00
Augustin Cavalier
1e926a21ef BReferenceable: Enable reference-count assertions even outside DEBUG.
Now that we are merely doing basic comparison tests and do not invoke
get_thread_info or the like, this is cheap enough that we can enable it
even when DEBUG is not enabled, and get assertions in more cases.
2022-02-10 15:17:16 -05:00
Augustin Cavalier
071d20db2b BReferenceable: Relax reference-count destruction checks.
"delete object;" is logically the same as "object->ReleaseReference();"
when there is a reference count of 1, and we need to permit that instead
of asserting on it, so the case where a referenceable object is a member
variable of a class works without asserting.

This manifested in packagefs: the Resolvable class has a linked-list with
Dependency objects (which are referenceable) in it. (Further, the stack
checks do not work quite right for kernel stacks.)

Fixes #17575.
2022-02-10 14:31:34 -05:00
Augustin Cavalier
e51f545c90 kernel/team: Clear group_id when removing a team from a group.
And remove a redundant clear of the group pointer.
2022-02-09 17:38:16 -05:00
Augustin Cavalier
b396a5b22e kernel/team: Clean up and reorder Team initializer.
* Put all fields in the same order they are in the header.
 * Add missing initializers for various fields to NULL or -1;
   while these should be initialized by later routines,
   for consistency's sake we should also clear them here.
2022-02-09 17:37:19 -05:00
Augustin Cavalier
9af6dc63b2 kernel: Remove malloc_referenced now that it is unused.
It was added long before we had KernelReferenceable, which should
be used instead.
2022-02-09 16:42:06 -05:00
Augustin Cavalier
e372ec1e02 kernel: Use KernelReferenceable for the supplementary_groups array.
Instead of the malloc_referenced system. Makes for some cleaner code,
and the malloc_referenced system was only used here, so it can now be
dropped altogether.
2022-02-09 16:39:43 -05:00
Máximo Castañeda
72acf6a91b generate_boot_screen: fix build
Change-Id: I4ce2a45887fd2f562216aa49e1bd34269bcfdef8
2022-02-09 21:32:32 +01:00
Humdinger
7dd4703452 HaikuDepot: remove unneeded B_TRANSLATE()
Change-Id: Icfdf179817d93dd981904ad64b2efae4f0c8b9a0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4958
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2022-02-09 15:35:20 +00:00
Augustin Cavalier
156ef95b1e kernel/block_cache: Fix memory leak in sub-transaction handling.
This code has been broken like this since 2012, so I am skeptical
that it is the cause of the more recently observed #17463.
It is however possible that more recent changes caused things
to get noticeably worse for some reason.

This may, however, resolve some of the other KDLs, e.g. #12847.
2022-02-08 18:37:01 -05:00
Augustin Cavalier
8a2d11b7dc kernel/block_cache: Adjust logic in cache_detach_sub_transaction.
This way it should be more clear that parent_data is being modified
in tandem with original_data.

No functional change intended.
2022-02-08 18:35:03 -05:00
Augustin Cavalier
e12a5fe215 kernel/slab: Change checks in FreeRawOrReturnCache to panic instead.
The function is largely useless if we cannot lock kernel space,
and the consumers may not expect it to silently "fail." Hence,
we now put the invocation of deferred_free in free_etc directly.
2022-02-08 18:33:20 -05:00
Augustin Cavalier
fc38a41393 BReferenceable: Fix build when the kernel is built with DEBUG enabled. 2022-02-08 18:28:16 -05:00
John Scipione
8b25c6d727 Appearance: Store decorator filename to disk untranslated
Save ShortcutName() (i.e. filename) instead of the potentially
translated decorator Name(). If the decorator has no ref but
fInitStatus is B_OK and fPath == "Default" return Default
decorator in ShortcutName(). The Default decorator unlike other
decorators has no file on disk associated with it.

We don't need to look for ShortcutName() when iterating through
decorators anymore because we look for "Default" then file names
before we try to find by name.

Fixes #16412

Change-Id: I3109681d11931e7f55b7afaf3a65af2fb9ed5e10
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4320
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2022-02-07 21:38:44 +00:00
urnenfeld
20b3c898d8 boot/efi/arm64: Enable FP/SIMD
* Kernel code uses q0 registers belonging to the 128 bits vectorial & floating point registers
* Apply stylistic suggestion from previous review

Change-Id: I41b5a807c3867de4bb3b9450607d48098f9471ef
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4925
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2022-02-07 21:36:55 +00:00
Augustin Cavalier
e88ab494a8 pkgman: Note in full-sync command summary that it may downgrade packages.
Fixes #10835.
2022-02-07 16:20:33 -05:00
Augustin Cavalier
e48ac4a3de Debugger: Add missing NULL check in ReportUserInterface.
Fixes #16565.
2022-02-07 16:14:50 -05:00
Augustin Cavalier
cb860bd2eb Add intel22x driver to the default images.
Fixes #17212.
2022-02-07 16:07:12 -05:00
Augustin Cavalier
1fc7d77323 XHCI: Downgrade tracing of CancelQueuedTransfers.
Now we only do it if TRACE_USB is enabled, or force-cancellation is specified.
2022-02-07 15:55:32 -05:00
Augustin Cavalier
312ea06980 XHCI: Do not print "transfer error" for COMP_STOPPED.
STOPPED errors are generated by StopEndpoint commands, which we issue,
so presumably we expect that we will get some STOPPED errors when doing
so, thus printing these is not really necessary.
2022-02-07 15:54:31 -05:00
Augustin Cavalier
125a7abe6f package_infos/webpositive: provides app:webpositive. 2022-02-07 15:11:30 -05:00
Augustin Cavalier
1267e873d3 protocols/unix: Do not re-build Referenceable.cpp.
It is now part of the general kernel exports (and is used by
packagefs, among other things.)
2022-02-07 15:08:21 -05:00
Augustin Cavalier
f6b6606652 BReferenceable: Always enable DEBUG in kernel mode when PARANOID_KERNEL_FREE is enabled.
This checks the reference counts are actually 0 (or 1 and allocated
on the stack). As PARANOID_KERNEL_FREE is enabled at KDEBUG_LEVEL 2,
this will thus be enabled on nightly builds.
2022-02-07 15:07:37 -05:00
Augustin Cavalier
ebf0b53a7e kernel/util/atomic: Permit atomic_pointer_get to accept const* pointers. 2022-02-07 14:35:23 -05:00
Augustin Cavalier
50157a8d17 kernel/condition_variable: Make ConditionVariableEntry::Variable non-inline.
We have to use an atomic here.
2022-02-07 14:22:39 -05:00
Augustin Cavalier
c9d521ea5b kernel/condition_variable: Various cleanups.
* Adjust a comment that now goes with 3 functions and not just 1.

 * Remove spinlock switch function, this is useless as it cannot
   change interrupt states here, but we require interrupts to
   be enabled to wait on a ConditionVariable.

 * Remove WaitStatus function from ConditionVariableEntry; unused
   and would require locks anyway.

 * Implement Publish using Init.
2022-02-07 14:22:12 -05:00
Augustin Cavalier
8774bf6012 libroot: Remove linker hack to prevent weak symbols.
Now that we support them in runtime_loader.
2022-02-07 14:19:58 -05:00
Augustin Cavalier
c41b379e5a runtime_loader: Support resolving weak symbols as NULL.
In the case where a weakly declared symbol has no definition,
it should just resolved to be NULL instead of failing to load at all.

GCC 11 builds of libroot.so wind up having one weak symbol
declaration that is unresolved at runtime, to __cxa_pure_virtual,
which seems to be provided by some object in libsupc++.a that ld
does not pull in automatically (and has to be forced at present.)

This change also amends symbol patcher behavior: it is now possible
for the symbol patcher to indicate symbols should be hidden by
changing the passed-in type to 0, instead. (Otherwise, weak symbols
would always get a value of NULL instead of being able to be hidden.)

Fixes #8288.

Previously-reviewed-on: https://review.haiku-os.org/c/haiku/+/4768
Change-Id: I6485c4e515cb53c6b81db971efbc10008fa6bd9d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4932
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2022-02-07 19:03:25 +00:00
X512
cba95132ca libroot: add timespec_get to build
* Added in hrev55773

Change-Id: Ib57b53c76641e87c5ac0c0cde2407a7bfe45ce41
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4935
Reviewed-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2022-02-07 16:38:47 +00:00
Rudolf Cornelissen
74e271b2a2 intel_extreme: eDP port width register read is OK after all (SandyBridge). 2022-02-06 22:26:26 +00:00
Autocomitter
a49db24180 Update translations from Pootle 2022-02-05 16:01:49 +00:00
Rudolf Cornelissen
9d361aaed2 intel_extreme: eDP port width seems fixed at 4 on SandyBridge. 2022-02-05 10:37:35 +00:00
Rudolf Cornelissen
4b5e0c3bcd intel_extreme: Sandy/IvyBridge fix 4 lanes DP detect, fully pgm eDP link 2022-02-04 19:56:27 +01:00
David Karoly
a18ff64517 boot/arm: remove unused arch_mmu.h
This file is used only by the u-boot raw bootloader and
it has identical content to platform/u-boot/mmu.h.

Therefore we can use mmu.h in the u-boot loader and remove
this header.

EFI platform has its own arch_mmu.h in
headers/private/kernel/boot/platform/efi

Change-Id: Ie77774fbcf4855f9bc643176c179670f6169b3b6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4929
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2022-02-04 11:42:45 +00:00
Augustin Cavalier
f39294c273 freebsd_iflib: Remove Haiku-specific semaphores code and use msleep instead.
Now that the interlocking issues are resolved with the previous commit,
using the main TQ_SLEEP mechanism no longer causes deadlocks and
network I/O freezes, so we can drop the custom code and use FreeBSD's
code instead.
2022-02-04 00:45:41 -05:00
Augustin Cavalier
33c03035d1 freebsd_network: Rewrite ConditionVariable-using code.
The old code was not at all correct with respect to interlocking.
The new code should be, and is also much simpler.
2022-02-04 00:45:41 -05:00
Augustin Cavalier
1960df3158 freebsd_network: Add some missing __BEGIN_DECLS/__END_DECLS. 2022-02-04 00:45:41 -05:00
Jérôme Duval
32f411b9ab hda: detect some audio devices per device ID
as it's possible they use the audio class_sub instead of hd_audio.
* also power up the audio function, this seems required on Jasper Lake.
* tested on Acer Swift 1 SF114-34.

Change-Id: I603018b1b973e7884aa99a58be1c24e568f2d5ae
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4928
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2022-02-04 05:40:11 +00:00
Augustin Cavalier
a8d965a0c4 kernel/condition_variable: Borrow the scheduler lock instead of self-unblocking.
Self-unblocking is not done anywhere else in the kernel and may not be
such a bright idea, it seems.

This also allows the elimination of some atomics, and resolves a race
that otherwise would have required another wait-loop. Performance
differences seem to be within the realm of noise.

Fixes #17553.

Change-Id: Id719ba51ed3f2a15557c8d53947182a5f8879b7b
2022-02-03 17:32:22 -05:00
Autocomitter
2d6d3938e7 Update translations from Pootle 2022-02-02 22:21:48 +00:00
X512
d03e5994ee ConditionVariable: add classical wait interface with lockable
Change-Id: Id18264e786dba818138caf3908c7a89b18e2a1dd
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4921
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2022-02-02 19:45:27 +00:00
X512
32fd04c959 AutoLocker: get ability to get lockable
Change-Id: Id8f554494ce83725c40ccebdf0e58e54bf1bf47c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4920
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2022-02-02 19:45:27 +00:00