* ARM documentation indicates this may save power.
* Notably, the timer keeps ticking even when "disabled", but
cannot be read by the core without temporarily "enabling"
the timer.
Change-Id: Iccff84915c611b43ee7a3c53ed2f8a3e426eda06
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8093
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>
* Fixes exception in arch_init_timer on boot when trying to write
CNTP_CTL_EL0 under virtualization on M1 Max.
* Update TIMER_IRQ to match.
* Boot now proceeds before crashing with an invalid page fault in
device manager.
Change-Id: I82f080bdc671258a1a35bf998d906e9010a6736e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8091
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Haiku-Format: Haiku-format Bot <no-reply+haikuformatbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
We always skip loading debug information in this case, so
querying the package kit is just a waste of time. And it could
result in hangs or crashes if the package kit is in an invalid
state (e.g. if we are debugging package_daemon.)
... up from 600MB because we need a bit more space for swap in the
live environment for 3d apps.
Fixes #18986
Change-Id: Ie8ba03c2fb65d02f1c26609d78101ee355d65630
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8085
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>
* Cache & TLB maintenance need to be performed when TBBR1_EL1 is
enabled, not when it is setup.
* Boots all the way into the kernel (and dies in the kernel
debugger) on M1 Max hardware under virtualization.
* Add more details comments on the reasoning behind the process.
Change-Id: Ib4b5aa3bbae71d69169575c06c7cd75d616307d9
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8084
Haiku-Format: Haiku-format Bot <no-reply+haikuformatbot@haiku-os.org>
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
Reviewed-by: David Karoly <karolyd577@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
* Rework redirection to not use synchronous XHRs.
* Fix QuickTour LoaderPage (and update bookmark to point to it.)
* Change default view of LoaderPages to List mode.
* Other misc cleanups.
Fixes #19005.
* Fix crash in arch_mmu_generate_post_efi_page_tables due to MMU being
disabled too early. Fixed by only disabling the cache/MMU while TTBRx
is being written.
* Disable I-cache while TTBRx is being written. This mirrors the
behavior in u-boot.
* With these fixes, UEFI boot now reaches ExitBootServices before
crashing.
Change-Id: Iea04765cdf914791b93b3da378b0df56e46a1d9d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8079
Haiku-Format: Haiku-format Bot <no-reply+haikuformatbot@haiku-os.org>
Reviewed-by: David Karoly <karolyd577@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
This has been in the last few beta releases; we should just apply
it to master at this point.
Change-Id: I9dafc6a7fe72c1144fde8b07bafd59952d1310a3
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8080
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
(cherry picked from commit 85443dda80d11520b4925765bafbeb9d5cd07f2e)
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8064
* Ensure that when initializing a FAT partition, the media byte value
assigned in the bootsector matches that in the first FAT entry.
* See #18969.
Change-Id: Iffc3dd7549b918954e9145a2a02221616c38a016
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8081
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
The sanity check of the physical_page_number can't work in many cases
since physical page ranges may be discontiguous. Instead what we should
check here is that the page structure address is at an expected offset
within the pages array, and print messages if it's not (and also don't
try to read the mappings linked list if it's not.)
This would have more easily caught the problem fixed in hrev57945:
the KDLs that commit fixed were "invalid concurrent access to page",
but with a very large "expected" number, indicating an overflow.
Change-Id: I784c183c2c146077ffe3c1dede2e54817bde52c7
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8051
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Add the area of the tab that just got removed from the stack
to the update (redraw) region so that it will be redrawn.
Fixes #16006, #18517
Change-Id: I5a26c353e2dd2e63f72440ddd0b522b52b02b2a2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8046
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: John Scipione <jscipione@gmail.com>
Haiku-Format: Haiku-format Bot <no-reply+haikuformatbot@haiku-os.org>
Reviewed-by: X512 X512 <danger_mail@list.ru>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
- This key code is inherited from BeOS, where it was used for the power
key on Apple ADB keyboards
- Since then, we have introduced a new system for "multimedia" keys,
that uses HID key codes directly instead of defining our own mappings
- The PS2 driver was using the HID keycode, but the USB driver was still
using the BeOS defined one
- Japanese keyboards, which have a few more keys than US and European
ones, reused the same keycode for something else
Since the power key does not need to be mapped by the keymap, move it
out of the way by using the HID keycode (key codes larger than 0x7f
cannot be mapped to UTF8 symbols). Remove all mentions of the use of
0x6b as a keycode for the power key, but add a note in the documentation
that BeOS did this.
To avoid further confusions, complete the documentation of extra
keycodes, and remove some definitions from keyboard_mouse_driver.h that
should have been in InterfaceDefs.h.
While researching this, I also found that some keys specific to Korean
keyboards were declared in the wrong place, as mapped codes instead of
unmapped ones (checked that by looking at the HID driver, which emits
these raw keycodes, and confirming that the mapped ones are not used in
any keymaps. Also added a note about the mapping of the extra modifier
keys in Japanese keyboards, which I think may be a problem since these
map to invalid UTF-8 byte sequences, but this is what the existing
keymap does, so leaving it as is for now until we can determine if this
can be changed or if we have to keep it that way.
Change-Id: I6a198a0840cba7739bdc78e0c65e5d8fd23956c9
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8047
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
This avoids starting the clock at 00:00, just to jump to current time.
Change-Id: I911b60716ab60722e4ac38a3d597ab495fb5945d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8049
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Haiku-Format: Haiku-format Bot <no-reply+haikuformatbot@haiku-os.org>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
According to the ARMv7 Reference Manual, "Wait for Interrupt" is supported only through the WFI instruction on ARMv7.
The currently used ARMv6 equivalent may not work on ARMv7 and newer CPUs.
Fixes #18520
Change-Id: I69a136870654be33c0c789004e08bf610db3dd97
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8044
Haiku-Format: Haiku-format Bot <no-reply+haikuformatbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
ACPI sometimes print a single message line using several calls to
its printf function. We directly map it to dprintf, which causes two problems:
- In the syslog, each call to dprintf is prefixed with 'KERN:'. So,
several 'KERN:' were added in the middle of such messages.
- The successive calls to dprintf may be intertwined with logs from
other places, making it difficult to see what message came from where.
To avoid these problems, store data in a buffer until we have a complete
line, and only then send it to dprintf. The resulting syslog is much
easier to read then.
Change-Id: I745e50b6fbbc3c875716fb68951d8d47312f96f6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6896
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
These were upstreamed in https://github.com/acpica/acpica/pull/918
Unfortunately the last release of ACPICA is just before merging these
changes.
Change-Id: Ib183235d9197bed0a421eec9adfa68c1a13c6bf4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7999
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
This change fixes the console on PowerPC machines
Change-Id: I3fdf3fb37e5358e828195803b21153a506e6c7e7
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8040
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
* Remove some unnecessary casts.
* Clean up linked-list logic in add_event_to_list(). As previous->next
will just be the same as "next", we can use that directly and thus
remove some code duplication.
No functional change intended.
This is what AcquireStoreRef/ReleaseStoreRef are for. We don't use
VMVnodeCache here because that is a non-"temporary" cache that
writes its pages back to disk, while we need a store for the pages
that won't discard unmodified ones when memory is low.
Add a close() to the mmap_cut_tests, which triggers the case where
this is important (a file is unlinked, mmap'ed, and then the lone
FD referring to it is closed, triggering the file's deletion unless
the mmap also acquired a reference to the vnode.)
Fixes KDLs with Firefox test builds.
ramfs needs to create caches that are both temporary and unmergeable,
so add another flag to make this state possible.
Otherwise, mmap'ed files from ramfs might wind up in VMCache
trying to merge the caches when the last one is closed, which
we don't want.
If some (but not all) of the dependencies failed to load, they
will be in an inconsistent state (some NEEDED unset/uninitialized, etc.)
In order to neither leak this data nor have it cause problems later,
we should unload actually call unload_library() and thus put_image()
to have the unused/uninitialized dependencies be propery unloaded.
To make this work correctly, adjust unload_library to only call
the exit hooks if the initialization hooks were also called.
Fixes a crash in Firefox startup when some dependencies aren't installed.
This commit introduces folder filtering to the Find Panel and associated
results window.
--> Features:
--> Directory Selection: Users can select directories using the
"Select a Directory..." option, now available in the same menu
as volume selection.
--> File Panel Integration: Upon selecting this option, a File
panel will appear, displaying only folders or symlinks to
folders for selection.
--> Folder Filter Management: Selected Folders are shown in the
same menu, with the corresponding menu item marked. Clicking on
the menu item removes the folder filter.
--> Recursive Search: The folder filters are combined using the
OR method. Results will show items from any selected folder,
recursively checking all subfolders.
--> Bug Fixes
--> Resolved an issue with the saving functionality when resetting
volumes or loading a query.
Change-Id: I8eaab6ad8ebd3de09944a8bcf03f100c451225ae
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7845
Reviewed-by: Niels Sascha Reedijk <niels.reedijk@gmail.com>