* boot.scr was growing past Jam MAXLINE and was causing segfaults
* Break out to tree, data/boot could be used for other arches
* boot.scr is getting a bit complex, but supports the old
u-boot haiku_loader, as well as u-boot starting our EFI loader.
Change-Id: I93a3167ab0bc78747c1d70fedd08595e9ac89662
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2963
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
BeginPicture/EndPicture do not save state so origin should be restored
after recording picture. BView::Draw use PushState internally so origin
is added and cause problem.
hrev54347 fixed behavior when recording picture so state change is
affected. It revealed #16317 bug.
Fixes#16317.
Change-Id: Iee69631ce83fea5ea73c99b492b8cf67d1b148c7
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2960
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
My printer doesn't include a content-type in its replies.
If a content-type is present, it should be the expected one. But if the
printer doesn't specify it, we can try to parse the reply and see if it
makes sense. Since the reauest has a content-type, it's reasonably safe
to assume the reply will match the requested content type.
Change-Id: I0fce7edd7cc40d2761b683d3e4c7b5316436e298
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2962
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
When debugging the EFI bootloader it is helpful to have a map file
available.
Write file efi.map when linking.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Change-Id: I6d566df50fb2713f53375970f6645353bac54042
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2964
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Remove use of custom list class in the python-
generated model classes for interaction with
HDS; use STL container classes instead.
Relates To #15534
Change-Id: Ib8f4942b55859c1af38da816591e911174ba52ea
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2957
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Make it correctly readable as UTF-8 encoding.
Change-Id: Ifef77aa988b8d45c485927b698526e234711425c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2955
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Fix suspicious usage of 'sizeof' with a numeric constant
as parameter.
Pointed out by cppcheck.
Change-Id: Icf43843bb92b3db0634c20ddce38e2fe1099c552
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2954
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Fix length[0] != '+' could not be checked.
Pointed out by cppcheck.
Change-Id: Ic4697dc9ffd04afcd92ef3ed65485e1fe3f32e76
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2950
Reviewed-by: leorize <leorize+oss@disroot.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
* When we want to inspect errno after readdir() (or fs_read_index_dir(),
which is the same), we need to reset errno beforehand as documented
in the OpenGroup Base.
* Minor coding style, and license header fixes.
* This fixes the wrong error code from #16301, but not the underlying
issue.
Fix str = "gm" could not be checked.
Pointed out by cppcheck.
Change-Id: I433a98cef851e07be0905eee2f5100a02fa6a32b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2949
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Fix init_device() was exited without releasing the 'bus' pointer.
Pointed out by cppcheck.
Change-Id: I0ec1a78caa83d7d34a3d88fee64716dcbbc82dd2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2951
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
- Correct button size of 4 and 5 buttons in Mouse GUI.
- Button number are in squence now, added the default values.
Change-Id: I915077d11f9212c47c782fd9296b9f5b8909ed09
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2509
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
* Stub out makebootable like on u-boot
* Place haiku_loader.efi at EFI/BOOT/BOOTXXX.EFI
* Generate boot.scr for u-boot + EFI
* haiku-mmc.image now attempts to auto-boot in qemu-system-arm
* Same code paths should roughly apply for arm64,riscv,etc
Change-Id: I563ebd77422d9e5dfcfeeedadcbc60471e8a57f4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2938
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
This beings the replacement of the libbind/netresolv-based implementation
with musl's equivalent. The code is less well commented in some places,
but it is well-designed and well-maintained, and the licensing situation
is much cleaner than the multi-BSD-licensed libbind-derivative code,
as well as being actively maintained (supposedly NetBSD has taken over
libbind/netresolv, but have not posted any portable code since 2013.)
The eventual goal is to replace the entirety of NetResolv with code
from musl, which will be an involved process as ABI compatibility
will be a problem. These functions at least are extremely
straightforward to replace.
Change-Id: Icfefaa90cbf56b012e4e42360be5b0f0c16d73bf
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2943
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
These are not in the standard and are not declared by glibc at all.
The symbols remain for any applications that are still using them,
for now.\
Change-Id: Ie6b4a6b5ec3231c304e05ce9cb38c67d9ee51ad7
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2942
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
This avoids creaing a semaphore where it is not needed, especially
as most of these locks are never used from another thread (in the
reports in #16246, there are thousands of semaphores from this
with only a small handful having a "last acquirer" != 0.)
On an idle system with 1GB RAM and the 100ms timeout, it takes multiple
minutes for all the pages in the system to get cleared after boot, but once
they do, the page scrubber will then remain idle for seconds to even
minutes at a time, so this is clearly worth it.
The "free pages condition" was unused before this commit, so I have
repurposed it (and unpublished it.)
Change-Id: I7034677a1e51c97c2baf11b772db3a31c0e1adfa
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1699
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
The code here cannot handle the case where alignment > block_size,
so anything calling Init() with these parameters is invalid.
Fixes#15902 (nvme_disk was long since adjusted, so this is a defense
against code being written in the future.)
* This should 'fix' the arm build
* No longer parse FDT in bootloader, just pass ptr.
* The EFI loader doesn't load yet on arm
* It compiles though. Ship it!
Change-Id: I7c8ce588298dfaf4fba8054c6b6d9a92733b5943
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2903
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
* Put 'settings' folder in quotes, just like 'system'.
* Break down the very long sentence.
* The "its" in "...will retain its settings folder" refers to the
source folder, when it's actually the target that is kept.
* 'whereas' isn't the right word IMO, as the following text is more
an explanation what 'merging' entails.
Change-Id: Iae2f1768fdf897b4c6ffb02be6800fdd85e2cde8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2919
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Some older repositories are having problems because
they are configured with a `url` (identifier) form
that is not actually a well-formed URL. This caused
problems when it was then interpreted as the
base-url because it did not start with "http". I
have changed this so that the base-url is not
derived from the url and can be missing.
Resolves#16149
Change-Id: I10acd8db65082ff6c72fcff1550eb63475e86133
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2931
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Previously system_info->free_swap_pages was using swap_available_pages
which has reservations removed. Tools like ActivityMonitor would
therefore show mere reservations as swap use which is misleading at
best.
Switch to use the sum of the free slots of all swap files instead.
This doesn't add overhead as the swap file list was already locked and
traversed for max_swap_pages before (via swap_total_swap_pages()).
Fixes#16248.
Change-Id: I3ebf223ec108bf342d4f32d68405170e72528899
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2917
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Utilize user_memcpy and IS_USER_ADDRESS when necessary to prevent SMAP violations.
Also add a "wacom_device_header" struct to more easily share data between the wacom
kernel driver and input_server addon.
Should fix#14589
Change-Id: Ie2784020b21523f82fd450a2db2de60ccf9d6620
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2783
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Make expanding/collapsing logic the same as in BOutlineListView.
Change-Id: Ia8669ec6ac1be15c09879aa759474b4841451c39
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2933
Reviewed-by: John Scipione <jscipione@gmail.com>
* Add a button to open a Terminal to the left of the Cancel button.
The ALT+OPT+T combo is a bit hidden, as mentioned in #16243.
* After opening a Terminal, close the Team Monitor. Being a modal
window, the user would have to close it manually anyway to be able
to use the Terminal.
* Remove the unneeded instructions how to use the Quit and Kill buttons.
Now we can use a simple BStringView and avoid most of the font style
complications.
* Put some weight on the scroll view, so it's the only view getting
taller when vertically resize the window.
Change-Id: I4a58033c0ce9b36a0e714f9bdd5c5542bca30849
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2906
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
* This should prevent erroneously deleting any files in low memory
situations.
Change-Id: I21b1d042e5f7e03a5abfaaa567b6c679b95e3188
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2914
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
* This allows file systems to retrieve the actual error code on a
failure, and report it to the user.
* All affected file systems have been adjusted to the API change.
This is a binary incompatible change.
Change-Id: Id73392aaf9c6cb7d643ff9adcb8bf80f3037874c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2913
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>