Commit Graph

59442 Commits

Author SHA1 Message Date
Augustin Cavalier
f1e8678942 kernel: Notify low resource handler & retry when low on kernel address space.
Solves a decade-old TODO. This might help with strange behavior in
low-memory conditions.
2018-12-11 14:44:52 -05:00
Augustin Cavalier
0a347c90d5 kernel: Minor style cleanup to arch_altcodepatch.
No functional change intended.
2018-12-11 13:38:13 -05:00
Augustin Cavalier
8a1709b3af vm: Allow W|X before kernel startup ends.
The altcodepatch mechanism needs to overwrite parts of the kernel
image. This can't be done by setting it to RW-only and not RWX,
as we are already running within the kernel when this occurs,
and so instruction fetches can and will occur between the points
of +W and -W.

As gKernelStartup is turned off before the scheduler is started,
this is not much of a lifted restriction, as no modules are loaded,
no secondary threads started, etc.

Fixes #14751.
2018-12-11 13:37:39 -05:00
Augustin Cavalier
08858e10fa kernel_cpp: Don't import all of the "std" namespace.
This file is included, directly or indirectly, by most of the
kernel-space C++ code, and so importing the entirety of "std"
seriously pollutes the global namespace.

So instead, just import "std::nothrow", which is the only thing
we really want in the global namespace. Tested on both GCC2
and GCC7 and seems to work just fine.

While I'm here, also update the include guards and copyright
header to match the standard format used elsewhere.
2018-12-10 19:44:07 -05:00
Augustin Cavalier
cac9cf1565 kernel: Staticize id_generator's GeneratorList object.
Spotted by Clang.
2018-12-10 19:17:08 -05:00
Augustin Cavalier
8844a67e90 More trivial syntax and logic cleanup.
Spotted by Clang. No functional change intended.
2018-12-10 19:16:19 -05:00
Alexander von Gluck IV
b279d6def1 busses/mmc/sdhci_pci: Return B_UNHANDLED_INTERRUPT at end of non-void func
* I'm making an assumption here this is the desired result since interrupts
  are unhandled at the end of the function.
* Pointed out by gcc
2018-12-10 16:01:07 +00:00
Augustin Cavalier
4089701dbd interface: Remove some unreachable "break"s.
Spotted by Clang.
2018-12-09 23:04:45 -05:00
Augustin Cavalier
ee0b0d6dac kernel: Fix typos in documentation.
Spotted by Clang (yes, there is a -Wdocumentation that understands
how to parse Doxygen comments!)
2018-12-09 23:04:00 -05:00
Augustin Cavalier
5d78c2d7e0 kernel: Remove some unused macros.
Spotted by Clang. (I double-checked they weren't used within
some #ifdef'd-out code, too.)
2018-12-09 23:03:11 -05:00
Augustin Cavalier
bc3fc95ff6 kernel: encode_glyph shouldn't be used outside convertutf, make it static.
Spotted by Clang.
2018-12-09 23:02:13 -05:00
Augustin Cavalier
6b83d77fb7 smp: Make {acquire|release}_read_seqlock_inline cast explicitly.
Also fix braces.
2018-12-09 23:01:42 -05:00
Augustin Cavalier
86c12bf05b kernel: Initialize all fields of rw_lock in RW_LOCK_INITIALIZER.
Spotted by Clang.
2018-12-09 23:01:11 -05:00
Augustin Cavalier
5dd66afb7d headers: Remove some extra semicolons.
Spotted by Clang.
2018-12-09 23:00:47 -05:00
Augustin Cavalier
cb0977326d kernel: Enforce W^X protection for kernel areas.
We already adhere to this in the kernel itself as well as all
in-tree drivers, so we might as well actually enforce it now.
2018-12-09 15:19:08 -05:00
EXL
f232d9d22c AboutSystem: Minor fix for opening links
It looks like it unfolds to:
> /bin/open /bin/open https://www.example.com

Instead of the expected:
> /bin/open https://www.example.com

See "src/kits/app/Roster.cpp", BRoster::ArgVector::Init() method:
    // init vector
    if (error == B_OK) {
        fArgs[0] = fAppPath.Path(); // Here
        if (argc > 0 && args != NULL) {
            for (int i = 0; i < argc; i++)
                fArgs[i + 1] = args[i];
            if (hasDocArg)
                fArgs[fArgc - 1] = fDocPath.Path();
        }
        // NULL terminate (e.g. required by load_image())
        fArgs[fArgc] = NULL;
    }

Change-Id: Ie7e7155377637b93cbc3c1d225cb91b5e0d2dd7d
Reviewed-on: https://review.haiku-os.org/754
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2018-12-09 19:33:55 +00:00
Humdinger
dbbac33163 Mail: save vertical space in the header when reading mail
The layout is unchanged for writing an email.

Changes when reading an email:

* decrease vertical spacing between rows
* move "To" to the right of "From" in the first row
* move "CC" to the right of "Date" in the second row
* move "Subject" down to the last, 3rd row

"CC" still only shows when it contains data.

This is a comparison of the old (left) and new (right) layout:
https://linx.li/new-mail.png

TODO:
It would be nice if the "To" and "CC" were right-aligned.

Change-Id: I89c758bc16af03838e6e3206b2983f451f6044b2
Reviewed-on: https://review.haiku-os.org/753
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2018-12-09 19:33:22 +00:00
Alexander von Gluck IV
6e48605b8f kernel: Add riscv config_manager and kernel lib arch sources
Change-Id: Idb40e98f4f664e6bfe0af6bc098bae5c871fb4e5
2018-12-08 16:46:17 -06:00
Barrett17
b6c5bdbd39 MediaFile: Properly use BMediaExtractor::GetMetaData 2018-12-07 18:53:48 +01:00
Alexander von Gluck IV
eb4dd41b42 system/glue: Get your arm outta my risc!
Change-Id: Ie000430275df9be5568d7d8e330743120691ac4f
2018-12-05 10:30:42 -06:00
Alexander von Gluck IV
7dcd941df2 riscv32/64: Stub out some core architecture code
Change-Id: I437dff816e87ec5692cca0aaacaada27b43089ee
2018-12-05 10:14:18 -06:00
Murai Takashi
e28abad762 userlandfs: Fix -Werror=parentheses
Remove unnecessary parentheses in declaration of pointers.
Pointed out by gcc8.

Change-Id: I6f56b12349b6c8433f7ce237f5ce5d7af45bf103
Reviewed-on: https://review.haiku-os.org/750
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Reviewed-by: Skipp_OSX <jscipione@gmail.com>
2018-12-04 20:46:43 +00:00
Adrien Destugues
5490645d16 ffmpeg: Undo changes to frame time computation
I was misled by ffmpeg docs, the timestamp is indeed in microseconds
already at this point.
2018-12-04 19:16:29 +01:00
Murai Takashi
53ffd9513d libntfs: Fix -Wsizeof-array-decay
Fix sizeof() parameter since sizeof(buffer - 1) returns size of pointer,
not size of array. Pointed out by clang.

Change-Id: Ib0be8a9de65c24a787e5817ea70a1cfc1c14b18f
Reviewed-on: https://review.haiku-os.org/743
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2018-12-04 12:54:27 +00:00
Murai Takashi
f8278c1398 codycam: Fix PVS 1321
Fix local variable 'fSettingsDir' is same name as Settings class member
'fSettingsDir'.
https://git.haiku-os.org/haiku/tree/src/apps/codycam/SettingsHandler.h#n148

Change-Id: Ifa12b3239e88bf1f7f29c77704ea1f9f161384f7
Reviewed-on: https://review.haiku-os.org/752
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Reviewed-by: Stephan Aßmus <superstippi@gmx.de>
2018-12-04 12:30:53 +00:00
Augustin Cavalier
652a4674d4 emulex_oce: Add firmware macros to glue code.
The driver optionally can load new firmware onto the device, but
we don't currently ship it. But because it tries to use it means
the symbols get linked in, and so on debug builds it failed to link
since these macros weren't there.
2018-12-02 17:19:32 -05:00
Augustin Cavalier
e24ef16936 EFI: Architecture-specific code depends on GNUEFI headers.
Hopefully fixes the buildbot's recent breakage.
2018-12-02 17:06:54 -05:00
Adrien Destugues
151343ebc8 BLooper: API to hijack existing thread.
I need this to use loopers in WebKit, which spawns threads and expects
to be able to turn them into event loops later on.

This is the pattern already used in BApplication, we may as well make it
available elsewhere.

Change-Id: I5939ca89d33cb3bcc92567b302c2038d976af598
Reviewed-on: https://review.haiku-os.org/735
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2018-12-02 21:36:31 +00:00
Jérôme Duval
4bba0571c6 demangler/gcc3+: when the parameter isn't found, return a useful error.
after the last argument, get_next_argument() would call get_next_argument_gcc3(),
see a failure, then call get_next_argument_gcc2(). Ideally we could make
different cookies for gcc2 and gcc3+ demanglers, thus avoiding this issue.

Change-Id: I3904e008a0b6ba627940fb9bca1d44ddbafbcbd0
Reviewed-on: https://review.haiku-os.org/742
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2018-12-02 21:35:09 +00:00
Murai Takashi
c9e6afb2af accelerants/radeon: Fix PVS 2007
Fix the '?:' operator returns same value.

Change-Id: I439d30f78213e0dc80c6fed90e5068618faea1fa
Reviewed-on: https://review.haiku-os.org/738
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2018-12-02 21:32:09 +00:00
Murai Takashi
b63646d69c bin/trash: Fix PVS 787
Fix 'err' is assigned values twice successively.

Change-Id: I783094dacbd99880381d0359c66359177611506e
Reviewed-on: https://review.haiku-os.org/746
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2018-12-02 21:31:26 +00:00
Murai Takashi
4c5e5d8b04 tools/locale: Fix using auto_ptr to array.
Use BStackOrHeapArray instead of using auto_ptr to array.

Change-Id: I171cb002829c36ec51ba7d1e387869263e2a40f2
Reviewed-on: https://review.haiku-os.org/745
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2018-12-02 21:31:26 +00:00
Murai Takashi
6439130107 add-ons/locale: Remove unused auto_ptr
Change-Id: Ibe10945ce38dec3f4be229450ba32125539dfdd1
Reviewed-on: https://review.haiku-os.org/744
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2018-12-02 21:31:26 +00:00
Jérôme Duval
9f4b382338 wctype: have towlower and towupper check char ranges with no locale backend.
Change-Id: Ie63977bcf54ce9b0a2fa542ba5327c8e8b050e2e
Reviewed-on: https://review.haiku-os.org/740
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2018-12-02 21:28:43 +00:00
Barrett17
bc6fcc8aae ape_reader: Remove pedantic instantiate_plugin declaration 2018-12-01 12:43:30 +01:00
Barrett17
b6802a9530 MetaData: Remove support for uint32 keys
* We try to conform to what ffmpeg does, it is
unuseful to support metadata keys formats which
aren't really used anywhere.
* Add TODO with some infos for future improvements.
2018-12-01 12:30:54 +01:00
Barrett17
a57cf128a6 Codec Kit: Introduce declarative macro with version and name
* Namespaces protect symbols, I didn't consider that when adding
the BCodecKit namespace, so, the AddOnManager complained that
instantiate_plugin() was missing. A macro is introduced that allow
plugins to specify it's className, version and name, this ease
the declaration of the plugin symbols, otherwise the function
should have been declared inside the BCodecKit namespace which
we would like to avoid.
* The code is also more future proof, since in future the AddOn manager
can begin to check for plugin versions.
2018-12-01 11:19:12 +01:00
Jérôme Duval
cf6760f20c userlandfs: Read()/Write() with user_memcpy().
Change-Id: I8be72d5fb18228c0ee0394a3f906f7a50113d7ea
Reviewed-on: https://review.haiku-os.org/741
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
2018-11-30 22:02:42 +00:00
Murai Takashi
f0a1a07c73 RegionSupport: Fix PVS 338-346
Fix 'true / false' value is implicitly cast to the integer type.

Change-Id: I2f72fcd34d2d97d20e2a98ed5efe25919a485c9d
Reviewed-on: https://review.haiku-os.org/739
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2018-11-30 21:13:14 +00:00
Adrien Destugues
3340ebea4c emulex_oce: fix gcc2 build. 2018-11-29 20:58:30 +01:00
Adrien Destugues
92bb7e91ed Revert "haiku_loader.hpkg: Add each compiled boot target"
This reverts commit 349326db27.

Makes the system unbootable on my gcc2 BIOS machine.
2018-11-29 20:42:47 +01:00
Murai Takashi
6d2736585e libprint: Fix using auto_ptr to array.
Change-Id: If22530aba951e2856fc03cf59de167353db42604
Reviewed-on: https://review.haiku-os.org/727
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2018-11-29 09:57:06 +00:00
kerwizzy
2c5c300420 Mandelbrot: Fix bug that allowed the view to become mirrored.
Change-Id: I88caf3c712bad30fa077bc8c0290b4706541c2b0
Reviewed-on: https://review.haiku-os.org/731
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2018-11-29 09:50:19 +00:00
kerwizzy
e920ab3cb6 Mandelbrot: Improve thread handling code.
* Application is now much more stable and less likely to crash
 * Almost all communication to render threads is done through semaphores.

Change-Id: I7858cdb4a2b83ef4bfe44588cebef01bd3304346
Reviewed-on: https://review.haiku-os.org/730
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2018-11-29 09:50:19 +00:00
Barrett17
36f94d9e39 Move RawFormats.h to Codec Kit
* This should be probably uniformed with the future
media kit format defs. Not sure why those formats are
separated and used only by the codec kit. Eventually,
if needed can be changed to some name that differentiate
them better than media defs.
2018-11-29 08:06:34 +01:00
Alexander von Gluck IV
349326db27 haiku_loader.hpkg: Add each compiled boot target 2018-11-28 14:57:50 -06:00
Jérôme Duval
887990594d userlandfs: cloned area is only for kernel access.
Change-Id: I13b7bf1e14e37da6d65e56b99501006aa05170b1
Reviewed-on: https://review.haiku-os.org/737
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
2018-11-28 20:16:51 +00:00
Alexander von Gluck IV
8604e84890 emulex_oce: Add driver to minimum image 2018-11-28 15:52:42 +00:00
Alexander von Gluck IV
4cd471eb17 emulex_oce: Don't clobber ticks define 2018-11-28 15:52:42 +00:00
Barrett17
b9ca2a8d0b ape_reader: Use BCodecKit namespace 2018-11-28 09:33:24 +01:00