Commit Graph

63673 Commits

Author SHA1 Message Date
David Karoly acb424c8b7 boot/arm: move system_time and spin to platform
Add fake implementation for system_time()
Implement spin() using EFI boot services

Change-Id: Ib69b851780bd03624ce4e19d725dd319f6640601
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4964
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
2022-02-19 15:35:21 +00:00
Jérôme Duval b50868d0d6 hda: enable power on init
Change-Id: I96b6084a40270aa8007b916a35e54b1fc3b26b39
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4977
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2022-02-19 08:19:24 +00:00
Jérôme Duval cba67843b0 pci: add set_powerstate and get_powerstate legacy hooks
Change-Id: I827112ffb1a65ada99605671b112d8fd0e6db4b5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4976
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2022-02-19 08:19:24 +00:00
Autocomitter 2d0d5cb55e Update translations from Pootle 2022-02-19 08:08:47 +00:00
Augustin Cavalier 7afe4385ee freebsd_network: Add generic machine headers.
These can be used on platforms that only support memory spaces
and have no other general restrictions. riscv is one such for now,
so this finally commits support for RISC-V in the FreeBSD compat layer.
2022-02-18 21:36:39 -05:00
Augustin Cavalier fc6ea2ef78 freebsd_network: Cleanup bustag handling.
* Add an enum with general BUS_SPACE_TAG values for use across platforms.
 * Add proper entries for generic IRQs and MSIs and make use of them.
2022-02-18 21:35:38 -05:00
Augustin Cavalier 843a8ad7a7 freebsd_network: Break bus macros out into a separate header.
Now copied directly from FreeBSD.

Also change copyright info of the main file, as the remaining parts have
almost entirely been written by me at this point.
2022-02-18 21:03:23 -05:00
Augustin Cavalier 38d00b8d33 freebsd_network: Change powerstate during busmaster if necessary.
It seems FreeBSD does the same (and drivers used to do this individually
but have not for some time.)

May help with quite a number of initialization-failed WiFi/ethernet tickets.
2022-02-18 20:29:15 -05:00
Augustin Cavalier 462fb495fa freebsd_network: Clean up and break PCI methods out of bus.cpp. 2022-02-18 20:23:36 -05:00
Augustin Cavalier ccb7655078 UDF: Reduce logging messages.
No need to print things if there is no reason to suspect the storage
is UDF and we do not have general tracing enabled.
2022-02-18 19:47:02 -05:00
Augustin Cavalier d556224730 HaikuDepot: Cleanup and release references early.
So that we do not destroy things in the wrong order and trigger
the reference-counting assertions.

Fixes #17579.
2022-02-18 18:39:32 -05:00
Augustin Cavalier 1e7094566a HaikuDepot: Fix typo. 2022-02-18 18:38:59 -05:00
Augustin Cavalier a90d5c6d48 kernel/disk_device_manager: Improve tracing code.
* Use the standard TRACE{|_ALWAYS|_ERROR} setup.

 * Put DBG(OUT... code as TRACE.

Makes syslog output from this module significantly less verbose
in default builds.
2022-02-18 17:45:18 -05:00
Augustin Cavalier 589b419c5b kernel/team: Handle setpigd() being invoked for exiting teams.
In the case the team has already been removed from its process group,
this means we are far enough into teardown that we cannot change it.
Simply check for NULL and then return an error if so.

Fixes #17448.
2022-02-18 17:39:42 -05:00
Alexander von Gluck IV 705ee4bf53 preflet/network: Convert ServiceView to BGroupView
* Mostly just to be consistent with everything else

Change-Id: I468ce0a20fb918ec6e696bbc9e961dbc4386d7ff
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4963
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2022-02-18 21:37:03 +00:00
Alexander von Gluck IV 31f27c4d39 boot/efi: Optionally sign our EFI bootloader
* The private keys are in possession of Haiku, Inc.

Change-Id: I3b5b004e1dce0102f8a65f6d682f7e428845efe8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4936
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2022-02-18 21:32:56 +00:00
Máximo Castañeda 9a7906eadb PatternHandler: remove unused code
hrev17117 implemented B_OP_COPY with a special treatment for text.
hrev21929 introduced the color cache to speed up that text drawing.
hrev52753 removed the special treatment of text in B_OP_COPY, but left the
color cache and the text flag behind.

Change-Id: Ib506c80a660e829132bce3ec1cb354fcfbab266c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4931
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2022-02-18 21:31:42 +00:00
Máximo Castañeda 1f357f79ca Painter: sync renderer color
SetDrawState sets the pattern directly and then calls the member
functions to update colors. As SetHighColor does not update the renderers
if color does not change, that means we lose sync in some corner cases.

Change-Id: I5f8771baa58643c559df243dcc1603983941faee
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4930
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2022-02-18 21:31:42 +00:00
Dale Cieslak 5f61e00ab6 Add-Ons/Translators: Set About text for JPEG & JPEG2000 to B_PANEL_TEXT_COLOR
The body text on the About tabs for the JPEG & JPEG2000 translators are
BTextViews and so the default fg color is B_DOCUMENT_TEXT_COLOR. This
patch forces them to use B_PANEL_TEXT_COLOR to match the rest of the panel.

As a side note, trying to set the fg color in every translator via
SetHighUIColor seems to have no effect and they seem to all default to
using B_PANEL_TEXT_COLOR already (aside from the BTextViews in this
commit).

Fixes #15941

Change-Id: Ia97dcce082d7f1666c61a8d5ecefa3bcd5845b96
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4960
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2022-02-18 21:29:46 +00:00
David Karoly 38d4a2edf7 virtio: add VIRTIO_FEATURE_ANY_LAYOUT in virtio.h
Change-Id: Ib8bc3639b4330dc1fb61ddbb6a3e8237cc6814ca
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4971
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2022-02-18 21:27:47 +00:00
Jérôme Duval d96e266b70 POSIX: introduce pthread_rwlock_clockrdlock and pthread_rwlock_clockwrlock
will appear in the next version: https://www.opengroup.org/austin/docs/austin_1110.pdf

Change-Id: I83ef657dce54c223e2dc0c207fce17d9238f7115
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4970
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2022-02-18 21:27:06 +00:00
Jérôme Duval e41d4bd102 POSIX: introduce pthread_mutex_clocklock
will appear in the next version: https://www.opengroup.org/austin/docs/austin_1110.pdf

Change-Id: Id4553754494d6594f159356a73534c3cc9900184
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4969
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2022-02-18 21:27:06 +00:00
Jérôme Duval ceb7b7612a POSIX: introduce pthread_cond_clockwait
will appear in the next version: https://www.opengroup.org/austin/docs/austin_1110.pdf

Change-Id: I964968b81533c43ae95380bff79c8ec423d0a665
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4967
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2022-02-18 21:27:06 +00:00
Jérôme Duval a866e2d902 POSIX: introduce sem_clockwait
will appear in the next version: https://www.opengroup.org/austin/docs/austin_1110.pdf

Change-Id: Iee3faf23647aa5244ad316fe1c3d825592483935
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4966
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2022-02-18 21:27:06 +00:00
David Karoly a21676b669 runtime_loader: adjust MAX_PAGE_SIZE for ARM
gcc generates binaries with segments aligned on 0x10000
because this is the max page size defined in bfd

This change allows runtime_loader to load ARM binaries
without complaining for unreasonable amount of space
between segments.

Change-Id: Iec345980ca7ff72786173772a6deb40f5ca0b0ae
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4974
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2022-02-18 21:25:54 +00:00
Augustin Cavalier 7d2a6f2d99 launch_daemon: Rework how user-session spawning functions.
* Instead of fork()ing, which leaks memory (and runs a second
   BApplication inside the Run() of the original one, which was
   the source of a TODO), use posix_spawn to start a second process
   altogether.

 * Move session initialization code to the new user_main(), invoked
   from main() if we are starting a user session.

 * Send event registration messages to the new session daemon
   in _HandleRegisterSessionDaemon, as the child no longer has access
   to the old events list from before fork()ing and must receive it.

The last of these fixes a race: previously, if an event was registered
or triggered between when the child (user) launch_daemon was fork()ed off
the parent and when it registered with the root launch_daemon, those
events were "lost" and would never be forwarded to the child.

That happened not altogether infrequently for some people (myself
included) especially in virtual machines for the "initial_volumes_mounted"
event, which was the most common remaining cause of "boot hangs on rocket"
or "boots to blue screen with only mouse cursor" problems.

So, in addition to being cleaner overall and resolving a number of TODOs,
this also fixes #17365.

Change-Id: I1ea28cba8938a38b3c27685d7f3943f596cfe7ec
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4968
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>
2022-02-18 17:29:37 +00:00
Augustin Cavalier 9392d87e6e BReferenceable: Remove unneeded linebreak from debugger message. 2022-02-16 21:06:26 -05:00
Augustin Cavalier fcd448f86b package_daemon: Do not delete roots on destruction.
Instead just release our reference to them and clear the list.
Should fix #17580.
2022-02-16 21:06:26 -05:00
Alexander von Gluck IV 9e25244c5e 3rdparty/vagrant: Add our vagrant templates
* I have to figure out how to do this every major
  release, put here to document somewhat.
* The os images are empty files for obvious reasons
* This vagrant box is used by qemu for their automated
  testing under Haiku
  https://github.com/qemu/qemu/blob/master/tests/vm/haiku.x86_64

Change-Id: I8e02104063284a96e1672051e3d504a78a64cfe3
2022-02-16 12:09:06 -06:00
Rudolf Cornelissen f01ca729e5 intel_extreme: for eDP/laptops always use the panel's fixed native modeline, panel doesn't accept otherwise. 2022-02-15 23:08:24 +00:00
Rudolf Cornelissen 440667b4c6 intel_extreme: eDP now works on Sandy/Ivy laptops: ticket #17350 i.e. 2022-02-13 23:59:38 +01:00
Adrien Destugues c8edc9b368 LaunchBox: Revert "Use Shine and Shadow color instead of tinting for Haiku"
This reverts commit d493aae3c4.

The default shine and shadow color are pure black and white. They are
not meant to be used directly, but mixed with the background color for
more subtle results.

The previous code using tint_color was also just fine.

Fixes #17577.
2022-02-13 09:41:55 +01:00
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