Commit Graph

61934 Commits

Author SHA1 Message Date
John Scipione
3d43a90508 bfs: Enable logging on DEBUG build
Fix DEBUG build errors by using B_PRI macros in BlockAllocator.cpp,
CheckVisitor.cpp, Inode.cpp, Journal.cpp, and kernel_interface.cpp

Add optional type parameter from BlockAllocator::IsValidBlockRun()
and actually PRINT it, type parameter is already optional on
BlockAllocator::CheckBlockRun().

Remove a couple of casts as we are printing the expected type, int32.

Cast mode_t to (unsigned int) and use %u because 32-bit Haiku didn't
like B_PRIu32.

Verified to compile on both regular and DEBUG builds on both 32-bit
and 64-bit.

Change-Id: I8bb39afd400768b7f69d36384974f0b91b3ef48c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3184
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: John Scipione <jscipione@gmail.com>
2020-09-07 22:09:11 +00:00
John Scipione
b91bee0657 bfs: Silence errors on non-DEBUG build
Don't print to syslog on regular builds e.g.
    KERN: bfs: bfs_open:1360: Read-only file system

Change-Id: Ib458cd88bf6df63f707e09dca0db6a146b7975d1
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3177
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-09-07 22:09:11 +00:00
Adrien Destugues
c253ef85df intel_extreme: remove an useless trace
The get_edid_info function just does a memcpy of the info from the
driver. There is no need to trace to syslog everytime this happens
(which is a lot).

Also convert an error message from TRACE to ERROR so it remains visible
when tracing is disabled.
2020-09-06 16:27:20 +02:00
Adrien Destugues
eac3b2e064 WebPositive: build fix. 2020-09-05 18:55:41 +02:00
Adrien Destugues
ae81427bee WebPositive: fix two characters of the search string being eaten. 2020-09-05 18:40:03 +02:00
Adrien Destugues
9a6a570ac9 ffmpeg: fix memory leak if writer is initialized multiple times. 2020-09-05 18:38:25 +02:00
Adrien Destugues
3cf5015980 ffmpeg: improve context allocation
The context can be better allocated if it knows which codec it will be
used with (preallocating things with the correct size). To do this we
need to delay allocation from the constructor to the Init method.
2020-09-05 18:38:25 +02:00
Adrien Destugues
628ea9eeb0 ffmpeg: delete dead code 2020-09-05 18:38:25 +02:00
Autocomitter
603367cf7e Update translations from Pootle 2020-09-05 08:50:10 +00:00
Alexander von Gluck IV
b24dbf95d0 riscv64/boot: Add same u-boot potential that arm has, drop L_DYNAMIC
* Tianocore is still in an early state for RISCV64 with a lot of work
  needed around qemu support.
* u-boot however is working, and can load EFI binaries... so follow the
  arm model for now. (EFI via u-boot, or EFI via EFI Bios)

Change-Id: I3dfde25db17b114aedce6faefc58d7556e17a46a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3176
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-09-02 20:55:06 +00:00
Emir SARI
fc1ace1563 Avoid confirmation for rebooting from SoftwareUpdater
It is pointless to ask for a second confirmation in SoftwareUpdater,
since the user understands that the system needs to be rebooted for the
changes to take effect.

Change-Id: I00c728264c32e3688e396e70925b90501ccac6de
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3185
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2020-09-02 13:27:22 +00:00
syedsouban
4c1d001d51 WebPositive: add search engine shortcuts
Currently supports:

- Google (g)
- Bing (b)
- Wikipedia (w)
- DuckDuckGo (d)
- Baidu (a)
- Yandex (y)
- Ecosia (e)
- Qwant (q)

Change-Id: Iec51c776c598672bd6df3be7b8dbd21062b85968
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1359
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-09-02 13:27:22 +00:00
Niels Sascha Reedijk
331889d067 Kernel/Threads: remove limit on number of dead threads in a team
When a thread is created, it is expected that some other thread (usually the
creating thread) will want to make sure it completes. This is done using the
pthread_join() or wait_for_thread() calls.

It is possible that threads end before another thread waits for its completion.
That's why there is a dead thread list for each team, which holds thread ids
and their exit status so that a call to pthread_join() or wait_for_thread() in
the future can complete succesfully.

The dead thread list was limited to 32 threads per team. If there would be
more, the oldest thread would be kicked off. This could cause issues in
situations where a team would create more than 32 threads, and would start
waiting for their result after they have finished. Some of the calls would fail
because the threads would no longer be in the dead list.

This specifically caused problems for cargo (the Rust package manager), which
could depending on the number of dependencies, could create more than 32
threads. See: https://github.com/nielx/rust/issues/3

This change removes the limit of dead threads within a team. Note that there is
a risk that a badly written program that does not detach or joins its threads
can make this an endless list, but the impact is relatively small (dead threads
only occupy a bit of kernel memory).

Change-Id: I0135dd54e10ee48a529f23228d21237d4f1a74e2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3178
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-09-01 21:04:46 +00:00
Adrien Destugues
41853a8bbf locale kit: allow creating a catalog without entry_ref
The catalogs are loaded from separate files, so there is no need to have
an app entry_ref to load them, just a MIME type is enough.

The implementation is a bit simplified: only the default catalog format
is allowed (unlike when loading from entry_ref, where extra catalog
formats can be added in add-ons).

Unrelated cleanup: remove unused code to load catalogs from attributes
of an application. We considered this when designing the locale kit, but
using resources or separate files works better.

Use this in Cortex, where some strings are in a static library, so they
don't have an associated executable or library or add-on to identify
them. The code in Cortex is not complete localization, several parts
should use StringForRate, BStringFormat, etc.

Change-Id: I09be22b1f50891250c4497c51e1db8dcee279140
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3172
Reviewed-by: Kacper Kasper <kacperkasper@gmail.com>
2020-09-01 18:14:57 +00:00
Humdinger
5c5a5dbbcc CharacterMap: fix block name spelling
As reported by Fabio Tomat.
Fixes #16497

Change-Id: I968495802f3eafcb5805e963da357adf884c5cd4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3179
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-08-29 12:11:08 +00:00
Autocomitter
e292feb2ea Update translations from Pootle 2020-08-29 08:45:19 +00:00
ROIRED XSoto
5889cb5e7e Add X-Bows keyboard layout
Change-Id: I2dd4b4123a190627de86a83ed3e9cc9eb7fbe5ac
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3110
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-08-27 08:50:31 +00:00
Adrien Destugues
27ae691c1f Icon-O-Matic: fix the main menu bar
Mentionned in #8759 as well.

Change-Id: I90bb0529a6bf1dd18316a95f87947e142128d5db
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3123
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-08-26 16:55:21 +00:00
Adrien Destugues
c2151600ed Icon-O-Matic: use BMenuFied for secondary menus
Fixes #8759

Change-Id: Ie1c40e6e9ee21bc616119aaf49b3e46162fb82aa
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3122
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-08-26 16:55:21 +00:00
Adrien Destugues
058fca80b7 Input preferences: fix list minimum size
- Use the longest device name as a min size
- Refactor things a bit to simplify the code
- Also set weights in the top group view to ensure a nice ratio between
  the list and the other part of the window
2020-08-26 15:56:59 +02:00
Alexander von Gluck IV
b3cd2bdfa7 riscv64: Generate a bootable EFI MMC image
* mmc might be not ideal. But raw is just a single partition and
  anyboot is heavily x86. MMC will technically work for now to get
  bootable images.
* floppyboot isn't used on EFI platforms, since we call two different
  actions, just drop floppyboot altogether on EFI SD Images.

Change-Id: Idabb5483304007dd601bf8a1158036ffd24f73aa
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3165
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-08-25 12:53:56 +00:00
Humdinger
e178540314 Web+: Add tooltip to search page setting
Change-Id: I479de9b409726f42b0418a2c8f6e592b05fefe0f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3164
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-08-25 08:55:25 +00:00
CruxBox
cacda42520 fs_shell: Fixed cat command
This patch fixes the following issues:

The cat command in fs_shell only printed 10 bytes instead of the entire
file. Also, when the number of bytes to be read from file was large it would
cause segmentation fault because of stackoverflow.

This was noticed while testing xfs and ufs filesystems and has now been
fixed.

Change-Id: I3891f2834c5b76330f666ebee97b20bd5529742a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3157
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-08-23 12:57:22 +00:00
John Scipione
6148533ec2 Revert "BTextView: remove useless and heavy computation"
This reverts commit ca6302dded.
2020-08-23 00:09:46 -04:00
Michael Lotz
481b113707 kernel/vm: Dump page protections array address in area command.
Had to abbreviate the trailing 's' to make it fit the alignment...

Change-Id: Iae88c4cd92c3f54bf3ea3433ea3dafe5df90a8e8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3168
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-08-23 00:55:58 +00:00
Michael Lotz
5984257d43 kernel/vm: Avoid page protection overflows for very large areas.
For areas >= 32TiB the page protection array size would overflow.

Change-Id: Ic95d9a6e35bbedb165c2bbd382f6c47edde07ac2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3167
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-08-23 00:55:58 +00:00
Michael Lotz
75a10a74e8 kernel/vm: Make vm_copy_area take page protections into account.
When copying an area with vm_copy_area only the new protection would be
applied and any possibly existing page protections on the source area
were ignored.

For areas with stricter area protection than page protection, this lead
to faults when accessing the copy. In the opposite case it lead to too
relaxed protection. The currently only user of vm_copy_area is
fork_team which goes through all areas of the parent and copies them to
the new team. Hence page protections were ignored on all forked teams.

Remove the protection argument and instead always carry over the source
area protection and duplicate the page protections when present.

Also make sure to take the page protections into account for deciding
whether or not the copy is writable and therefore needs to have copy on
write semantics.

Change-Id: I52f295f2aaa66e31b4900b754343b3be9a19ba30
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3166
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-08-23 00:55:58 +00:00
Augustin Cavalier
bafb111359 Debugger: Add B_CLONEABLE_AREA to printed flags.
The helptext already displayed "c" as "cloneable",
it just was not actually added here as such.
2020-08-22 17:18:06 -04:00
Autocomitter
d9a347dc40 Update translations from Pootle 2020-08-22 08:45:14 +00:00
Alexander von Gluck IV
9ba143a5d0 riscv64: Finish initial work on an EFI loader
Change-Id: Ia386d9155dda37ff6608a33dee349bf5332890c3
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3162
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: François Revol <revol@free.fr>
2020-08-21 21:17:31 +00:00
Alexander von Gluck IV
21258e2674 riscv64: Fill in some missing CPU defines, advance build further
Change-Id: Id050fad59ede444f2eab7eca681c6ec44612aaf9
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3160
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: François Revol <revol@free.fr>
2020-08-19 16:11:32 +00:00
François Revol
425515d0ac m68k: really add fenv from musl-1.1.24
Somehow the first review merged only the commit log.

FreeBSD doesn't have m68k anyway, so use fenv from musl with as less
changes as possible.

Change-Id: I6372af6679e6773fbb6bf4c8b5b30512971a97a6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3161
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2020-08-19 15:23:47 +00:00
François Revol
48099e3e48 m68k: don't take CD boot stuff in floppy image
Note it is not enough to fit, you also need to disable USB boot.

Change-Id: I5159c9ddebb242c4d4874d70430da6852073fdb4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3102
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-08-19 13:39:53 +00:00
François Revol
d4b7d64b81 m68k: force fold segments into text, [ro]data & shave 100kB of ELF stuff
For some reason the kernel ended up with a bunch of .text.foo or
.data.rel.bar sections, each with their own ELF section headers and
other metadata. Forcing them into the base sections drops the binary
size by about 100kB, even for the stripped one.

I suspect it should work on other archs as well.

Change-Id: I7a8f46480d71267c07b75325423a0f5bfd2d12fb
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3101
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2020-08-19 13:39:32 +00:00
François Revol
ab51e305e9 m68k: fixup_next_boot_floppy: force bootblock at 8k to fit before tgz
We don't have room for disklabel copies anymore.

+ style fixes

Change-Id: I22502167a4f5f8bc3df1b017072461d77a299b16
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3100
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2020-08-19 13:39:04 +00:00
François Revol
50addaaab6 m68k: fixup_next_boot_floppy: use Haiku names, write copies
Change-Id: I99b007d8c67f278f5bb7a784ea0e56fdd15209c0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3099
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2020-08-19 13:38:25 +00:00
François Revol
ea3142ecba m68k: fixup_next_boot_floppy tool (actually writes the disklabel)
Next floppies actually do have a "disk label" (partitionning scheme),
the boot block being later on the disk.

This commit generates an identical label to the image I have here (but
not the copies at other sectors), including the checksum.

Change-Id: I7f939c26e70e3626d9af7a3eb342cfd32c298e3d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3098
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2020-08-19 13:37:39 +00:00
François Revol
86776c1ebe m68k: detect NeXT framebuffer
Doesn't work yet though:
- we don't implement heap yet,
- non-color machines have 2bpp, so we'll have to hack this in some way.

Change-Id: Idf8f69c2256837db3915949d93265decbb43a524
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3097
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2020-08-19 13:37:21 +00:00
François Revol
ab17378328 m68k: Add more NeXT boot rom stuff
Those were found in the official headers in the NeXTstep ISO, how come I
didn't even look there in the first place?

We do get enough info to use the framebuffer, but sadly the SCSI IO
seems invalid. Both the NetBSD and even NeXTstep bootblock have their
own embedded drivers, maybe they didn't trust their own rom?

Change-Id: I0a47c433da89b15091644cd5c69ffff24d0cdd1f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3096
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2020-08-19 13:36:51 +00:00
François Revol
5c9d51ef00 m68k: make sure boot & kernel code can run on 020-060
Change-Id: I5830085fcd6120600ff3be85a2fdd2602e1935fe
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2221
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-08-19 13:35:41 +00:00
François Revol
ec5a799719 m68k: add next_m68k boot platform
Since the boot ROM API structure is declared with a custom alignment, we
simulate it with padding bytes around, and use aligntest.prg to verify
using ARAnyM + TOS/MiNT as we know how to link simple PRG files.

It now prints something to the screen then panics when initializing the
heap.

For now one must insert the loader manually into an existing floppy
image:
dd if=generated-m68k/objects/haiku/m68k/release/system/boot/next_m68k/haiku_loader.next_m68k bs=$((0x8000)) seek=1 of=next_floppy.img conv=notrunc

Change-Id: I06d74e9d85a352aab68dedce545bbe5fe9e990d5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2220
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-08-19 13:35:19 +00:00
François Revol
53b97f0d18 m68k: add fenv from musl-1.1.24
FreeBSD doesn't have m68k anyway, so use fenv from musl with as less
changes as possible.

Not sure the 'hidden' define should go there.

Change-Id: I343f72d61dcacf7dfc180d112529f5a6521d7e3b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2213
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2020-08-19 13:34:55 +00:00
John Scipione
22758f1690 Revert "IK: align BTextView text rect/fix alignment"
This reverts commit a9b301871d.

hrev54496

Change-Id: Ife3c834ad98d330f04976d9adf3b1553e7aca034
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3153
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
2020-08-19 03:38:41 +00:00
John Scipione
90f9b5590f App Server: Save decorator path on load, fixes #16412
Change-Id: Ia536764d4abb79772e4d3f16e2364d87792d60fd
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3150
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-08-19 03:22:09 +00:00
François Revol
a088631dc6 build/repositories: Fix m68k HaikuPorts and Cross
Change-Id: I0ebdd096558a6f060d6bcd56807903f1496e8ed6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2211
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2020-08-19 00:08:10 +00:00
Michael Lotz
4df4ae2e80 kernel/x86: Enable machine check exceptions if supported.
This enables generation of exceptions that are due to uncorrected
hardware errors. The exception handlers were already in place and will
now actually trigger kernel panics.

Note that this is the simplest form of MCE "handling" and does not add
anything of the broader machine check architecture (MCA) that also allow
reporting of corrected errors. As MCEs are generally hard to decode due
to their hardware specifity, this merely makes such problems more
obvious.

Might help to discern hardware issues in cases that would otherwise just
triple fault and cause a reboot.

Change-Id: I9e3a2640458f7c562066478d0ca90e3a46c3a325
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3155
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
2020-08-18 06:54:53 +00:00
John Scipione
f9b3a3b1f3 Deskbar: Restore old mini-mode
... with the replicant tray below the menu bar.

Deskbar now has four modes:
1. vertical mini-mode (old mini-mode)
2. horizontal mini-mode (new mini-mode, was vertical)
3. vertical expando-mode (default)
4. horizonal expando-mode

Horizontal mini-mode gets the corner, then it switches to vertical
mini-mode above or below that, then to vertical expando-mode after
that. Horizontal expando mode is in center-screen top and bottom.

Clock vertical centering simplification.

Change-Id: I216008c20feb28f793693046792bbcfdf1e703e3
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3146
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-08-17 21:11:31 +00:00
Michael Lotz
2e4840b45c es1370: Fix print formats by using format macros. 2020-08-17 21:05:37 +02:00
Michael Lotz
4f11ee9f78 es1370: Change physical addresses to phys_addr_t.
Solves a TODO and some pointer to integer cast warnings.
2020-08-17 21:05:37 +02:00
Michael Lotz
5217ff8fa7 es1370: Fix pointer arithmetic warning by adding a cast. 2020-08-17 21:05:37 +02:00