Commit Graph
100 Commits
Author SHA1 Message Date
Augustin Cavalier bddcee2a27 data: Fix locale setup in SetupEnvironment and remove it from etc/profile.
These changes were made to etc/profile by PulkoMandy last year, but he missed
making the change in SetupEnvironment. etc/profile calls SetupEnvironment,
so we can consolidate all this there.

Also clean up some syntax.
2018-08-21 17:01:53 -04:00
Augustin Cavalier 416efa19c6 freebsd11_network: Do not define ffs() for Clang.
cpufunc.h uses the __builtin version here.
2018-08-20 21:06:55 -04:00
Augustin Cavalier 4c00d515f1 freebsd11_network: Add NULL check to if_getdrvflags.
This is the proper fix for #14182, as discussed on the mailing list.
2018-08-20 21:06:24 -04:00
Augustin Cavalier ac3431d6e1 Undo addition of NULL check to ipro1000.
This reverts commit 4e44b1a472.
2018-08-20 21:02:35 -04:00
Augustin Cavalier f7c507c3a6 data/bin: Update userguide URLs. 2018-08-20 21:00:25 -04:00
Augustin Cavalier c20e7a6862 build: Add a haiku_source package.
This contains the contents of Haiku's sources, which is necessary
to include in "with source" builds for proper (L)GPL compliance,
mostly because we have GPL code in the tree.
2018-08-20 21:00:25 -04:00
Augustin Cavalier b2cb85f4d5 libroot: New memcpy for ARM.
It seems the old one was just broken (see mailing list discussion.)

This new one was built from the generic one, but it was done using
a trunk build of Clang 8 with tuned optimization flags, and is
smaller (101 instructions) than GCC 8's (134 instructions) and
the old hand-optimized one (~125 instructions?) as well as being
targeted for ARMv7 instead of ARMv6 like the old one was.

In the future, we may want to look at newlib's ARM memcpy, which
is probably much more hand-optmized than this one is, but this
is at least better than what we had before.
2018-08-20 11:53:47 -04:00
Augustin Cavalier fbc02f9437 pacakge_infos: Update copyrights. 2018-08-20 11:32:57 -04:00
Augustin Cavalier 4e44b1a472 ipro1000: Add missing NULL check.
Should fix #14182.
2018-08-20 00:42:52 -04:00
Augustin Cavalier 4356fc7636 radeon_hd: Disable another non-working chipset. 2018-08-20 00:42:04 -04:00
Augustin Cavalier 28ab14e35f MainBuildRules: Use $(CC) -E instead of "cpp" as the preprocessor.
"cpp" is the system C preprocessor, not the one from our cross-compiler,
and in the case of my system which does not have GCC installed at all,
it doesn't even exist.

With this, Clang-ARM builds successfully create a "haiku-arm.mmc".
I couldn't get it to output, even after blessing it with "rune",
but that may just be my fault...
2018-08-17 21:54:56 -04:00
Augustin Cavalier dd54d46895 realtekwifi: Move LOCK call out into the generic path.
Should fix a "mutex not locked" KDL reported by Begasus.
2018-08-17 12:12:36 -04:00
Augustin Cavalier bd43e4ae23 ArchitectureRules: Add -fPIC and fix warning flags for Clang. 2018-08-17 12:03:53 -04:00
Augustin Cavalier 6bbfad51b7 keymaps: Add Russian/Yawert (Phonetic).
From roiredxsoto. Fixes #14343. Thanks!
2018-08-15 16:38:08 -04:00
Augustin Cavalier 8bc13c5528 BuildSetup: Default HOST_C++ and HOST_LINK to HOST_CC.
Now that HOST_CC is actually passed in, we need to default
everything to it; otherwise, it's up to the Jambase as to
what CC we are actually using.

Found by trying to build Haiku on a system that has no "cc"
executable, but Jam tried to use it anyway (as all three of CC,
C++, and LINK.)
2018-08-15 14:41:40 -04:00
Augustin Cavalier b57e7df9ef configure: Clean up BuildConfig generation and add HOST_CC.
We do a lot of checks against the CC specified in environment,
but we never pass it into the BuildConfig, so we have no guarantee
that's what Jam's actually using.

Additionally remove HAIKU_BOOT_BOARD while we're at it (nothing uses
it anymore), and reorder the sections in BuildConfig to make a little
more sense.
2018-08-15 14:40:03 -04:00
Augustin Cavalier 252e4f6299 configure: Set a default LINKFLAGS in addition to LDFLAGS.
The former is passed to the compiler when linking using it,
the latter is passed to ld when it is invoked directly.

Also modify ArchitectureRules to not overwrite this setting.
2018-08-15 14:19:30 -04:00
Augustin Cavalier 63cb446249 docs/user: Remove extra comment opener.
It made the second one show up in the documentation.
2018-08-15 14:09:07 -04:00
Augustin Cavalier 552fabf1ad libroot: Merge some changes to longlong.h for ARM from upstream.
Gets the ARM/Clang build all the way to the libroot linking stage.
2018-08-15 00:11:30 -04:00
Augustin Cavalier 581da829b5 libroot: ARM does not have regparm.
Also fix the test for USE_REGPARMS in the same file. Gets the Clang
build somewhat further.
2018-08-15 00:10:33 -04:00
Augustin Cavalier ab39ceb10c system/glue: Add a crtbegin and crtend implementation.
GCC provides these but Clang does not; these come from the ones Clang
was going to provide, but decided against it in favor of letting libc vendors
distribute them instead, hence the license headers.

For now, they are only enabled when building with Clang, as we still use GCC's
versions otherwise. But I've tested them with apps built with GCC 7 (as Clang
builds are still too broken at present) and they seem to work just fine. (They
will not build with GCC 2 of course, due to how they use __attribute__.)
2018-08-14 16:07:03 -04:00
Augustin Cavalier 1742c769aa translation: Disable localization for command-line tools. 2018-08-14 14:29:23 -04:00
Augustin Cavalier 06b10d86af Appearance: Reinstate changes to allow full-and-half-fixed fonts as fixed.
This reverts commit 033f3450e3.

The discussion on the mailing list has tended towards changing the BFont API
so that these kind of fonts return true for IsFixed() as well as IsFullAndHalfFixed
if only to avoid the API ugliness of be_fixed_font->IsFixed() returning
false.

But since that change should not really affect applications, as BeOS ones will
probably not support CJK characters at all and Haiku ones should work properly,
and the present state of affairs has been pretty annoying to CJK users, we can
at least allow users to select full-and-half-fixed fonts as their default
fixed font, and begin dealing with whatever bugs that may cause now.
2018-08-14 13:54:37 -04:00
Augustin Cavalier fd25b902be BControlLook: Add FBC padding.
Fixes #14295.
2018-08-14 13:54:37 -04:00
Augustin Cavalier 0e44a703e5 BTabView: Don't assume BControlLook is in BPrivate.
Eventually it won't be, and we have a "using" directive so it is
accessible from the global namespace, so we can make this change
already.
2018-08-14 13:54:36 -04:00
Augustin Cavalier 937314e526 ArchitectureRules: Enable --no-undefined on GCC2.
Seems to work just fine.
2018-08-14 13:54:36 -04:00
Augustin Cavalier 7457ccb4b2 BMessageFormat: Rename to BStringFormat.
The ICU class is named MessageFormat, but on Haiku, it sounds too much
like something related to BMessage (which it isn't in the slightest)
and not part of the Locale system. It works almost entirely with BStrings,
so naming it BStringFormat makes much more sense.

OK'ed by PulkoMandy and Humdinger.
2018-08-13 20:49:00 -04:00
Augustin Cavalier 8906767241 tools/translation: B_TRANSLATE_CONTEXT -> B_TRANSLATION_CONTEXT. 2018-08-13 17:09:06 -04:00
Augustin Cavalier 4c13d20c24 LocaleRules: Pass the files to the preprocessor instead of piping it in.
This rule process the entire target's source files at once, and so
whoever wrote this rule in the first place (PulkoMandy?) probably
assumed without even testing that "cc -E" would create multiple
outputs for multiple inputs.

It doesn't, though: it just outputs them in sequence on the command line
the same way it does when the files are piped in through "cat". This
also has other advantages (e.g. preprocess errors caused by the compiler
assuming it was C not C++ code and so not defining __cplusplus, local
includes are now resolved properly, etc.)

Doing it this way does exposes other problems like the one fixed in the
previous commit (headers with no context defined, which worked previously
only because they used the context of the preceding `cat`'ed file.)

We now also remove the .pre file after collecting the catkeys.
2018-08-13 17:00:16 -04:00
Augustin Cavalier d284f7cc43 keyboard_layouts & keymaps: Define translation contexts properly. 2018-08-13 16:44:22 -04:00
Augustin Cavalier 20c61bb7a4 Revert unrelated changes from previous commit.
I should have read the update script more closely as to
how it added changes for committing...
2018-08-13 15:58:01 -04:00
Augustin Cavalier 5924b6e410 configure: Guard against using Clang < 7 for builds.
Only Clang 7+ has -fno-delete-null-pointer-checks.
2018-08-13 15:54:53 -04:00
Augustin Cavalier 0f36120d8d "R5" fs_shell: Remove (mostly.)
Two files remain: "argv.c" and "argv.h", as these are still used by some
other, non-FS-related tests.

This was one of the last significant chunks of "no commercial use" code
in the tree, as it originally came from the "Filesystem Construction Kit,"
the sample code distributed with "Practical Filesystem Design with the Be FS",
and contained a sigifincant amount of BeOS kernel filesystem code in it
(the original README, not preserved here, noted that "the cache code is
the real Release 4 BeOS disk cache code".)

It has long been replaced by Ingo's from-scratch, MIT-licensed fs_shell
that lives in src/tools/fs_shell. Perhaps a note should be made somewhere
of this code's prior existence, but I don't think we will have much use for
it again, so confined to the dustbin of Git history it shall be.
2018-08-12 23:38:10 -04:00
Augustin Cavalier 38c59f2971 tests/device_manager: Remove dependence on fs_shell.
Doesn't build currently due to KPath API changes, but this seems unneeded
at least.
2018-08-12 23:37:18 -04:00
Augustin Cavalier e3db3bf84e btrfs_shell: Move from src/tools to src/tests/...
src/tools is for tools used in the build or other miscellaneous utilites
that go along with Haiku itself. btrfs is, at least for now, just another
filesystem addon, so its shell should live here with all the others.
No functional change intended.
2018-08-12 23:21:14 -04:00
Augustin Cavalier 52de96da04 udf_shell: Rework to use the fs_shell in tools/.
The build appears to have been broken for quite a long time, but this
gets it slightly closer at least.
2018-08-12 23:16:04 -04:00
Augustin Cavalier 38fa917c59 iso9660_shell: Use the fs_shell from src/tools; fix the build. 2018-08-12 23:05:11 -04:00
Augustin Cavalier 87b501a119 tests/udf: Remove the "R5" version.
Largely untouched since 2006.
2018-08-12 22:47:27 -04:00
Augustin Cavalier e24a254f55 tests/dosfs: Remove the "R5" version.
Untouched since 2006.
2018-08-12 22:46:28 -04:00
Augustin Cavalier f2015c2f81 boot/platform/cfe: Remove, unused.
All platforms it was theoretically useful for also have U-Boot.
OK'd by mmu_man.
2018-08-11 20:21:12 -04:00
Augustin Cavalier b8a38e2bc1 ArchitectureRules: Move Clang warning flags to appropriate location.
Also tweak the no-delete-null-pointer-checks comment so it's slightly
less offending of the 80-chars rule.
2018-08-11 15:36:04 -04:00
Augustin Cavalier e823d3f06f BeOSRules: Pass CCFLAGS through to the compiler during ResComp.
Otherwise, Clang warns that we haven't set an architecture on ARM,
which is set in CCFLAGS. Since these might also contain other flags
that affect the preprocessor, there isn't any good reason to not
pass it through, so do that.
2018-08-11 15:33:08 -04:00
Augustin Cavalier d0bfb2c044 ArchitectureRules: Append Clang flags before potential early-exit.
Gets the Clang-ARM build a bit further into libroot.
2018-08-11 15:26:54 -04:00
Augustin Cavalier 376472a816 libroot: Some fixes for Clang ARM builds. 2018-08-11 15:26:08 -04:00
Augustin Cavalier 47a96c099e MainBuildRules: Fix CreateAsmStructOffsetsHeader on recent Clang.
It seems that at on some platforms at least, Clang uses @define instead
of #define, but with functionally identical syntax, so use sed to
process it as such.
2018-08-11 15:20:30 -04:00
Augustin Cavalier cf10fee2c1 ArchitectureRules: Pass -march / -mcpu flags to the assembler also.
Fixes #14317.
2018-08-11 15:18:36 -04:00
Augustin Cavalier eef7e3f1f8 freebsd11_wlan: Turn debugging level down a bit.
Should fix the first part of #1431.
2018-08-11 12:27:53 -04:00
Augustin Cavalier b8761dc31c radeon_hd: Re-enable HD2400.
Vidrep says this works on most configurations, except for full HD
through the first port.
2018-08-09 20:07:32 -04:00
Augustin Cavalier 53a5dca9d7 packagefs: Fixup previous commit. 2018-08-08 23:57:11 -04:00
Augustin Cavalier 779d9140a4 radeon_hd: The MMIO area should be user-cloneable. 2018-08-08 23:51:36 -04:00
Augustin Cavalier d8ad2d6f33 packagefs: Rename operator< to HasPrecendenceOver().
As suggested by weinhold on the mailing list.
2018-08-08 23:48:37 -04:00
Augustin Cavalier f6ff5a9790 headers/private: Fix wrong filemode. 2018-08-08 23:48:37 -04:00
Augustin Cavalier ce0ef8c870 USB: Remove BeOSCompatibility.h and associated cruft. 2018-08-08 23:48:37 -04:00
Augustin Cavalier cd7bd43778 Fix missing B_USER_CLONABLE_AREA in intel_extreme
Fixes #14333
2018-08-08 19:49:02 +02:00
Augustin Cavalier 247f2fb691 packagefs: Rename isNewest to overridesHead.
As pointed out by Adrien. Thanks for the review!

Also fixed missing dereference operators.
2018-08-06 23:46:24 -04:00
Augustin Cavalier 023a547dc6 vm: Enable B_USER_CLONEABLE_AREA protection.
Spotted while reading through the VM code while thinking about how to
implement vfork().

When axeld disabled this in 2005 (!), Haiku's kernel was still young,
BeOS drivers were still "a thing," and there was no distinction in this
function from being called by the kernel / not by the kernel.

Now, it's 2018, we manage all drivers ourselves, have SMAP enabled by
default when available, and as axeld recently noted on the mailing lists,
"there's not much reason we still use GCC2 for the kernel anyway." So we
probably don't care about any BeOS drivers that may be broken by this
(are there any still around?)

Besides the usual fixes to get this 13-year-old chunk to work again, there
are two functional changes:
  1) Allow the kernel to clone whatever it likes into the user's address space.
     It seems that this is often done legitimately (e.g. team creation), and
     so attempting to distinguish those cases seems more work than it may be
     worth right now.

     The disadvantage is that drivers without proper checks may be "tricked"
     into cloning areas they shouldn't; but I'm guessing if that's the case,
     then something else is probably broken and the driver should be fixed.
     It seems the reverse case (cloning a userland area into the kernel)
     is much more common (in fact, it looks like all 4 of the 4 places
     where clone_area is used in kernel-space outside the kernel itself
     are doing this.)

 2) At KDEBUG_LEVEL 2 and higher, throw a panic when attempting to clone
    an area that does not have the protection flag set. This should make
    finding any bugs exposed by this change much easier than "hardware doesn't
    work" / "black screen on boot" / etc., as well as any potential future
    bugs introduced in the process of driver development.
2018-08-06 23:27:50 -04:00
Augustin Cavalier daad9a3c1c kernel: Revert MMC bus changes to device_manager.
This broke booting on most (all?) systems.
2018-08-05 21:56:54 -04:00
Augustin Cavalier 5301f108ef packagefs: Directories with more attributes take precedence over ones with less.
This still preserves the behavior that system packages take precedence over
non-system packages.

Fixes #10071 (at last.)
2018-08-05 18:26:42 -04:00
Augustin Cavalier abf0c2878a packagefs: system_packages take precedence over non-system packages.
Affects *all* nodes, i.e., both directories and files. It is still possible
to override these, but it must be done in another system_package, not just by
mounting a package with newer datestamps on the conflicting files.

This is the pure version of axeld's proposal 2(d) from #10071. However,
as the haiku_secondary packages contain application mime_db entires and
are also 'system_package's, it does not fully solve that ticket.
2018-08-05 18:26:41 -04:00
Augustin Cavalier 0779294800 Package Kit: Fix logic reversal in PackageInfoStringBuilder.
This function is used when serializing a BPackageInfo object, which is not
done very often, and flags are used even less often. But both of these things
are done for the system packages, as they have the "system_package" flag
set, and are processed by "update_package_requires", and so this meant
that the "system_package" flag was turned into the "approve_license" flag.
2018-08-05 18:26:41 -04:00
Augustin Cavalier 5753ed5544 packagefs: Move PackageNode comparison into an operator<.
This commit does not amount to any functional change: we still compare
purely by modification date alone. But it does de-duplify the code somewhat,
and makes it possible to easily implement changes to the comparison.
2018-08-05 18:26:41 -04:00
Augustin Cavalier fc35866e55 iprowifi4965: Rework interrupts glue code.
Untested, but this now better matches how the FreeBSD code does it.
Potentially fixes a bug where interrupts would be spuriously re-enabled
after the driver had disabled them, which may fix a KDL humdinger
reported to me via IRC.
2018-08-04 12:21:08 -04:00
Augustin Cavalier 0689d8ddb8 BuildSetup: aarch64 -> arm64. 2018-08-02 20:04:19 -04:00
Augustin Cavalier 25cd28e8c1 posix: Add initial ARM64 headers.
Almost directly copied from jpelczar's work.
2018-08-02 19:59:30 -04:00
Augustin Cavalier fb4cc98472 build: Add initial ARM64 target.
It will probably be just stubs for the significant future, but,
here it is anyway.

Regarding the naming: Yes, the official name is "aarch64." However,
Linux, FreeBSD, and Zircon all call it "arm64", and so we will do the same.

I've configured it initially to be a Clang-only port, making no
changes to GCC buildtools whatsoever here. We'll see if that sticks,
however.
2018-08-02 19:48:29 -04:00
Augustin Cavalier edb6d3b17b kernel_cpp: Move the C++14 operator delete out of the header.
It seems not all of the kernel includes this, but some use new/delete
anyway. Further, operator delete[] was not implemented at all.

Possibly fixes the ARM build.
2018-08-01 23:42:24 -04:00
Augustin Cavalier cf36277e17 freebsd11_network: Add definition of ALIGNED_POINTER for PowerPC.
It seems this is needed anyway, as netresolv uses these headers.
2018-08-01 23:23:21 -04:00
Augustin Cavalier a31d07a2a9 libnetapi: Fix style issues in previous commit. 2018-08-01 22:50:08 -04:00
Augustin Cavalier 0dc3ab4f37 libnetapi: Do not use the freebsd11_network headers globally.
Since they were being Use'd at global scope, the FreeBSD versions
of a number of POSIX headers were being used instead of the POSIX ones,
which breaks the build on non-x86 as these headers presently do not work
elsewhere.

Instead, just include the base directory, and then include the compat
headers manually in the one place that actually requires them.
Also fix all the other files that expected errno.h and others to
be included implicitly, which they now are not.

This should fix the PowerPC and (part of the) ARM builds.
2018-08-01 22:35:47 -04:00
Augustin Cavalier d9f698eaf0 configure: Fix copying clang_headers for non-x86 architectures.
Also allow Clang for PowerPC builds.
2018-08-01 20:11:10 -04:00
Augustin Cavalier a107d3b4f9 configure: Do --update check earlier.
Previously we initialized variables and ran a few $CC tests first
(which was what the old version of --update needed.) Now, we can do it
almost immediately after the script begins.

Spotted by running --update on a GCCless system (as the $CC tests
gave warning messages due to no GCC, while CC= was set in --update
environs.)
2018-08-01 19:23:18 -04:00
Augustin Cavalier 1c307243f5 configure: Detect lld and elfedit properly under Clang. 2018-08-01 19:17:53 -04:00
Augustin Cavalier c44472c541 Enable use of Clang's integrated assembler. 2018-08-01 19:09:22 -04:00
Augustin Cavalier ca57e33abb libroot/glibc: Use .double instead of .tfloat on Clang.
Clang's equivalent of .tfloat is .x86_fp80, but apparently that
is not enabled for Haiku. So for now, use .double instead.
This is the same thing MinGW does.
2018-08-01 19:04:25 -04:00
Augustin Cavalier 834100c94f libroot/glibc: Merge newer e_expl* files.
These versions (from ~2015 glibc) do not use some GCC-specific extensions
that Clang's integrated assembler does not like.
2018-08-01 19:02:04 -04:00
Augustin Cavalier b456e5d055 docs/develop/net: NetBSD has an official GitHub mirror now. 2018-08-01 18:23:15 -04:00
Augustin Cavalier b3b69f8178 netresolv: Merge a patch to getaddrinfo from NetBSD.
This block was originally disabled in libbind, and we enabled it
independently; and so did NetBSD. But they also made one other
fix:

From: christos <[email protected]>
Date: Thu, 28 Dec 2017 15:12:15 +0000
Subject: [PATCH] PR/52837: Michael Kaufmann: getaddrinfo() resolves "127.0.0.1
 www.example.com" to 127.0.0.1. Apply the patch from FreeBSD and explain the
 rationale.
2018-08-01 18:23:15 -04:00
Augustin Cavalier c9431a6752 netresolv: Mark code changes with __HAIKU__.
I attempted to merge NetBSD's new irs code, but their changes turned
out to be too invasive to do trivially, but in the process I had to
read our commit logs to find what we've changed, so at least I can
mark that.
2018-08-01 18:23:15 -04:00
Augustin Cavalier 4cc9ce9ddd netresolv: Merge patches from 2017 to current HEAD.
Commits merged from the semi-official Git mirror of NetBSD
trunk (https://github.com/IIJ-NetBSD/netbsd-src/).

Commit authors/messages in chronological order follow:
---------------------------------------
From: christos <[email protected]>
Date: Thu, 28 Sep 2017 23:32:01 +0000
Subject: [PATCH] PR/52578: Benjamin M. Schwartz Set the AD bit when DNSSEC is
 enabled (RFC 6840 Section 5.7).

From: lukem <[email protected]>
Date: Fri, 2 Mar 2018 06:31:53 +0000
Subject: [PATCH] PR/48585: Set errno when returning NULL for AF_INET
In inet_ntop4(), errno wasn't set before returning NULL.
Seems like an oversight in the existing fix for PR/48585.
Noticed by code inspection.
2018-08-01 18:23:15 -04:00
Augustin Cavalier faf38d0fc0 3rdparty/qtcreator: bash, not sh. 2018-08-01 18:23:15 -04:00
Augustin Cavalier 26ae216d0e realtekwifi: Import from FreeBSD 11.1.
Untested, but requested by Anarchos.
2018-07-31 19:50:46 -04:00
Augustin Cavalier b5c220fb7d build: Use BeOSBuildCompatibility on Haiku also.
This forces usage of the libroot_build wrapper functions even on GCC2.
Probably fixes some strange ExtractHPKGArchive failures on Haiku.
2018-07-31 19:50:46 -04:00
Augustin Cavalier 5ad9670f39 intel_extreme, radeon_hd: Use bufferLength instead of B_FILE_NAME_LENGTH.
Thanks korli for the review!
2018-07-30 22:50:30 -04:00
Augustin Cavalier 1587c3c555 ArchitectureRules: Enable no-delete-null-pointer-checks on Clang.
This requires a trunk build of Clang (the flag was only implemented
& introduced 12 days ago), but at present, full builds will fail
due to an unrelated Clang bug: https://bugs.llvm.org/show_bug.cgi?id=38356
2018-07-30 22:00:21 -04:00
Augustin Cavalier c67634d98c BuildSetup: __NO_INLINE__ and -fno-delete-null-pointer-checks.
* __NO_INLINE__ fixes the cross-build on some glibc-based systems with
   newer compilers, as it prevents glibc from declaring functions inline
   that we override in libroot_build.
 * We can now enable tree-vrp as long as no-delete-null-pointer-checks
   goes where it used to.
2018-07-30 22:00:21 -04:00
Augustin Cavalier 0fe68ab92c scsi_disk: Fix -Wdefined-but-not-used. 2018-07-23 21:46:20 -04:00
Augustin Cavalier ca11520f4a radeon_hd: Fixes for SMAP.
Only partially "tested", but I've audited this code pretty thoroughly, and
it seems the accelerant uses clone_area instead of direct pointer accesses
in all the correct places, so this should work.
2018-07-23 21:00:16 -04:00
Augustin Cavalier f2dac2f1f1 scsi_disk: Disable FSTRIM.
It is known to destroy data on such devices (see #10336). But it seems to
work on ramdisk devices, so only disable it here, not for everything.
2018-07-23 20:59:05 -04:00
waddlesplash fe66a314c8 Revert "BScrollBar: Add lines and dots knob styles to scroll bar"
This reverts commit ec1b18c58a.

This was not well enough reviewed, and it seems that at least some
consumers of the old API (e.g. WebPositive) need more than the new one provides.

Change-Id: Ie7ad1fc70dab889922424298661504b00f66d31d
2018-07-22 18:26:06 +00:00
waddlesplash 49c29fa933 Revert "Appearance Prefs: Add scroll bar knob setting"
This reverts commit 0988f80fed.

Change-Id: I60ec2b05a7c66e3c3c8f18dc821d6213934b0cfb
2018-07-22 18:26:06 +00:00
Augustin Cavalier d632c685a0 Fix the build following previous changes. 2018-07-18 21:22:06 -04:00
Augustin Cavalier 53a371041c Remove the FreeBSD 9 compatibility layer.
Long live the FreeBSD 11 compatibility layer!
2018-07-18 20:11:35 -04:00
Augustin Cavalier 1e29bfd7d8 Update all remaining consumers of the FreeBSD compat headers. 2018-07-18 20:10:04 -04:00
Augustin Cavalier fd893db8b1 broadcom43xx: Sync with FreeBSD 11.1.
And with that, the driver upgrades to FreeBSD 11.1 are complete!
2018-07-18 19:47:06 -04:00
Augustin Cavalier 3c42c902d9 Revert changes to BTextInput's text-rect calculation.
This reverts commit 11dee0444f.
This reverts commit 1641a0516d.
This reverts commit 484f64f315.

These changes break various edge-cases in BTextInput (e.g. typing off the end
of a long string, using the arrow keys to navigate while out-of-bounds),
and nobody has found any fixes for them in the nearly-a-year since they've
been instanted, so they are now being reverted.

Reopens #12608, #13796.
2018-07-18 19:31:02 -04:00
Augustin Cavalier 4aff6a8a2b wavelanwifi: Sync with FreeBSD 11.1.
Untested. Requires the previous commit.
2018-07-17 23:38:24 -04:00
Augustin Cavalier d97a05f774 freebsd11_network: Completely rework the bus space access system.
Previously, we wrapped FreeBSD's accessors using our own in*/out* assembly
macros. Now, we skip that and just use FreeBSD's macros and assembly
directly. In the process, I've added some proper abstraction,
paving the way for the use of the FreeBSD layer on non-x86 platforms
(which will be sooner rather than later, I hope!).

This introduces some new functions required by some of the drivers
I was attempting to merge (wavelanwifi...), but as it also now
mirrors FreeBSD's bus access mechanisms exactly, it's possible
that some nuances lost before are now preserved. So this has
the potentiality to help with some of the stranger timeouts/failures
on devices that work just fine on FreeBSD.

Tested on VMware (pcnet), VirtualBox (pcnet, ipro1000), and
a T61 (iprowifi4965.)
2018-07-17 23:25:34 -04:00
Augustin Cavalier f329739cdc marvell88w8363: Sync with FreeBSD 11.1.
Untested, but the changes are mostly adapations to the new KPIs.
2018-07-17 20:05:35 -04:00
Augustin Cavalier 5f64721b30 marvell88w8335: Sync with FreeBSD 11.1.
Untested, but the changes are mostly adaptations to the new KPIs.
2018-07-17 19:54:31 -04:00
Augustin Cavalier 28ca187801 ralinkwifi: Sync with FreeBSD 11.1.
Untested, but the changes are mostly adapations to the new KPIs.
2018-07-17 19:46:44 -04:00