Commit Graph

58938 Commits

Author SHA1 Message Date
Alexander von Gluck IV
131f09907e docker/bootstrap: Add a few tools to bootstrap in a container
* The bootstrap process will pick up on local toolchains such
  as clang and use them instead of the correct gcc cross-tools.
* This limits environmental factors which can break bootstrap.

Change-Id: Iacdd2a44cf26e18f838c9251fb9eddfbcb12565e
2018-11-02 15:12:04 -05:00
Alexander von Gluck IV
8de3883d8b bcm2835: Move mailbox init into bcm2835 framebuffer
We won't need the mailbox for most chipsets except bcm2835
to determine the framebuffer base address.
(especially at this early boot stage)

This simplifies things by making the mailbox usage limited
to boot_arch_arm and not spreading it all thoughout the
platform u-boot code... however we keep the mailbox driver
as-is since it would make a good kernel driver someday.

mmu_man mentioned us "finding" the fb base from the mailbox
and modifying the FDT to let it know the base reg of the
framebuffer... that's beyond 'just getting things building'
though :-)

Change-Id: Ic2772b85dff004f9d21447ea5958b5ae9776d526
2018-11-02 12:46:54 -05:00
Kacper Kasper
3bac8deff6 Add -a option to locale utility
* Required by POSIX.

Change-Id: Ided0a9d45d5edd00f3aa6279e99ca486ca372f6c
Reviewed-on: https://review.haiku-os.org/651
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2018-11-02 14:25:57 +00:00
Alexander von Gluck IV
bdcc7b74fc arch_mailbox: Stub out virtual Read/Write functions
* Nice catch mmu_man!

Change-Id: I92a00ec5c66313107e586f7b3ee8a1fa5021b2be
2018-11-01 21:31:56 -05:00
Augustin Cavalier
c52d856e2d Jamrules: Permit (but don't advertise) support for any relative path.
This allows fully "shadowed" builds to work, as the buildbots do.
2018-11-01 21:37:04 -04:00
Augustin Cavalier
f7b5d8a16b Jamrules: Print the path to the repository root in the error case. 2018-11-01 21:26:38 -04:00
Augustin Cavalier
3facc270ea Jamrules: Force HAIKU_TOP to be relative.
Prior to hrev47631 (2014), HAIKU_TOP was relative when jam was invoked
from the repository root, and not relative when jam was invoked from
any other location, including "generated." In hrev47631, Jamrules
was changed to be as it was before this commit, in order to fix #11101
(Haiku repository creation failed due to the use of relative paths.)

GCC, however, injects the full path passed to the compiler into some
symbols under certain circumstanes (anonymous namespaces, for one),
and so a relative path for more reproducible builds is preferred.
It seems the aforementioned bug is no longer with us, as a full image
build that I did with this change worked just fine.

Note that you will have to run "configure --update" after this
in the case that you usually invoke "jam" from the generated directory,
as the Jamfile configure generated included absolute paths. (The reminder
to do that this diff includes can be removed after some reasonable amount
of time.)
2018-11-01 20:56:04 -04:00
Augustin Cavalier
49783dc8f2 strace: Gracefully handle invalid syscall numbers.
OpenJDK 1.8 somehow manages to trigger this. Before this commit it would
just attempt to read past the end of the vector, which of course segfaulted,
which seems to imply nobody has run into this case before.
2018-11-01 20:51:05 -04:00
Adrien Destugues
ffd9d565d2 BDate: do not use strftime
Using BDateFimeFormat avoids going through libroot and up again to ICU
throuhg the locale add-on. Moreover, it uses the Locale settings
directly instead of relying on the LC_* environment variables.

Fixes day names in Web+ history menu always showing in english. Tnaks to
Oco for noticing!

Change-Id: I0c7f321a6147e8f5ab31f82de836c5ad23bb321b
Reviewed-on: https://review.haiku-os.org/650
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2018-11-01 23:03:41 +00:00
Jérôme Duval
c30513840a runtime_loader: correctly detect gcc7 abi as gcc4 abi compatible.
Change-Id: I0e3df832e2fcc0b687344f54d5b0a639f5add370
Reviewed-on: https://review.haiku-os.org/649
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2018-11-01 15:25:33 +00:00
Augustin Cavalier
fb00a65fc6 freebsd11_network: Avoid triggering timer interrupts 1000 times/sec.
FreeBSD's "ticks" has a granularity of whatever "hz" is, presently 1000.
It's declared as "extern int32" in FreeBSD's codebase, as it's the
defining unit of time for most operations.

We just use system_time() for essentially the same purpose, which requires
no hard-clock timer interrupts at all, and so Colin seems to have decided
to emulate "ticks" by just triggering a timer once per millisecond and then
incrementing the "ticks" variable.

1000 timer interrupts per second is quite a lot (assuming the kernel
actually combined these between drivers, otherwise it would be 1000
*per driver*), and probably a contributor to Haiku's not-so-great
battery performance on most laptops.
2018-10-31 19:03:40 -04:00
Augustin Cavalier
04b07407ef rtl8139, ipro1000: Don't shadow "ticks" global variable.
The next commit will make it a "#define" instead of an "extern".
I've already submitted this for upstream inclusion in FreeBSD.

Sorry for the noisy diff with all the whitespace changes...
2018-10-31 19:03:39 -04:00
Adrien Destugues
18033c30dc Remove sticker artwork.
Now lives at github.com/haiku/artwork with other artwork.
2018-10-31 19:36:03 +01:00
Augustin Cavalier
753d3506d8 efi: arch_src also depends on gnuefi.
Fixes the x86_64 parallel build after recent changes.
2018-10-30 22:38:21 -04:00
Augustin Cavalier
811da1f129 efi: aarch64 -> arm64. 2018-10-30 22:37:48 -04:00
Augustin Cavalier
84f3356750 random: Fix mutex use-after-destroy.
sRandomLock is a driver-global lock used by all instances of the "random"
device, of which there can be more than one, it seems; and somehow some
are destroyed before others. I didn't really investigate too far to see
under what circumstances that occurs.

Found while trying to compile some ports; suddenly all attempted
reads of /dev/random started PANIC'ing with "mutex uninitialized".
2018-10-30 22:33:42 -04:00
Alexander von Gluck IV
645e6f89ce u-boot: Drop openfirmware in u-boot platform hack
* If we need this, we can do builds with openfirmware
  platform on u-boot loader now.

Change-Id: I67b5bda165a78b772e246c008c5018b2d6f459e9
2018-10-30 18:06:26 -05:00
Alexander G. M. Smith
78b0cfc712 Remove debug printf from BListView.
Change-Id: Ic3f3359305e066c27bfb071cc18a455d6f1c179f
Reviewed-on: https://review.haiku-os.org/648
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2018-10-30 22:46:08 +00:00
Alexander von Gluck IV
c340bfce91 u-boot: Fix boot arch + platform on arm
Change-Id: I6ecdb9e1b1039ac769b015fb96a3531715b44542
2018-10-30 14:51:15 -05:00
Augustin Cavalier
d1f8f8301c kernel: Tolerate "count" argument to memcpy being 0.
It seems GCC2 occasionally will inline a call to memcpy with
a count of 0, which this function did not previously expect
and would result in a "Divide Error Exception."

Hopefully fixes #14613.
2018-10-29 22:44:01 -04:00
Barrett17
7257735529 codec_kit: Some more style and cosmetic fixes 2018-10-29 10:15:26 +01:00
Augustin Cavalier
498bd544a4 freebsd11_network: Fix race condition leading to lock of deleted mutex.
* Initialize "status" to B_NO_INIT, which will skip the main 'if'
   the first go-around and go straight to the acquire_sem_etc(),
   as we will have be invoked from the callout initializer, and so
   there will of course be no callouts.
 * Actually check the return code of mutex_lock, and do another loop
   iteration (which skips this main 'if' as status will not be one
   of those things.)
 * Correct failure deinitialization order in init_callout().
 * Destroy the mutex after the worker thread exits (this is the real fix.)

Fixes #14660, and other "hang on cursor" / "hang on black screen" /
or possibly even a "hang on rocket" introduced in yesterday's builds.
2018-10-29 00:53:42 -04:00
Augustin Cavalier
f1f04fa6d4 network/stack: Correct deinitialization order.
DeleteChains() needs the chain locks and domains, so those need to
be uninitialized after them. This now matches the constructor's
deinitialization order.

Fixes a panic exposed by the previous commit.
2018-10-29 00:53:42 -04:00
Augustin Cavalier
adb4e6e8c5 kernel: Reset lock holder and count on mutex_destroy().
Previously, there were a number of circumstances where these were
not getting reset properly, leading to some destroyed mutexes having
holders of the last thread which locked them, and some with "-1",
which meant that the next call to "mutex_lock" just behaved as if
the lock was still valid (!), and so the unlucky caller would deadlock
forever.

Now we properly reset these fields, which means from now on attempts to
lock or unlock destroyed mutexes will lead to "PANIC: uninitialized mutex"
on KDEBUG kernels, and (as before) an infinite deadlock on non-KDEBUG
kernels (perhaps we should store the thread_id of the locker on non-KDEBUG
kernels also?).

As the next commits will show, this already uncovered a number of bugs,
and there are of course potentially more strange deadlocks caused by this.
2018-10-29 00:53:41 -04:00
Alexander von Gluck IV
d787141342 efi: Only no-red-zone and accumulate on x86_64
* We're making the assumption about EFI here, but it's
  fine since those defines will just go unused on non-efi builds.
* Jam segfaults when we get two for's, a case, and an if deep.
  (adding an x86_64 check to efi section just below)

Change-Id: Id98e87b6570ddc7d9c2195cd05b0526e71771675
2018-10-28 19:35:14 -05:00
Tim De Jong
2501f22b9d hda: Fixed headphone output on iMac 24 inch (early 2008).
Added subsystem_vendor_id and subsystem_id for iMac 24 inch early 2008 (iMac 8,1) and Macbook Pro 3,1 with specific quirks for those systems. This enables sound via head phone out at a decent level and quality. Previously, sound with the Haiku HDA driver was distorted and very low

Change-Id: I8e3dc3dbf5324bafff2b35ae64b43a0088272c8d
Reviewed-on: https://review.haiku-os.org/647
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2018-10-28 22:10:57 +00:00
Alexander von Gluck IV
8ee963f940 efi: Begin sorting x86_64 to arch subfolder
Change-Id: I0b724c05d527332fb6a5f4909b44d578ae1c6d0e
2018-10-28 16:43:50 -05:00
Murai Takashi
8ff74b67d4 screen_savers/message: Use delete[] instead of delete
Use delete[] instead of delete, since memory is allocated by new[]
at line 139.

Pointed out by clang.

Change-Id: I70396283b8d2c01d52886f7543804998d891ea44
Reviewed-on: https://review.haiku-os.org/646
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2018-10-28 21:22:18 +00:00
Augustin Cavalier
aed889ae61 HaikuDepot: Truncate copyright label to 45 characters at most.
Some packages have excessively long copyright labels that were forcing
the HaikuDepot window to become too wide. So in this case, put the full
copyright string in the tooltip, and only the first 45 characters in
the label.
2018-10-28 14:43:22 -04:00
Augustin Cavalier
e00a489b80 HaikuDepot: Replace the "featured packages" checkbox with tabs.
As discussed in #14598, there are now two tabs instead of the
checkbox: "Featured packages" and "All packages". It otherwise
behaves as before.

Also fixes #12428.
2018-10-28 14:43:22 -04:00
Augustin Cavalier
1562519066 freebsd11_network: Declare led_ functions as static.
And also fix coding style.
2018-10-28 14:43:22 -04:00
Alexander von Gluck IV
5025c781eb ltrace: Add x86_64 stub Jamfile. Tired of that jam warning.
Change-Id: Idbd7ddae5773f85a1c46aa72e1dac0c28f9320c1
2018-10-28 10:54:08 -05:00
Barrett17
5e4fd31ed7 codec_kit: Style fixes
* Remove superfluous newlines at EOF.
* Add newlines in file's head.
2018-10-28 16:26:27 +01:00
Barrett17
8ccd9c0741 codec_kit: Add some padding 2018-10-28 16:14:25 +01:00
Barrett17
4269364345 codec_kit: Cosmetic changes
* Move padding at the bottom.
* Add some missing newline.
* Remove superfluous private statements.
2018-10-28 15:48:48 +01:00
Barrett17
59125d3ced MediaWriter: Private stuff should stay private 2018-10-28 15:31:11 +01:00
Barrett17
e5e2a570ba ReaderPlugin: Private stuff should stay private
* Polishment since we are making this ABI public,
I'd rather remove any previous hack.
2018-10-28 15:25:12 +01:00
Augustin Cavalier
80abc9a907 build: Restore a mechanism to build EFI-less anyboots and CDs.
This fixes the 32-bit build following the merge of multiple bootloaders
support.

Fixes #14656.
2018-10-27 16:57:35 -04:00
Augustin Cavalier
b2429272f7 ipro1000: Enable "igb" (Intel Gigabit Ethernet.)
Currently using the LEGACY_TX path as the newer one requires mtx_trylock()
and "curcpu", which I haven't implemented yet.

Completely untested as I don't have this hardware.
2018-10-27 16:36:46 -04:00
Augustin Cavalier
bafb37eceb freebsd11_network: Additions and modifications for igb. 2018-10-27 16:36:14 -04:00
Augustin Cavalier
fd11017163 ipro1000: Restructure glue and Jamfiles to match other drivers. 2018-10-27 15:31:14 -04:00
Augustin Cavalier
05cf5e3d73 freebsd11_network: Move callout struct definition to _callout.h.
This is how FreeBSD does it.
2018-10-27 15:12:29 -04:00
Augustin Cavalier
c1e79d9431 freebsd11_network: Call probe() before attach().
See inline comment.

Fixes #14611.
2018-10-27 14:28:20 -04:00
Augustin Cavalier
daeb37ee4f freebsd11_network: Cleanup haiku-module.h.
* init_hardware is unnecessary and mostly a duplicate of init_driver;
   so just remove it in favor of that.
 * Deduplify some of the _DRIVER macros as possible
 * Don't include net_stack.h, we don't need it here; and fix
   callout.h following that.
2018-10-27 14:16:23 -04:00
Augustin Cavalier
57ab322d67 profile: export PS1, don't just set it.
Technically the profile is supposed to be sourced, but it seems that
some scenarios / applications do not do this and instead run it.
Before the recent changes to PS1, it was also exported, and now
it is again. Should fix entering HaikuPorter chroots under the new profile.

Also renamed "ARCH" to "_ARCH" to better accomodate those
who are sourcing this file, in case they want to pass a variable
named ARCH through.
2018-10-27 14:03:44 -04:00
Augustin Cavalier
ca20bd2e48 configure: Account for umasks < 0022.
It seems recent Debian has a umask of 002, interestingly enough;
and so the original check failed there.

Thanks to luroh for reporting!
2018-10-27 14:00:56 -04:00
Murai Takashi
93930f335d Replace B_MAX_CPU_COUNT with SMP_MAX_CPUS
Change-Id: I55c53ab35e9645e20466b09407a251571c589958
Reviewed-on: https://review.haiku-os.org/447
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2018-10-27 17:50:11 +00:00
François Revol
5d558f271c BFS: Use separate name & pretty name for big-endian
Change-Id: I7e3a99e3cff35ae5f8cd84fa7243579bf93de904
Reviewed-on: https://review.haiku-os.org/644
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2018-10-27 17:48:25 +00:00
François Revol
2522f69ee9 BFS: make sure we #error if asked to build both big & little endian
Change-Id: Ia7dd0046a2a527d9acbeb31b665d98f099642102
Reviewed-on: https://review.haiku-os.org/643
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2018-10-27 17:48:25 +00:00
Chaiwat Suttipongsakul
1c8e2d42ad Add standard TIS-820.2538 keymap for Thai keyboard.
Change-Id: I87196163a40d7e0bd67159d4dc3d7e4298f8acfd
Reviewed-on: https://review.haiku-os.org/641
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2018-10-27 17:43:21 +00:00