It was a complete no-op before. Now, when enabled, BIOS calls
won't be done past the bootloader, and the Framebuffer driver
will be used instead of VESA.
(cherry picked from commit 7f12208162a5fc676f7a03e050f7671919f4fb12)
Change-Id: Id7670cc060ab5273411222e27467a6dfdbbb9e7f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11313
Reviewed-by: waddlesplash <[email protected]>
No functional change. Reasonably we should have architecture-specific
headers for some of these, but that can wait.
(cherry picked from commit 450728b4b717b3ea09fb2145daf2e6a24874c6de)
Change-Id: I887d37a54b44e127e4d1fe46675bf57bc2a392dc
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11312
Reviewed-by: waddlesplash <[email protected]>
We publish devices in the driver register hook, and if we try
to unpublish them from the device removed hook, not the driver
removed hook, we'll confuse the device_manager and cause it
to do use-after-frees on list iteration.
The two are called in quick succession of each other, so this
shouldn't cause problems.
Fixes a KDL reported by OscarL when unplugging a USB card reader
(which I reproduced with another USB card reader.) It seems the problem
would happen with any USB disk device that published more than
one LUN.
(cherry picked from commit a688b173e7c1e903845b6cac78baa7bd2ea23c31)
Change-Id: Ia9fae3428a45e199cb2c903acfe9c689dfa9bed4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11305
Reviewed-by: waddlesplash <[email protected]>
Avoids the media checker retrying uselessly after devices have been
removed.
(cherry picked from commit a88cbfae4fcaf80d8786d144fccbeb349c3bd91b)
Change-Id: I3fefcbe515bf46bb84b6a6476e9cef7dcbbb48eb
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11304
Reviewed-by: waddlesplash <[email protected]>
We want the DriverData not the device_node.
Discovered while working on usb_disk. I wonder if anyone ever actually
used this method for hot-unplug before...? Looking at the source code
of other modules, only a select few try to do anything with the cookie,
and most of those likely don't use hot-unplug.
(cherry picked from commit 5fec48b27d7b4c1c831b93db3d4abc1cfaee4982)
Change-Id: Iaf8973b8212758ba2148ad88832f9f96aa5158f1
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11303
Reviewed-by: waddlesplash <[email protected]>
This way, we can use it even after the "early" boot phase is over
but before PCI is initialized, and also add the locking necessary
once there are multiple threads.
Should fix#20196.
Change-Id: Ie96daf44cc7c82050d0aa686d0d395228ffa4f20
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11285
Reviewed-by: waddlesplash <[email protected]>
(cherry picked from commit 4e8abe02f6384e6c35895785557b1eeaed85a607)
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11287
Fixes#18778, #19602, #19716, #19948, #20165
The ACPI tables on certain recent-ish Intel platforms read some
values from PCI config space during ACPI init. Since we haven't
initialized PCI yet during ACPI init, instead of reading from
config space, the ACPI bytecode gets garbage values. These values
are later used in an address compution. An address compution with
garbage values produces a garbage address. That garbage address
has certain upper bits set, which causes the corresponding page
table entry to have those upper bits set as well (since the page
mapping code doesn't sanitize the address). These upper bits being
set triggers a page fault due to invalid bits being set in the
page table, which we erroneously think is an SMAP violation.
Co-authored-by: Augustin Cavalier <[email protected]>
Change-Id: If75dffe47ebf3e14831ceac1dfbe492c6a6a6964
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11272
Reviewed-by: waddlesplash <[email protected]>
(cherry picked from commit aa519fec255ea2196453b7e62c6f1540efbeefee)
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11281
- Move Philippe Houdoin back to active contributors (welcome back!)
- Add all GSoC contributors since 2012 who worked on directly
Haiku-related work (excluded: failed projects, projects related to
Trac or other tooling, and 3rd party apps). Students before 2012 were
already consistently added but we forgot to do it for some of them in
the next years. They are added to the "contributors" section (if some
of then do have commit access, they should be moved to past
maintainers or active maintainers accordingly).
Change-Id: Icc615b07bc2911ce81d13ee2a6305b7251405647
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11270
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: nephele nephele <[email protected]>
Haiku-Format: Haiku-format Bot <[email protected]>
(cherry picked from commit 33f8320181e5809e89bcdcaedcd1c259992a19ff)
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11275
EFI doesn't have a boot keys mechanism so we just disable the
routine that enables it entirely. Also disable it in early kernel
output before the settings file has been read.
This solves an old TODO, that the page writer could potentially cause
deadlocks when writing pages of different devices back at once. It's
also necessary after the previous change, as otherwise simultaneous
writes to disks with different write speeds would cause the quota
computations to be fluctuating and inconsistent.
Change-Id: I1c485f66625ea9013f17ab4fee007d7d58afd2ea
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8619
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Otherwise, if we're marking pages modified faster than we can
write them out, the number of modified pages will just grow
unboundedly. This can lead (e.g.) to `sync` taking multiple
minutes after copying a lot of data to a slow disk. So, instead,
we now have a quota of no more than 3 seconds for all pages
to be written back.
Also drop a TODO comment from the page_writer thread. Since
we only start writing pages if there's at least 256 to be written,
or if someone wakes us up deliberately (which the page daemon
does, if it schedules pages to be written out), we shouldn't
need to wait shorter.
This should fix#5777 and related tickets.
Change-Id: I4d419d149ea780677b462f5fa46cfe4d65044b2c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10811
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
Reverts part of 05fd080554.
I got confused by the "Details" part of the variable, mistook it
for being related to the "Show details" checkbox…
Change-Id: I0eb2a72f83a55cb306a33384da1c5c2cdde32082
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11269
Reviewed-by: waddlesplash <[email protected]>
* Implement functionality so that changing the partition type via the
"Change parameters..." option will now work.
* Implement changing partition type for Intel extended partitions. This
included fixing the existing code so that changing partition type
results in the updated EBR being written to the correct location.
* Fix changing parameters of GPT partitions.
Fixes#19194
Change-Id: I4c8a2cbee25342acbab125b0b36b0106a872ea4b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11266
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
Strings used for other languages may have descenders, and for some fonts
and characters (like italics) the edges may go out of the escapement.
On top of that, `TextAndBarberPoleRect()` doesn't include the whole
barber pole area.
Fixes: #18058, possibly #17901
Change-Id: I940676eaff9485969dac4f1d56bd6243e3d19581
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11257
Tested-by: Commit checker robot <[email protected]>
Haiku-Format: Haiku-format Bot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
Having sounds bundled in the Haiku image allows for a quick test
if audio playback is working and lets the user play with the
Sounds preferences.
The sounds package only contains the audio files of the theme
"Burg's Sparkly Tones" by Garrett Kabler that won the Community
System Sounds Contest of 2020 [1].
The files appear in a folder in /system/data/sounds/ .
[1] https://www.haiku-os.org/news/2020-09-11-system-sound-contest/
Change-Id: Iaeb05894c5c9c3f6433fca3ae569e1f2d56fd96d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8757
Reviewed-by: Máximo Castañeda <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Haiku-Format: Haiku-format Bot <[email protected]>
- BAboutWindow: the extra info comes from the app, we can't magically
translate it here. This adds a new translatable string for Workspaces.
Other apps (WebPositive and a few outside this repo) pass either
names, versions, license text or already translated strings.
- Tracker:
- Icon size selection (eg. 32 × 32) was incorrectly marked and is now
translatable.
- Variables incorrectly marked for collection.
- Two strings got the wrong context, one of which should probably not
be shown to the user anyway.
- GLInfo: double translation of an already translated string.
- Terminal: collection of variables, but it is all dead code, a leftover
from an older change.
- Notification prefs: translation of variables, which on top of that
contain numbers.
- Network prefs, Printers prefs, Cortex, HaikuDepot: translation of
variables. The values are already marked for collection.
- Devices: translation of variables. This just makes the collection
process happy, but the app needs a deeper look. Some of the strings
that are translated here come already translated, some don't and may
not even be marked for collection, and they seem to be used as key
value pairs in a public map.
Change-Id: I248f364eaa788cc64ed59b118cfee101b9c56467
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11262
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
It doesn't mean "write to this memory", but rather "this is for
a write IORequest" (i.e. if true, the memory will be read from
only.)
No functional change, but clarifies things around #20173.
The documentation comment just above explains its purpose correctly:
> requests that the range must be wired writable ("read from device
> into memory").
The Be Book confirms, and there are numerous examples in the Haiku
source which are written with this behavior in mind. It appears the
original implementation of this function got it right, but then
it was broken in 550376ffb8 (which,
coincidentally, is the same commit that added the documentation
comment quoted above...)
Primary fix for #20173.
Apple Darwin also extends kqueue to support other object types,
like Mach ports, so we might as well do the same for Haiku (Be)
object types.
Fixes#19974.
This commits splits the address handling into bluetooth protocol and
does the rest in l2cap. This is to allow for a different struct for sco
and l2cap.
Change-Id: I4c577691118613cd3be75eb7ef191fd2f07d742d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11181
Reviewed-by: waddlesplash <[email protected]>
- adding persistent link key storage to avoid re-authentications
- saving important information about remote devices to make it survive reboots
- making all bluetooth status variables uint8 like it is in the command definitions
Change-Id: I8956fb356ee734b9fa0ae9704624f6e5fef39e55
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11203
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
info->free_blocks in btrfs_read_fs_info() was hardcoded to 0,
which made df and any statvfs() based tool report a btrfs volume
as completely full regardless of actual usage.
Add btrfs_super_block::UsedSize() alongside the existing
TotalSize(), and use it to implement Volume::NumFreeBlocks() as
(TotalSize() - UsedSize()) / BlockSize().
Verified against btrfs-progs ground truth using fs_shell on a
freshly formatted 512 MB volume, free size reports 511.8MiB,
after writing a 200 MB file, free size drops to 311.6 MB,
matching real usage (200.75 MB per 'btrfs filesystem usage') to
within ~350 KB of B-tree metadata overhead.
Fixes#20182
Change-Id: Iffe9802480b1b8fa8cdb65f0c27a46ba921138b0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11258
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Haiku-Format: Haiku-format Bot <[email protected]>
Those IO ports are an x86 thing anyway, and having the PCI root driver
acquire the resource would cause device_node::AcquireResources
to fail when you have multiple PCI root ports
Change-Id: I9937302954ea71020a6c860937566a576a6a6964
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11260
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
This unclutters the main window by moving the "Settings…" button to
the left and the "Show more details" checkbox into the settings
window.
Added standard shortcut ALT+, to open the settings window.
Addresses #20066.
Change-Id: I9b954b763fc84a83c9f31b3c7175ebd34969a261
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11251
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: nephele nephele <[email protected]>
Ctrl+key codes are case insensitive. So pressing Ctrl+x (for instance) or
Ctrl+x under caps lock should works the same.
But when caps lock was on, it was falling back to default map,
producing the char key instead.
This fix#20052.
Change-Id: I4b36adb3428533454e93ebb3d0a71f4343af9ea7
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11254
Reviewed-by: Jérôme Duval <[email protected]>
Tested-by: Commit checker robot <[email protected]>