66498 Commits

Author SHA1 Message Date
Owen Anderson
18a27fe051 arm64: Full implementation of MakeTable
* Move towards defined constants for getting and setting PTE types.

Change-Id: Ia655b00b4de5ec49a01bf902626d63138e3bbeb1
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8113
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2024-08-29 08:10:03 +00:00
Owen Anderson
aacfea4fb4 arm64/clang: Fix build with clang/lld
* Move .got to be adjacent to other relro sections.
* Use PC-relative accesses to set the fault handler in
  arch_debug_call_with_fault_handler.

Change-Id: I52eec7e2525c15ec50eb4b83e4740519a76cd4a2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8111
Haiku-Format: Haiku-format Bot <no-reply+haikuformatbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2024-08-29 08:10:03 +00:00
Owen Anderson
9fad0a5c70 arm64: Implement address space switching
* Reference count address spaces to reuse ASIDs as needed.
* Current implementation allows up to 256 actively scheduled tasks.

Change-Id: I71e10fdb6aa0c863a6beea54d4bc07032d9a6eb3
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8109
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2024-08-29 08:10:03 +00:00
Owen Anderson
7908993d6f arm64: Implement translation map freeing
* Implement freeing of page tables.
* Basic infrastructure for ASID tracking.

Change-Id: Ia89ccb157badf9784d5086ccbdcba98527cd880b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8104
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2024-08-29 08:10:03 +00:00
Owen Anderson
c37d2d8eaa arm64: Create an empty page table for use as a placeholder page table.
Change-Id: Iff78f06a7abd6b2403e521b252c011d37f657c60
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8103
Haiku-Format: Haiku-format Bot <no-reply+haikuformatbot@haiku-os.org>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
2024-08-29 08:10:03 +00:00
Autocomitter
fa359dc091 Update translations from Pootle hrev58027 2024-08-28 15:45:28 +00:00
Humdinger
492a07f2c7 Find panel: GUI string changes
* Move "Open..." menu to the top, above the save items, as is usual for
  Haiku apps.

* Capitalize "Trash", as in the rest of Haiku; it's the concept of "Trash",
  i.e. of all mounted volumes.

* Replace the volume-popup label "On" with "Target:". After limiting the
  query to folders was added, "on" wasn't grammatically correct any more.

Change-Id: Id8a65d287af0b154956b1018599876d276a33bda
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8110
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
hrev58026
2024-08-28 15:20:56 +00:00
Humdinger
e5767a2833 HaikuDepot: fix copy paste error in status string
Change-Id: I9d0bd0183d9ac0e43d4746753818c6eee1931da1
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8142
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Haiku-Format: Haiku-format Bot <no-reply+haikuformatbot@haiku-os.org>
hrev58025
2024-08-28 06:37:31 +00:00
Michael Lotz
a272ee798f package_repo: Add "-t" argument to update command.
When set, the package names provided in the file list are assumed to be
in their canonical form and the package files are not accessed to build
canonical names from their package info.

This allows for delta updates where package files are only listed in the
file list but are not present or valid in the packages directory.

This does not fundamentally change the risks of such updates as the
checksum of packages was already not revalidated and replaced packages
were therefore already not detected.

Change-Id: I3a10794858384fe17374eb0469dd4bd4e024253a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8138
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
hrev58024
2024-08-27 15:29:53 +00:00
Murai Takashi
1c3b53c446 FindPanel: fix branch condition evaluates to a garbage value
Fixed dynamicDate used without initialization at line 730,
since GetPredicateString() might not set value to dynamicDate.
Pointed out by Clang Static Analyzer.

Change-Id: I4698fdada4b91183c7bdba5aa980ddc6b55e6312
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7946
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>
hrev58023
2024-08-27 15:28:54 +00:00
Adrien Destugues
64b7d332ba Add a note about why some parts of the code are not built with -Werror. hrev58022 2024-08-27 13:08:06 +02:00
Adrien Destugues
4cce55e112 Revert "ArchitectureRules: Remove lines for -Werror for FreeBSD drivers."
This reverts commit 946839b8500ef32960716ab9c86fcb48c9b29807.

Keeping these allow to keep track of why Werror is not enabled for the
entire network drivers subdirectory.
2024-08-27 13:01:59 +02:00
Augustin Cavalier
6f88de113d kernel: Rename set/clear_ac to arch_cpu_enable/disable_user_access.
These are architecture-specific routines, so they deserve proper
architecture-specific naming. The user memory access routines are
already under arch_cpu (arch_cpu_user_memcpy, etc.), and the methods
usually change a CPU flag, so it makes sense to put these there too.

RISC-V had get_ac but nothing else defined or used it, so it's removed.

No functional change intended.

Change-Id: Id4715214e32f73d4a93bc7ba8249411a0878d174
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8106
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Reviewed-by: X512 X512 <danger_mail@list.ru>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
hrev58021
2024-08-26 19:39:28 +00:00
Augustin Cavalier
dadc497fbc kernel/vm: Insertion into the Areas AVL tree can fail.
So we need to check that it didn't when creating areas.

Change-Id: I4342463113046b543722faa7a51ca269ed67e8bf
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8137
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
hrev58020
2024-08-26 18:25:11 +00:00
Augustin Cavalier
be52613c12 QueryParser: Unsupported value type conversion should not KDL.
Enhance the warning message and return a more relevant error code.

Fixes #19017.

Change-Id: I13d01ce206a27e5c9a35debc8081219422bfb10a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8136
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2024-08-26 18:25:11 +00:00
John Scipione
fe514848c2 Tracker: Change kMoveSelectionTo to kCopySelectionTo on paste
This restores cut items state to full opacity on paste.

Reverts the part of hrev53329 for cut items. We only copy duplicates
on copy operations, not cut, but we have to make all cut operations
copy after paste is over to restore the state. The clipboard mode is
altered but not the contents.

Fixes #15267

Change-Id: I8a036a548719fe49c512bd38ff1a072890ab2325
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8100
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Haiku-Format: Haiku-format Bot <no-reply+haikuformatbot@haiku-os.org>
hrev58019
2024-08-26 18:21:32 +00:00
John Scipione
b93d08f989 Tracker: Make updateMessage a stack variable and style fixes
... related to fixing paste bug.

Change-Id: Iea500729d270f2a222244d38b9bf7a2917186f16
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8099
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>
2024-08-26 18:21:32 +00:00
John Scipione
d26613e1bb Keymap: Restore menu field status icons
Fixes the missing piece of hrev57496
"Keymap: Put status icons inside menu fields"

Change-Id: I824f8c105036ae7ea6535f33e0ec0fa8f812f39d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8112
Haiku-Format: Haiku-format Bot <no-reply+haikuformatbot@haiku-os.org>
Reviewed-by: John Scipione <jscipione@gmail.com>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
hrev58018
2024-08-26 17:14:45 +00:00
Owen Anderson
2147db3699 arm64: Fix translation map setup.
* Correctly read out base address from TTBR1_EL1
* Don't inadvertently clear fHwFeature bits
* Log translation map setup

Change-Id: I4d57509b15525396e886ba7cfc3561ed1b18845f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8102
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
hrev58017
2024-08-26 17:13:54 +00:00
Jim906
a2a5b10065 FAT: fix volume label errors
* Initialize pm_firstcluster in dosfs_identify_partition for use by
  read_label, for FAT32 volumes.  This is necessary for reading the
  volume name from the root directory.
* Create label_to_fat() and call it at both points where volume
  labels can be assigned, for uniform behavior in setting
  labels.  Force all-caps when setting labels, for widest
  compatability of the volume with other systems.
* Remove the redundant LABEL_ILLEGAL string listing illegal label
  characters, and consistently rely on sAcceptable (a list of legal
  characters) when setting labels.
* For clarity, rename sanitize_label() to label_from_fat and remove code
  that causes labels to be displayed to the user in all lowercase.
* See #11119.

Change-Id: I7b5e6b998f13d9eb7ba56ed50c0d53b8c051fad0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8115
Haiku-Format: Haiku-format Bot <no-reply+haikuformatbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
hrev58016
2024-08-26 17:12:57 +00:00
Niklas Poslovski
0cbb701eb5 Sudoku: Use B_*_COLOR constants instead of hardcoded colors
Change-Id: Iec1f6884efa7d096a21e5986204b4c7ed64e049b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7944
Haiku-Format: Haiku-format Bot <no-reply+haikuformatbot@haiku-os.org>
Reviewed-by: John Scipione <jscipione@gmail.com>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
hrev58015
2024-08-25 19:24:26 +00:00
Humdinger
1fa52ceadd New templates: add menu item to create a submenu folder
* Add a menu item at the bottom of Tracker's "New" menu and all
  submenus to "Add new submenu...".

* The menu creates a folder "New submenu" under
  "~/config/settings/Tracker/Tracker New Templates" and adds the
  attribute _trk/_template_submenu = true to it. That results
  in showing it as a submenu in Tracker's "New" menu.

* Finally "~/config/settings/Tracker/Tracker New Templates" is
  opened and selected, so the user can edit the folder name that'll
  appear as submenu label in the "New" menu.

Change-Id: I1783f8a88c8e56fbe33012c7312cc97e9401f7f5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7931
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: humdinger humdinger <humdinger@mailbox.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Haiku-Format: Haiku-format Bot <no-reply+haikuformatbot@haiku-os.org>
hrev58014
2024-08-25 19:23:46 +00:00
Augustin Cavalier
4944d70dd1 sys/uio.h: Use __inline instead of inline for C89 compatibility.
Fixes https://github.com/haikuports/haikuports/issues/10822.
hrev58013
2024-08-24 14:55:07 -04:00
Owen Anderson
81af091961 arm64: Fix physical page memcpy operations.
Change-Id: Ie1a0fafad2b71f964292c14b1934d9406b3c015c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8101
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Haiku-Format: Haiku-format Bot <no-reply+haikuformatbot@haiku-os.org>
hrev58012
2024-08-24 18:24:47 +00:00
John Scipione
9d4d102df2 Tracker: Override Open with... pose view text color and back color
Make TextColor() and BackColor() virtual in BPoseView so that we can
override them in subclasses. These are used to invert colors on select.

Move InvertColor() and InvertedBackColor() to Utilities.

Move Desktop...() methods to DesktopPoseView overrides, this does the
same thing but in DesktopPoseView as an override.

Add override methods to Open with... pose view. Open with... window
text color were not updating with color settings making text unreadable
in dark mode. Open with... background and text colors update based on
tooltip colors which was chosen previously.

Change-Id: Id605f1887d6018766b09a6de372b6071de8b83ea
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8105
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Haiku-Format: Haiku-format Bot <no-reply+haikuformatbot@haiku-os.org>
hrev58011
2024-08-24 18:19:16 +00:00
Augustin Cavalier
946839b850 ArchitectureRules: Remove lines for -Werror for FreeBSD drivers.
This is imported code from FreeBSD; using -Werror here doesn't make much
sense. Most of the lines were commented out anyway.

Lines for native drivers left alone, of course.
hrev58010
2024-08-24 13:57:04 -04:00
Augustin Cavalier
92d9fe5fb8 kernel/arm64: Give bitfield padding fields names.
Partially fixes the build under Clang.
hrev58009
2024-08-24 13:49:21 -04:00
Augustin Cavalier
9feac945ad libroot/glibc: Add missing isnan/finite/isinf files.
These are defined as builtins, but sometimes the compiler might
want to call the out-of-line definition instead. And we need to
export the symbols for POSIX compliance anyway.

Fixes the build of some libraries with Clang under ARM64.
2024-08-24 13:49:21 -04:00
Jim906
51e9765aff FAT: Speed up mounting of large volumes
* Skip the complete comparison of FAT mirrors if the FAT size is over
  4096 blocks.
* This complete check was not done in either the previous Haiku
  driver, or in the original FreeBSD driver that the current driver is
  largely based on.
* Remove the media descriptor byte check of the active FAT, which is
  redundant with fillinusemap().
* Follows up on #18969.

Change-Id: I34dd1d71852e1f3e9dc42d125759989c091f5108
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8095
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Haiku-Format: Haiku-format Bot <no-reply+haikuformatbot@haiku-os.org>
hrev58008
2024-08-24 17:17:23 +00:00
Augustin Cavalier
90b84ff209 ArchitectureRules: Cleanup and adjustments for Clang.
* Clang -target *haiku* now properly sets -fPIC and -shared.

 * Clang now understands -fno-semantic-interposition.

 * Add necessary LINKFLAGS for the kernel to get only 2 LOAD segments.

 * Remove workaround to remove -fPIC from the BOOT flags now that
   we don't inject it.

It is now possible (with a few minor hacks) to build a full system
image with Clang + LLD. The BIOS loader crashes on startup however, but
using a GCC-built BIOS loader, the system can boot all the way to the
desktop.
hrev58007
2024-08-24 12:38:04 -04:00
Augustin Cavalier
77d89de0ad configure: Remove special logic for detecting Clang tools.
They can be overridden anyway, and this allows specifying a cross-tools
prefix in addition to --use-clang to use the GCC binutils.
hrev58006
2024-08-24 01:44:42 -04:00
Augustin Cavalier
c7b5f2821c configure: Fix check for whether architecture is already set.
The old one relied on Bash extensions to regular expressions
which a plain POSIX shell (such as /bin/dash) doesn't support.
2024-08-24 01:44:42 -04:00
Augustin Cavalier
d998a69e4d ArchitectureRules: Add two more -Wno to Clang warnings setup.
These generate too much spam.
2024-08-24 01:44:42 -04:00
Augustin Cavalier
c4497fa258 unistd.h: Add cast to (void*) for first argument in C mode.
Otherwise things that pass integers could error out.
Spotted by Clang.
2024-08-24 01:44:42 -04:00
Augustin Cavalier
807888c1b2 libtelnet: Add missing include. 2024-08-24 01:44:42 -04:00
Augustin Cavalier
7371ccbe44 mmc/sdhci: Give bitfield padding members names.
To appease Clang.
2024-08-24 01:44:42 -04:00
Augustin Cavalier
d06d4ead64 drivers/network: Use DEVMETHOD_END.
To appease Clang.
2024-08-24 01:44:42 -04:00
Augustin Cavalier
fd8ed076b7 openbsd_network: Add function pointer casts.
To appease Clang.
2024-08-24 01:44:41 -04:00
Augustin Cavalier
10e9efaa5d freebsd_iflib: Fixes to avoid implicit-function-declaration errors.
No functional change intended.
2024-08-24 01:44:41 -04:00
Augustin Cavalier
21f02252ef freebsd_network: Avoid clashes between local and system ffs() definition. 2024-08-24 01:44:41 -04:00
Augustin Cavalier
5b62dce3a6 ntfs: Add missing includes.
Fixes implicit-function-declaration errors on Clang.
2024-08-24 01:44:41 -04:00
Augustin Cavalier
7ea9a798ae libroot/glibc: Use __builtin_isnan and let the compiler figure out types.
This is what we do in <math.h> already.

Fixes compile errors with Clang.
2024-08-24 01:44:41 -04:00
Augustin Cavalier
69c4f5d707 libroot/glibc: Include the private stdio headers and declare more private methods there.
Fixes implicit-function-declaration errors.
2024-08-24 01:44:41 -04:00
Augustin Cavalier
e8911390bb netresolv: Move some definitions around for Clang compatibility.
Otherwise we get implicit-function-definition errors.
2024-08-24 01:44:41 -04:00
Owen Anderson
087c7dd654 arm64: Small fixes extracted from larger MMU fixup.
* User-Execute without User-Read mapping is disallowed.
* Add comments to arch_vm_set_memory_type

Change-Id: I450206ab973552dc36a7d778f573154541fd709f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8098
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
hrev58005
2024-08-24 02:32:33 +00:00
Owen Anderson
87c4aa1308 arm64: Remember to switch address spaces on context switch.
Change-Id: Iaace0dc005b843830122bede0320d080e50ec348
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8097
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2024-08-24 02:32:33 +00:00
Joachim Mairböck
e595b7fd4b headers/bsd: fix comments after #endif
gcc2 complains otherwise when using -ansi -pedantic-errors that
"text afer `#endif' violates ANSI standard" because it doesn't
recognize C++ comments in C mode.

Change-Id: Icb091d15a4324625ce305aa89391c44a94f4a38e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8094
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
hrev58004
2024-08-23 15:16:40 +00:00
Owen Anderson
b278b98232 arm64: Disable timer when not in use.
* 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>
hrev58003
2024-08-23 15:16:21 +00:00
Owen Anderson
653d40cc93 kernel/arm64: Use virtual rather than physical timers.
* 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>
2024-08-23 15:16:21 +00:00
John Scipione
764365384d Tracker: Do not alter selection on Copy and Cut or Copy more, Cut more.
Fixes #5585

Change-Id: I75ff282febb81854088d731b9e54120161377b60
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8090
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>
hrev58002
2024-08-23 15:14:55 +00:00