Commit Graph

61907 Commits

Author SHA1 Message Date
Jérôme Duval
eb7ac342a0 kernel/x86: detect power subfeatures
Change-Id: Id159f0d7fc7816b6a40b9cf28f53dfdbebd04a73
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3211
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
2020-09-14 19:24:25 +00:00
Pascal Abresch
99d96cefd9 TLS: add user cert dir
BSecureSocket currently only checks for trust anchors in the CA file,
this change will add the openssl certs/ directory as a trust anchor dir.
this matches the behaviour openssl has on the commandline and allows
users to install their own trust anchors to verify against for TLS

Change-Id: I9db5c3f3b063607e092dded3d5b141dba340a8e2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3207
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
2020-09-14 19:07:17 +00:00
Panagiotis Vasilopoulos
5c66a5ee54 AboutSystem: Added myself to the credits
(The contributor ones, don't fret) ¯\_(ツ)_/¯

Change-Id: Id422d0e1dc4607294dedfc829a7226be2b76f742
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3202
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-09-14 13:37:07 +00:00
Panagiotis Vasilopoulos
058e754b2f Installer: Return to FirstBootPrompt instead of rebooting when exiting
- Changed flow of installation process. Exiting the installer will only result in a reboot if the installation has been completed, rather than forcing the user to reboot after initiating the installation process.
- Adjusted wording of selected strings and increased consistency.

Change-Id: If35b838038c31f4c25fc64eef5b476771020cad6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3200
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-09-14 13:36:08 +00:00
Panagiotis Vasilopoulos
8ed52b6280 FirstBootPrompt: Exiting is now possible
- Exiting the window when the Desktop is not running will result in a reboot.
- Otherwise, the window will just close ordinarily.
- A confirmation box pops up before rebooting.
- Made other optimizations for running FirstBootPrompt on the Desktop.
- Moved some definitions to the header files.
- Added "UsePrivateSystemHeaders" to the Jamfile.

(Thank you, PulkoMandy!)

Change-Id: I34d6538d7b538d36448498ad1ecd442d76bd2bb6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3204
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-09-14 13:35:51 +00:00
Adrien Destugues
a52008cb44 tty: implement TCFLSH to flush buffers
This is probably incomplete. Is locking needed? Should we notify the
next writer (if any) that the port is writable when flushing the output?

Change-Id: I2566e2d036a61af4819894a44f57603179aa27df
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2516
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-09-14 13:35:23 +00:00
Andrew Lindesay
f0e491d390 HaikuDepot: Icon / Tarball Handling
Instead of exploding the tar-ball of icons from
HDS, keep it as a tar-ball, index it and read
data directly out from specific indicies on demand.

This will speed up the process of downloading
the icons by removing the unpack.  Also updates
will be faster by avoiding the need to delete the
old icon files.

Because icons are loaded on-demand, the start
time is faster by avoiding all the icon loads.
There are also savings on memory consumption.

Indexing on each load is surprisingly fast so
no external index is maintained.  Likewise for
the tar-balls's meta-data.

This commit does not cover the implementation
of an LRU cache of the icons in memory.

Relates to #15370

Change-Id: Ia1647d8c805be89618f493d2592bf7877fca3f14
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3205
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-09-12 23:06:24 +00:00
Máximo Castañeda
2ad62d391b resizefs: fix usage string
Change-Id: Ic864135ce7f29220f158112e50aa3164e4bd738e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3210
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-09-12 19:37:59 +00:00
Autocomitter
e2172f7459 Update translations from Pootle 2020-09-12 08:49:03 +00:00
Zotyamester
aae45bbcb4 Fix 'always true' and 'always false' if statements
Change-Id: If4056c8767184785b24489a678af498842e54cef
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2121
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-09-10 19:48:19 +00:00
Adrien Destugues
471ecc8763 Mouse preferences: Build fixes 2020-09-10 20:03:38 +02:00
John Scipione
fe88ae51ec AppKit: BMessage Add/Find/Get/Has/ReplaceNodeRef
This allows you to pass node_ref's around like you can entry_ref's.

Added node_ref_flatten(), node_ref_unflatten() and node_ref_swap() to
MessageUtils. These are close cousins to entry_ref_flatten(),
entry_ref_unflatten(), and entry_ref_swap() but for node_ref's.

Added B_NODE_REF_TYPE to TypeConstants.h in the Support Kit.

Added B_NODE_REF_TYPE to Debugger and ByteOrder in Support Kit,
B_NODE_REF_TYPE is treated the same as a B_REF_TYPE (entry_ref).

Add documentation for new NodeRef methods and B_NODE_REF_TYPE.

Change-Id: I32c6ed276bf1a7894a835b9fc9de5a882c35883c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3182
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-09-10 17:18:09 +00:00
John Scipione
19a1dd49cf API docs: update TypeConstants.h documentation
Most of these say Haiku R1 but were introduced in BeOS R3 or R5.

Add documentation for a bunch of missing types.

Some minor updates to BMessage docs.

Change-Id: Ic6ad1439bd280ab8bc641a6e5c99b93ead512cbc
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3199
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-09-10 17:18:09 +00:00
Panagiotis Vasilopoulos
e1a6851cf8 Mail: Added two privacy-friendly providers
Change-Id: I5347fb866158e1317c9bdc8941de70346e39ec88
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3201
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-09-10 17:16:47 +00:00
Adrien Destugues
9aea709dda Input prefs: handle errors
Various error handling cases were missing, which would lead to corrupt
settings and crashes. Add the missing error checks and make sure we
always revert to sane settings in case of problems.

Change-Id: Ib72621d6e4974345f5f6ee88e01a918cbf09d7ea
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3069
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-09-10 17:15:09 +00:00
Preetpal Kaur
02ad22d6c8 Input: declare BString to get the Mouse Name
Change-Id: I3476f58839202a6fd8c93e325a15045963a9b7b2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3125
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-09-10 17:15:09 +00:00
Preetpal Kaur
37d793236c Added get_set_mulitple_mouse_type() functions
Change-Id: I95f85a15a77c3a548bb672cb966ae7b13fcefcc8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3127
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-09-10 17:15:09 +00:00
Adrien Destugues
68c67d9c5a input_server: manage settings for multiple mouses
Change-Id: Ib879ab30057e365cf96e4b9e6295489b8aa1199a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3128
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-09-10 17:15:09 +00:00
Preetpal Kaur
33f4d9b52b input_server: prepare for multiple mouse settings handling
Add MultipleMouseSettings class in input_server mouse settings code.

It is identical to the one in input preferencdes, but manages a
different implementation of the MouseSettings (which is kept as it was
before)

Change-Id: I4d96bb3702160c4ab9cf5411573e9609ee1f88a6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3129
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-09-10 17:15:09 +00:00
Preetpal Kaur
82430c4028 Mouse Preferences: store settings for multiple mouses.
Use a BMessage for the mouse settings. Store an array of mouse_setting
and an array of names for the corresponding mouses.

The input preferences can load the settings in both the old and new
format. If in the old format, the settings are applied to all mouses.

In this commit, input_server is not modified yet to use the new settings
format, leading to unusable mouse.

Change-Id: I37dd27cfa3ac55c6956cc4fb7fc8fabc85a59448
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2953
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-09-10 17:15:09 +00:00
Adrien Destugues
8f5c207181 Avoid Tracker crashes when input_server is broken
Missing error checks when calling input_server can lead to Tracker
crashes.
Add the missing error checks.

Thanks to mmlr for helping investigate the problem!

Change-Id: Ie7f3e00c1267b594eafc77a1613e186cf38e5277
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3068
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-09-10 17:15:09 +00:00
Gerasim Troeglazov
d0233ca7e1 ICNSTranslator: Fix bug #15726
Change-Id: Ie1db106f40b1f4214e1798d3a8cbd22193bf4bfa
2020-09-10 20:53:41 +10:00
John Scipione
d9385a9d38 IK: align BTextView text rect/fix alignment
Recalculate line breaks in FrameResized() if word-wrap is on, otherwise
only move the text rect into position. StyledEdit was recalculating line
breaks before on resize (we have to in this mode) and the frame offset
updates for non-wrapping text views are inexpensive. This makes resizing
text view's work like StyledEdit everywhere.

Scroll to cursor when word-wrap setting changes if text view is editable.
If you are viewing a long document changing word-wrap can move the cursor
quite far, so scroll back to it.

Fix _ActualTabWidth() pen location for right and center-aligned text views
so that tabs widths are calculated correctly.

Reset fTextRect horizontal limits to bounds minus insets in
_RecalculateLineBreaks(), then grow fTextRect based on alignment when
wrap is off.

Fixing insets also fixes right and center-aligned BTextViews.
Left-aligned text view's grow right, right-aligned ones grow left,
and center-aligned ones grow out.

Make extra scrolling space for all aligned text views go the other way
from how it did in hrev24130 (and on left-aligned text view's too) so
that half the text is visible when you edit past the end or before the
beginnning of a text view instead of none of it.

Fixes #1651 #12608 #13796 #15189

Do not _RecalculateLineBreaks() if text view bounds are invalid.
In SetText() detect invalid text view bounds and resize the view to the
width and height of the first line. Then recalculate line breaks.
This fixes BAlert text view size issues.

Fixes #16481 (regression from hrev54496.)

Remove useless and heavy computation. There is no point in computing line
breaks for a 10px wide text view and it takes a long time because it needs
a lot of linebreaks. The view eventually gets laid out properly.

Fixes #5582 (which was not locale-related, after all.)

Only apply default insets if text rect is set to bounds. This ensures
that apps that manipulate the text rect can continue to do so without
the default insets interfering while apps that don't can benefit
from the defaults. If you want to set the text rect to bounds and
not use the default insets you must override the default by calling
SetInsets(). This prevent the default insets from being applied once
apps have changed the text rect fixing a bug in Icon-O-Matic where the
text rect insets were being applied incorrectly.

Fixes #16488 (regression from hrev54496.)

Reduce left and right insets inside text views from full label spacing
to half label spacing. Unify padding between BTextControl and BTextView.

Move fLayoutData->UpdateInsets() to private BTextView::_UpdateInsets()
because we need access to BTextView member variables when deciding
whether or not to add the default padding or not.

_UpdateInsets() changes:
* Don't update insets if BTextView::SetInsets() was called.
* Don't add default insets unless fTextRect is set to view Bounds().
* Do not set the right and bottom insets to left and top if negative,
  set them to 0 like we do to left and top -- DeskCalc bug otherwise.

Fixes #15688

Other BTextView fixes:
* Replace max_c and min_c with std::max and std::min respectively.
* Remove scrolling from one instance of BTextView::SetText() as it
  produced undesired results while editing a scrolled text view.
* Add default insets in _UpdateInsets()
* Fix scrolling when entering and deleting text so that some part of
  the text is always visible. Make visible scroll width depend on font
  size.
* Allow scrolling to a negative offset in x but not y. This allows you
  to scroll the entire contents of right and centered-aligned text views
  whose content does not fit in the box.
* Change _Refresh() to take an offset instead of a bool so that you can
  scroll to any offset.
* Replace TextLength() with fText->Length() in a couple of places.

TextControl changes:
* Set text rect in BTextControl::DoLayout().
* Remove AlignTextRect() from TextInput.

Fix the following problems in apps:

ScreenSaver: Set text rect in PreviewView::AddPreview().
Tracker: Set "Edit name" text view insets to 2. Tweek text rect position
  to be on top of label in icon, mini-icon, and list mode. Add a TODO that
  the text rect is a pixel off from the name on some files.
Mail: Remove _AlignTextRect() and FrameResized() from AddressTextControl.
  Use default insets on the text view, defaults are fine here.
DeskCalc: Set insets based on font size in ExpressionTextView
  SetTextRect() instead of manipulating the text rect.
  Remove _CheckTextRect() and related methods from InputTextView.
Icon-O-Matic: Remove _CheckTextRect() and related methods from InputTextView.
WebPositive: Remove _AlignTextRect() and FrameResized() from URLTextView
  and call SetInsets().
StyledEdit: Word-wrap and FrameResized() changes ported to BTextView.

Fixes #16476 #16480 #16488 (regressions from hrev54496.)

Change-Id: Ifeca6077f8815ccd86d5a3880f99556298aaf0fe
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3152
Reviewed-by: John Scipione <jscipione@gmail.com>
2020-09-07 22:10:36 +00:00
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