Otherwise, all RAM that has a more specific type than the physical range
will hit the assertion below. We also don't want to return the type
set here, so put this check before the effectiveType check.
Change-Id: I703242221771732c69accce66380b5a0efdc77e3
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8345
Haiku-Format: Haiku-format Bot <no-reply+haikuformatbot@haiku-os.org>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
hrev55002 unintentionally turned a single click in the resize corner of
a window into a minimize command. Change that back and minimize only on
double-click, like with the tab and other border parts.
Fixes: #19137
Change-Id: Ic9c76c809531d718fac911eaf668770edc3e5b89
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8427
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
* Update size of registersArea[] to fix index out of bounds
in init_bus() and uninit_bus() caused by mismatching
between sizeof(registersArea[]) and loop counters.
Pointed out by cppcheck.
* actually use index to populate registers and registersArea arrays.
Change-Id: Iec6337c7dd475bb86f94fe8f2a7b8fed9776ee28
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8376
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>
Instead of traversing the list of input devices when we are not given a
mouse name, update a list of currently running ones on device start and
stop. This makes the input_server message loop independent of other
threads holding the device list lock.
Fixes: #19100
Change-Id: I2d0d55da04fa506bef88bf731e1a719a64958a17
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8359
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
* Don't let users format a volume with more sectors than can fit in
the 32 bits that the FAT spec provides for storing the sector count on
disk. Since dosfs_initialize() assumes 512-byte sectors, this
will truncate FAT volumes at ~2.2 TB when a user tries for format
a partition larger than that.
* Mount read-only if the sector count read from disk is lower than it
should be.
* Account for an unrelated overflow in struct device_geometry that
could theoretically occur when mounting a large FAT image file.
* Set the struct mount read-only flag earlier during mounting, to
avoid a fillinusemap error when changing to read-only inside
fat_volume_init.
* Addresses #19079.
Change-Id: I3d15940dc18f50e5c8562fefee3b1749c4b93b6f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8426
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
* A clear UXN bit only implies B_EXECUTE_AREA if the page was also
user-readable.
Change-Id: I01203b6539cc60550a5825c663af5d8cfe57f751
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8423
Haiku-Format: Haiku-format Bot <no-reply+haikuformatbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
* Save a TLB flush on the case where we only clear the accessed flag.
Change-Id: Icd9210d616a2eca13a9be9497f2a787ab0eaf266
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8422
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
* Make the recursion logic in much more explicit
* Resolves a rare assertion failure in Protect()
Change-Id: I9d93293836251e158ea226792852a63f6d91f3ab
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8366
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
All Pentium II and IIIs as well as some Pentium 4 models have an errata
saying that PAT is broken for the upper four entries at least in some
circumstances. As the upper entries are used for write-combining in our
PAT setup, avoid using PAT on such CPU models.
Change-Id: Iaf85eda06b656dc42f94257fc24802fc5d4bab14
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8419
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Iterating over every single page in a 64-bit address space is far
too expensive. Instead, use DebugGetReverseMappingInfo(), which
iterates over the page translation map's page tables.
(The only thing that implements this at present, however, is
X86VMTranslationMapPAE, so it won't be too useful on 64-bit
just yet. But at least we won't hang for very long periods
of time on 64-bit at least.)
* Fix an instance of storing block number in a signed 32-bit variable,
which could overflow on volumes > 1 TiB.
* See discussion in #11119.
Change-Id: I138b56613775c364b259e3a0e68ba8bfe9a7f904
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8362
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
* Unfortunately, functionality of Haiku r1beta5 under
gcp is blocked by #18962 (virtio_scsi not getting irqs
with our now guarded heap)
Change-Id: Ibf70419762e9a222bcb86b7418282cc409e17986
* Trim down comment about fno-delete-null-pointer-checks.
* Remove -fno-builtin-fork -fno-builtin-vfork, they don't seem
to be needed with GCC 13.
* Remove legacy-GCC settings from kernel flags, as we don't use
legacy-GCC there anymore. Also drop fno-builtin as ffreestanding
implies this.
From the spec:
"After writing 0 to device_status, the driver MUST wait for a read
of device_status to return 0 before reinitializing the device."
Change-Id: Ib708d6ec843877b40cdb64c15beacec3dcc4c009
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8358
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>