Commit Graph

67311 Commits

Author SHA1 Message Date
PulkoMandy
a4d7ac5b5f ArchitectureRules: enable -Werror for more video drivers
Change-Id: I446716f1b767f390dc589715f8bd41f50de325f2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8699
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2024-12-22 08:38:02 +00:00
PulkoMandy
3b119ad9e1 ps2: check error bit behavior before enabling active multiplexing
The synaptics specification changes the meaning of the system bit when
there is incoming data from the AUX (mouse) port, to indicate that the
incoming byte is an error. This also allows to detect if the active
multiplexing is not enabled correctly or has been reset.

Use this as an additional check so that active multiplexing is disabled
on my laptop, where it doesn't work.

Keeps #19266 fixed while avoiding the long timeout on my machine.

Change-Id: Ia8277e135a149cfa25a2a3022c87c3e05aacb6d5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8632
Haiku-Format: Haiku-format Bot <no-reply+haikuformatbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2024-12-22 08:34:43 +00:00
John Scipione
512a94bc18 BTextView docs: Document GetFontAndColor() and SetFontAndColor()
Change-Id: Ie284c63690e955d7cfae7e9e66949a63205e8e31
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8270
Reviewed-by: nephele nephele <nep-git@packageloss.eu>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2024-12-21 17:32:52 +00:00
Augustin Cavalier
5ac9e49426 SCSI: Ensure the condition variable is idle before freeing the CCB.
If the completion was just notified by another thread, it's possible
we were awoken and are trying to free this CCB before the other thread
released the condition variable's lock. So, call NotifyAll again
to serialize.

Should fix #17522.
2024-12-21 12:18:22 -05:00
Augustin Cavalier
18443c583a Drivers.h: Add B_SOCKET_IO_BASE declaration.
All the SIO... codes are in the 8900 range.

Change-Id: I7b319877d2430eba2573a0c8fd68cb7fc3b221d8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8693
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2024-12-21 17:00:00 +00:00
PulkoMandy
1ad0f6ade6 via graphics: fix compiler warnings
Change-Id: I4ac406b2024acc85feff41c2c702b1ba49fca1fb
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8698
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2024-12-21 15:26:23 +00:00
PulkoMandy
63c2738059 radeon: fix compiler warnings
Change-Id: I952abcec52bd00a05193cf4a96b1b2a63947080c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8697
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2024-12-21 15:26:23 +00:00
PulkoMandy
e0d66c025d nvidia: fix compiler warnings
Change-Id: I49acd914c2f0a67dc2f4cbe7abd0ee0111db5309
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8696
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2024-12-21 15:26:23 +00:00
PulkoMandy
bed6017a15 matrox: fix compiler warnings
Change-Id: I5dce7230fcf5098bd361b459fc77e2be0af4f5d2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8695
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2024-12-21 15:26:23 +00:00
PulkoMandy
53143b25da hda: missing const
Change-Id: I0af1c02beaa18a7a0b17cf76632abde96685895e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8694
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2024-12-21 15:26:23 +00:00
Lt-Henry
d3f6f52ffc intel graphics: Added new device
Added the ID for Haswell ULT GT3 Mobile, also known as Iris 5100

Change-Id: If340b0ce200b385ddd8ec4f0f03cf2f1ae450cd4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8700
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2024-12-21 12:40:19 +00:00
Autocomitter
978a931ea9 Update translations from Pootle 2024-12-21 08:10:01 +00:00
Anarchos
4d3a68fb7d netboot: bump size for tar decompression
Add network add-ons drivers to the archive for x86_64 architecture too.

Change-Id: I8296586d5f2b1f3d4c08250e28aefd32428b21b9
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8522
Haiku-Format: Haiku-format Bot <no-reply+haikuformatbot@haiku-os.org>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2024-12-21 07:46:10 +00:00
Augustin Cavalier
d40db83a6c kernel/vm: Clean up vm_clone_area (and wait_if_address_range_is_wired).
* Put variable declarations near use.

 * Use AreaCacheLocker, which calls vm_area_get_locked_cache for us.

 * De-branchify now that a Locker is being used.

No functional changes intended.
2024-12-20 16:02:05 -05:00
Augustin Cavalier
2f7bf3b339 virtio_net: Don't print a message on SIOCGIFSTATS.
Fixes #19304, reduces syslog spam.

Change-Id: I219709645d516134f0e4948e662bd90ee00ab183
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8692
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2024-12-20 16:22:51 +00:00
Augustin Cavalier
01e97ff280 KPartition: Drop SetParent().
A comment indicated it "must" only be called in Add/RemoveChild only.
So the field is just modified there now.
2024-12-19 17:21:04 -05:00
Augustin Cavalier
74ae79fed9 kernel/fs: Don't store the mount cookie in the KPartition.
Nothing uses it. If needed, it can be retrieved through the volume
(mount) ID.
2024-12-19 17:17:18 -05:00
Augustin Cavalier
46a1eb7da5 btrfs: Drop get_supported_operations.
Nothing ever calls it. The actually important method is the
file_system_module_info's DDM flags.
2024-12-19 16:59:35 -05:00
Augustin Cavalier
2164b5e177 NTFS: Fix new identification logic, and add needed flag to fix initialization. 2024-12-19 16:51:32 -05:00
Augustin Cavalier
59aafb9f3f btrfs: Don't pretend to support initializing or writing, yet.
We always mount read-only for the moment.
2024-12-19 16:39:01 -05:00
Augustin Cavalier
04c8e27efa BDiskSystemAddOn: Remove the Flags field.
Nothing used it. Instead the kernel addons' flags are used instead,
except in the case of PartitionDelegate, which calls SupportedOperations().
2024-12-19 16:34:16 -05:00
Augustin Cavalier
f48a542cf4 file_systems: Split checking of superblock magic and superblock data.
This way, we can avoid printing anything if the superblock magic
doesn't match (i.e. the partition doesn't look like it's of the
filesystem), but print an error if the magic values match but the
rest of the data doesn't.

Reduces syslog spam.
2024-12-19 16:30:29 -05:00
Augustin Cavalier
afe86e25ed partitioning_systems/intel: Code cleanup and logging improvements.
* Use more standard TRACE macro setup.

 * Log more errors to the syslog.

 * Log fewer debug messages to the syslog.
2024-12-19 15:19:05 -05:00
Augustin Cavalier
f168963c18 Tracker: Clear filtered pose list in ClearPoses().
Fixes #19300.
2024-12-19 14:48:56 -05:00
Augustin Cavalier
4fa1556978 Tracker: Fix build under DEBUG. 2024-12-19 14:48:01 -05:00
Augustin Cavalier
03bec531f9 PowerStatus: Numerous improvements to battery display.
* Remove the "pause" indicator; it adds too much noise at small
   sizes and seems confusing at large ones. Instead, draw the
   battery in a blue color when it's not in use.

 * Reverse the direction of the battery bar. It now has the capacity
   on the right and the empty on the left, the opposite of the way
   regular progress bars are, but more in line with how this is
   displayed on other OSes (and smartphones.)

 * Tweak ratios to make the icon display larger in the deskbar.
   It now displays closer to the size that regular icon views do.

 * Tweak the lightning indicator to be a little larger, also for
   legibility at smaller sizes.

 * Other misc. cleanups.

Change-Id: I229fe120e769e43e17eeb87638b832418f5e7aaf
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8690
Reviewed-by: Sen Nordstrom <haiku@sen.cx>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2024-12-19 04:20:29 +00:00
Augustin Cavalier
ae96a596c1 pkgman: Drop unused ResolvableExpressionComparator. 2024-12-18 21:12:16 -05:00
Augustin Cavalier
aaa81469a5 pkgman: Add "search --not-required".
List only the packages that are not required by any other package.

Most useful then used as "pkgman search --installed-only --non-required",
but works for non-installed packages too.

Based on OscarL's initial version, rewritten by me to use the real
dependency resolution system instead. One tweak from madmax to get
it to actually work properly.

Co-authored-by: Oscar Lesta <oscar.lesta@gmail.com>
2024-12-18 17:08:23 -05:00
Augustin Cavalier
f664cdc7e0 kernel/vm: Allow private mappings beyond the end of files
It appears GCC uses this for precompiled headers.

Update the test expectations to match.

Fixes #19296.
2024-12-18 13:58:12 -05:00
John Scipione
10b1abbfde Tracker: Cancel type-ahead filtering on esc
Otherwise esc closes the file panel.

Differentiate between type-ahead and ref filtering in pose view
which is why this was not working in e.g. Expander a ref filter
was set so filtering was also set. We only want to cancel
type-ahead filtering on esc, not ref filtering.

Refer to 'ref filtering' as simply filtering e.g. IsFiltering()
and refer to type-ahead filtering explicity when that is meant.
Rename methods and variables to make it clear whether we're
referring to ref filtering or type-ahead filtering.

If we are ref filtering fill out the filtered pose list again
after stopping type-ahead filtering so that we don't get an empty
file panel in e.g. Expander on esc.

Fixes #13151

Change-Id: I96faf98c3b68d3bcb3d3892c3511ae2449c2f8a4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8689
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Haiku-Format: Haiku-format Bot <no-reply+haikuformatbot@haiku-os.org>
2024-12-18 18:55:05 +00:00
Augustin Cavalier
c95edc2ba1 app_server: Get rid of RenderingBuffer::IsGraphicsMemory().
It was introduced in 778706215d
for DrawingEngine's sake, but it actually isn't needed even there
and was removed in the previous commit.
2024-12-18 12:28:26 -05:00
X512
aa453612ef app_server: remove GPU->GPU rect shifting code
It is not used anymore and is very slow on real hardware because it read
GPU memory by CPU.

Change-Id: I06f7ca072220b758d849921e844bb2aa75342e2c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8680
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2024-12-18 17:26:41 +00:00
John Scipione
bd01f3f156 Tracker: Style fixes related to #13151
Some 100 char fixes
Put looper in a variable and use it a few times
Remove ASSERT statements, we B_DISPATCH_MESSAGE if NULL.
Refactor command modifier key code to use a nested switch
Explict comparisons to NULL

Change-Id: I068a0123461290731b4b5388b802bb4cc7bb2455
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8688
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2024-12-18 04:24:26 +00:00
John Scipione
844099afc1 Expander: Add bottom spacing back in
Change-Id: I8672079196a370e0e4ec817771977372c30cda6c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8687
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2024-12-18 04:24:26 +00:00
Augustin Cavalier
87eae1e3c8 bootloader: Properly enable __PRINTFLIKE for the boot stdio.
No new warnings or errors, it appears.
2024-12-17 19:49:23 -05:00
Oscar Lesta
fed0e6149e Haiku Book: fix typo on _launch_intro.dox.
launch_daemon only understands "no_safemode".

Change-Id: Ib7efb6064a49c35185ffacba3e8642eacd1fe970
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8686
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Haiku-Format: Haiku-format Bot <no-reply+haikuformatbot@haiku-os.org>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2024-12-18 00:17:12 +00:00
Augustin Cavalier
f836917f47 kernel/vm: Rework ordering of _RemoveConsumer and drop "unmergeable" flag.
This reverts a8877df135.

Previously, the "unmergeable" flag was necessary for the RAMFS,
because if the last vnode reference was released while there
was still a consumer (as the old ordering of _RemoveConsumer
had), then the release of the cache reference when the vnode
was removed would result in the cache trying to merge with
its now-only consumer and sole referrer.

Now, instead, we remove the consumer before releasing the store
reference, so that there's no chance the cache will be merged
inside this method.

mmap_cut_tests still pass, web browsers using ramfs shared_memory
still seem to work.
2024-12-17 19:12:40 -05:00
Augustin Cavalier
7eeb28152e kernel/vm: Commit up-front in the middle-cut case.
This way, if the Resize() is supposed to take care of the commitment,
it will (and will fail early if it can't), while if we are the ones
responsible for adjusting the commitment, map_backing_store won't
commit at all (avoiding committing far more than will be necessary),
and we can just steal the commitment from the first cache for the second.
2024-12-17 18:33:34 -05:00
Augustin Cavalier
3280d3c47d kernel/vm: Rework cutting areas with source caches.
This reverts 3a81e9446d (2022).

That commit fixed #17556 by just checking if the area had an
underlying cache that wasn't a RAM cache. But there are cases
where there will be RAM source caches that we have to take
into account, too, not just vnode caches or the like. The
most common example of that would be all areas of a team
after a fork(); the original pages will be in a read-only
source cache.

This commit fixes the real underlying problem: if the first area
has a source cache, then the new second cache needs to have that
as its source, too; and furthermore must have the correct offsets
in order to access its pages correctly.

The test for #17556 that was added in 9ed77019b6
still works as before, as do all the applications I tested that
use cut_area. Some assertion failures that the cut tests triggered
(related to commitment sizes) are fixed by this, as well.

This also seems to fix the remaining instability on fork() in the
boehm-gc's "gctest".
2024-12-17 18:32:11 -05:00
Augustin Cavalier
e5b76ada08 kernel/vm: Don't re-protect pages in cut_area.
The page_protections aren't changed at all, so all pages that exist
should already have the same protections as are specified in the array.
The only thing different is what cache and area they now belong to, but
the VMTranslationMap does not care about that.

So we don't need to loop over the pages and re-protect them in this case.
We already didn't for all cases where no page_protections were involved.

(It seems this logic was introduced in bdcc293fa8
along with general page_protections support in cut_area.)
2024-12-17 18:31:05 -05:00
Augustin Cavalier
c59db548ab kernel/vm: More fixes to commitment handling in cut_area.
When the area has no page_protections but isn't writable,
we also want to use a smaller-than-default commitment.
So, adjust compute_area_page_commitment to handle that case,
and then use it in cut_area where appropriate.
2024-12-17 17:53:27 -05:00
Augustin Cavalier
e0854909b2 kernel/vm: Fix an area/cache offset mixup in discard_area_range.
cache->virtual_base is the cache's start address, which no pages will
be found before. area->cache_offset on the other hand is the area's
offset into the cache (i.e. offset 0 in the area will be offset
0 + area->cache_offset in the cache.) These addresses may well be
the same (even if they're not 0), and in many situations they are,
but in situations with shared or cut areas, they may not be.

The only thing that uses this method is madvise(MADV_FREE), which
probably not many things besides the guarded_heap use at present.
2024-12-17 17:39:43 -05:00
Augustin Cavalier
a8adb675e6 tests/kernel/vm: Add munmap calls and fix comments in map_cut_compare_test.
Makes it easier to debug in KDL, especially.
2024-12-17 17:10:40 -05:00
Augustin Cavalier
feac1ed72d kernel/vm: Add assertion in VMCache::AddConsumer that source == NULL. 2024-12-17 17:05:37 -05:00
Augustin Cavalier
a6938ffd24 kernel/riscv64: Drop unimplemented ProtectPage/ProtectArea.
These are implemented in the base class instead.
2024-12-17 17:04:54 -05:00
Augustin Cavalier
0bfdddcc75 userlandfs: Sort files in the libuserlandfs_haiku_kernel Jamfile.
Alphabetical order, proper sections, etc.
No functional change intended.
2024-12-17 14:04:21 -05:00
Augustin Cavalier
0cffc2aab9 userlandfs: Add AVLTreeBase to libuserlandfs_haiku_kernel.so.
Not sure why this wasn't needed before, but it seems to be now.
2024-12-17 13:58:06 -05:00
Augustin Cavalier
94eafb3b5b kernel/vm: Commitment sizes must be rounded up to the page size.
As the virtual_base and virtual_size may not be page aligned.

Fixes #19295.
2024-12-17 13:06:46 -05:00
X512
8ea4167e8b kernel/vm: use DoublyLinkedList for VMCache areas list
Change-Id: I0c6a231f245fa542f5d90959755de1e6ba39eb8e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8685
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2024-12-17 17:53:47 +00:00
Jérôme Duval
04c90835ac POSIX: add pthread_getcpuclockid()
fix #15615

Change-Id: I6b34f97464fac97d0b339fa338cfc5df34536080
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8681
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2024-12-17 09:45:13 +00:00