* Use a "null" cache and avoid committing memory unnecessarily.
* Block the 64-bit ranges also. On x86_64 the kernel is above
userspace, so we have to |= KERNEL_BASE here; but in case
something actually tries to access those pointers directly
they should get a GPE anyway (as the address should be outside
the canonical range.) If it's not, then SMAP should catch it.
We don't have many etc and non-etc syscall pairs in this file
(the semaphores seem to be a notable exception), so drop
wait_for_thread and just call wait_for_thread_etc instead.
This breaks syscall ABI, but we've already broken it since beta5
anyway.
They're still mapped into the team address space and with user addresses,
of course, and we reset all their protections later on anyway. This allows
a number of arch_cpu_{enable|disable}_user_access() calls to be dropped.
Also adjust the name of ro/text segments to "rx" to match what
runtime_loader now does.
Tested with SMAP enabled, still works.
If it's not set (and we aren't on pre-Haiku GCC2 ABI), then don't make
the region executable.
This mostly only makes a difference for Clang/LLD-linked binaries
that have a readable, non-writable, non-executable program segment.
GCC/LD-linked binaries just have all read-only data in the main
read+execute section by default.
... and B_DOCUMENT_TEXT_COLOR with the selected hand using
B_NAVIGATION_BASE_COLOR when dragging instead of blue
(well, it is still blue but customizable).
Analog clock colors adjusted for light and dark modes.
Change-Id: I2d5af04f10090258b0ef989498f8e43dbded8def
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7940
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Haiku-Format: Haiku-format Bot <no-reply+haikuformatbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
If we don't have an Entry to attach/detach from, then we don't need
to acquire any locks at all. Now that we return multiple dirents
from read_dir, it's much more likely that we wind up with
EntryIterators in such a state, so this avoids some lock contention.
Like S_IFIFO. It doesn't support ones with "sub-vnodes", but FIFOs
and UNIX sockets don't seem to use those (does anything, actually?)
Fixes #19261.
Change-Id: I9eeac4efcbe74e9084653c77d883dbb44e6f1d2c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8830
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
This solves some TODOs and allows image_debug_lookup_user_symbol_address
to be dropped entirely. It should also fix reading symbols from binaries
that have multiple TEXT regions, and most functions are not in the first.
Areas in the kernel address space generally won't have B_KERNEL_AREA.
Instead we should check if the area in question has user permissions
at all. If it doesn't, then return an error. If the address space
isn't the kernel one, then we don't bother with this check, as
all areas in the user address space should be returned even if
they don't have permissions or are a "kernel" area.
* Reorder a few messages, and add base numbers so that messages
can be added in the future to all "sections" without breaking
previous ABI.
* Rename some messages for consistency.
* Add the ISC license; it's similar to the MIT license but isn't
worded identically, and it's referenced from netresolv.
* Drop the "Berkeley" license, it was used for an older version
of the NetBSD credits, and is just the 3-clause BSD anyway, it appears.
It's a BSD license, but in the source code there's still many headers
that reference the "NewOS license", so we should have a file in
the "licenses" directory that's called that.
Similar fixes to the previous commits: we need to take the size
of all the text segments into account. In userspace we already
have this value in the image_info, in the kernel we'd have to
compute it.
Also add TODOs to the kernel to adjust things in UserSymbolLookup.
At present we don't fetch any image infos other than [0], but
we should probably store this data differently in the runtime_loader
structure anyway.
Change-Id: Ife72a8fc18d3139bf2f1606782181ec0006aaf81
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8825
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
The one that came from the kernel will be more accurate,
including having text and data sizes that properly
encompass all regions.
Change-Id: I63bea39727fad7d87323568f3904a8f7ed992264
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8824
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Now that we don't need to know the area IDs when cloning addresses
from the remote team, we can build the areas list lazily using just
the information returned from the debug nub thread.
Change-Id: I8a6344704273f0bc60af2fa78e39336c21995401
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8822
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
It's been broken since clone_area was changed to block cloning of
areas without B_CLONEABLE_AREA set on them. We here introduce a
B_DEBUG_MESSAGE_CLONE_AREA debug nub message, which clones the areas
of the debugged team for the debugger.
Also fix some bugs in SymbolLookup::_FindLoadedImageAt methods:
they didn't work properly when *next was NULL, so they would
always fail when iterating over the full list.
Note that this technically breaks libdebug.so and the debugger
protocol ABI. However, nothing out-of-tree that I know of uses
the private libdebug.so, and while GDB does use the debugger
protocol, it doesn't actually use any of the messages past
the first block, so it should still work after this.
Fixes #15251.
Change-Id: I71ccbee4afd17dae30d5dacbc7590d1e2175a90e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8821
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
It's both the offset of the first TEXT segment as well as the
overall load address, so we should call it that for clarity.
Change-Id: I370e14054e9b4f8f88a6ce6c80e0a743f9f14d64
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8820
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
ELF files may have more than one, in which case we need to collect
the addresses and sizes from all of them. (runtime_loader already
does this when building image_info.)
Fixes #19021.
Change-Id: I379c4065976e9569a7bd7a538f46787ebcf6d3e8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8819
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Incoming feature reports were being ignored. I guess this patch won't fix any ticket because as far as I know, we are not reading/writing feature reports at any point. However, as I am trying to get i2c trackpads working, one of the solutions may be set the trackpad in a mouse-like compatible mode, while we rebuild Tablet handler for multi-touch reports
Change-Id: I64e581f8264049552ffc804c208191c0521a766a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8767
Haiku-Format: Haiku-format Bot <no-reply+haikuformatbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
The length of the BeOS resource is twice as long because it contains
additional system info. For resources compiled with the Haiku version of
rc we can compare the length with a single sizeof(version_info)
Change-Id: Ia0c243434a5dd5792d0b97e7baecdfaf6b4027be
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8827
Haiku-Format: Haiku-format Bot <no-reply+haikuformatbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Steps to reproduce: after having opened the panel at least once on your
install, open the tracker Find panel, and without
creating/opening/saving any new queries/templates, click Query > Recent
queries > any recent query, or Templates > any template. Tracker will
crash because we try to open an entry ref that was never set, which
we'll then try to unset once we try to select a recent query or saved
template.
Change-Id: I5e3f184bbc9c69687fc9d79e144663a33befcb1d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8823
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Currently, in Background prefs, when you type a
value into the X or Y box, the preview is only
updated and the 'Apply' and 'Revert' buttons are
only enabled (or disabled if the value is changed
back) when you click into the other field. This
change updates once the user types a new value
into the boxes.
Change-Id: Ia3906d989639c16ec90d4ea157c4718061520bb0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8818
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Haiku-Format: Haiku-format Bot <no-reply+haikuformatbot@haiku-os.org>
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Programs like Iceweasel and Falkon/QTWebEngine spawn lots of processes
that clog up Team monitor. To reduce the clutter, group teams under the BApplication that spawned them.
Groups are collapsed by default, and the tree only goes one level deep.
If a BApp spawns other BApps with the same executable, they are grouped
under it.
Also, fix bug where opening Team monitor before be_roster has info for a
BApp (immediately after launch) can sometimes cause the 'Quit' button to
be incorrectly disabled.
Also, update BOutlineListView::RemoveItem documentation; neither the
BeBook nor the HaikuBook mentioned that these will both remove *and
delete* child items (BeBook mentions removing, HaikuBook mentions
neither), which cost me some time debugging . . .
(a previous version of this patch grouped solely by name)
Change-Id: I29c627fbc905da5b5dc7145589f8da21ae8ba6fe
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8770
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
* We should only need R/O in theory, but AtomBIOS has issues with R/O
for some reason that needs investigated (#19348)
* For now, we keep it R/W to userspace so radeon_hd doesn't break after
33c3179
Change-Id: Id50c8916690e6068c94fc496bbe89e80d7ba1bf8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8817
Reviewed-by: Alexander von Gluck <alex@terarocket.io>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>