Commit Graph

60413 Commits

Author SHA1 Message Date
PulkoMandy
1cba023e0a sparc: fix support for elf in boot mode
Change-Id: I901a4e494dd5273a0aa433f08b94363b486c58e1
Reviewed-on: https://review.haiku-os.org/c/1366
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-04-04 20:31:25 +00:00
PulkoMandy
815a1596a6 openfirmware: support a.out bootloader
Apparently each architecture and manufacturer uses a different binary
format (I heard current POWER hardware uses elf).

Change-Id: I4f1b9977d0a9d5a700c2d50b36844d6e4640b68b
Reviewed-on: https://review.haiku-os.org/c/1365
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-04-04 20:31:25 +00:00
PulkoMandy
fea91fdc77 sparc: pci bus manager
Copied from PPC with the hooks for Apple hardware removed.
To be completed with the actual PCI bus implementation for Sun machines.
This is where we start doing machine specific stuff, apparently.

Change-Id: I06af4de9621e9d40593d153642478d928083e49a
Reviewed-on: https://review.haiku-os.org/c/1364
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-04-04 20:31:25 +00:00
PulkoMandy
d0ff1a1f2f openfirmware: fix mismatched prototype
Change-Id: I294608aa739bedef47c6c1f34fba0241444a8901
Reviewed-on: https://review.haiku-os.org/c/1363
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-04-04 20:31:25 +00:00
PulkoMandy
2f2d56e2e3 Move stack_trace.cpp to generic directory.
4 architectures are using it, so it is generic enough.
Make it error out for platforms where the stack grows in the other
direction. Another implementation can be added for them.

Change-Id: Ia52b5dd34da7b5ebcca0782af079c43d72ba3a8e
Reviewed-on: https://review.haiku-os.org/c/1340
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-04-04 20:31:25 +00:00
PulkoMandy
e8f58ba4be sparc: fix bootloader build
- Add various missing jamfiles
- Add required implementation stubs
- Update openfirmware jamfiles for multiboot support
- Update linker rules for sparc loader

Change-Id: I2d06c7a4d33827f58d82946687003f9a0dcb1b7d
Reviewed-on: https://review.haiku-os.org/c/1329
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-04-04 20:31:25 +00:00
waddlesplash
834a613e53 AboutSystem: Move Dario from the Current to the Past maintainers list. 2019-04-04 14:16:17 -04:00
Augustin Cavalier
b934184a12 packagefs: Remove some more HPKGv1-related classes.
These were now unreferenced following the removal of GlobalFactory
and the other v1-related code, so this commit should not be any
functional change.
2019-04-04 14:07:02 -04:00
Alexander von Gluck IV
d7c7d50e8f kernel/debug: Add riscv64 to core_dump 2019-04-04 09:09:54 -05:00
Alexander von Gluck IV
566e253f24 kernel: Fill remaining riscv64 architecture headers 2019-04-04 09:09:49 -05:00
Alexander von Gluck IV
04fbff9fdd build: Add 64-bit host detection for riscv64 hosts 2019-04-04 09:09:45 -05:00
Alexander von Gluck IV
117af7ca90 build: Fix BOOT_PLATFORM to KERNEL_PLATFORM on rv64/arm64 2019-04-04 09:09:41 -05:00
Alexander von Gluck IV
5e06ebe141 kernel/arch/riscv64: Correct some architecture headers 2019-04-04 09:09:38 -05:00
Alexander von Gluck IV
45b21f00ce riscv64: Drop duplicate KERNEL_LOAD_BASE 2019-04-04 09:09:34 -05:00
Alexander von Gluck IV
c0bb51001f HaikuPortsCross: Bump riscv64 bootstrap package version 2019-04-04 09:09:29 -05:00
Alexander von Gluck IV
c59cde3d69 riscv32: Drop any remaining mentions
* I added this early on, but to be honest, any interesting
  workstation class hardware would be riscv64.
* Since riscv32 is mostly embedded or low power, just drop.

Change-Id: Id36274c882c46e766268f2ab53eb1bd5f95227be
Reviewed-on: https://review.haiku-os.org/c/1352
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2019-04-04 13:23:32 +00:00
Alexander von Gluck IV
7a180033de docker/bootstrap: Fix sysroot stage variable
Change-Id: Icb7d83fd60d85a107601012f906ed7bf63f0eb61
2019-04-03 20:47:12 -05:00
Alexander von Gluck IV
e8b4366330 docker/bootstrap: Add sysroot stage flag to chroot tool
Change-Id: I7a6303cb11756b66d6d3379063f2402b3b38b7c6
2019-04-03 20:43:45 -05:00
Augustin Cavalier
95587710d1 Debugger: Call the GCC2 get_next_argument directly.
This codepath is only hit when we are using the GCC2 demangler,
so we should not use get_next_argument which tries to autodetect
what kind of symbol this is.
2019-04-03 10:42:35 -04:00
François Revol
eae1e95256 Add a proper (but ugly) icon for ThemeManager
Feel free to propose a better one ;-)

Change-Id: I481b730d8d715415dfdfc07c16aaa302b5724a7b
2019-04-02 21:55:17 +02:00
Alexander von Gluck IV
382c3f6e0c headers/config: Fix RISCV64 define typoed to 32
Change-Id: I20890218f5edd279ab1080432a4d91f5a7f64dee
2019-04-02 14:46:28 -05:00
Augustin Cavalier
9061e43c7d packagefs: Remove another reference to GlobalFactory.h.
Missed in previous push.
2019-04-01 19:23:31 -04:00
Augustin Cavalier
11e3c6dd26 packagefs: Open HPKG files as O_NOCACHE.
We have not one but two internal caches in packagefs for *uncompressed* data;
we do not need the underlying filesystem to cache the *compressed* data
needlessly.

This seems to be a negligible memory and boot speed improvement at best,
although it will likely help in low-memory situations in reducing
the pressure on the file cache (... actually it doesn't look like
the file cache responds to low resource notifications at all, which
may be relevant here.)
2019-04-01 19:02:00 -04:00
Augustin Cavalier
d1a0bc4fb5 packagefs: Remove support for HPKGv1.
The current version is "v2", and it has been since the final PM branch
was merged back in 2013, so it's unclear if anyone actually uses this
file format. The "package" command can still of course read these
files, it's just that packagefs will now not be able to.

It's very unlikely anyone is impacted by this change.
2019-04-01 13:58:30 -04:00
brjhaiku
f10ebdb1f7 btrfs
* Fixed coding style for all files under /src/add-ons/kernel/file_systems/btrfs
* rewrote crc_table.cpp to generate CRCTable.cpp that conforms to coding style.

Change-Id: I90fcc143320c7a7e9a6dc174f0ad82f40bb8a9b6
Reviewed-on: https://review.haiku-os.org/c/1194
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2019-04-01 09:30:08 +00:00
Augustin Cavalier
ad38b80fd5 BMessage: Fix R5 checksum calculation on 64-bit.
Change-Id: I0d418883bb66c6ad9e351c955e213f5cbc975e56
Reviewed-on: https://review.haiku-os.org/c/1336
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-03-31 17:39:11 +00:00
Alexander von Gluck IV
72a021f516 login: Add libbsd for explicit_bzero libmultiuser_utils.a 2019-03-30 19:30:06 -05:00
Augustin Cavalier
18a8edbf0e docs/develop: More reorganization.
* There is now a 'busses' folder, and the extant USB/SDHCI/Bluetooth/etc.
   docs now live in it, instead of various other places.
 * kernel/ports is now kernel/arch, like it is in src/system.
   SPARC documentation is now in there, too.
 * VM files (these are rather outdated) are now in kernel/vm.
 * SCSI ASC info removed, this is easily available online and
   it doesn't seem to be very relevant.
2019-03-30 18:00:46 -04:00
Augustin Cavalier
454b04ca27 HaikuConfig: Change _BEOS_COMPATIBLE_TYPES to only be defined on i386.
Hopefully soon we will have our first 32-bit non-x86 architectures.
No functional change for x86 32- and 64-bit intended.
2019-03-30 16:57:05 -04:00
Augustin Cavalier
5c93058ad7 BuildSetup: Stop defining __INTEL__ for the host tools.
Nothing in the tree uses __INTEL__ anymore, so this is no longer
needed.
2019-03-30 16:55:27 -04:00
Augustin Cavalier
5ffbe7d778 Change all references to "__INTEL__" to "__i386__".
They are functionally identical, but the former is a BeOS/Haiku-specfic
macro that we include in the compiler specs, and the latter is defined
by GCC.
2019-03-30 16:54:01 -04:00
Augustin Cavalier
1e60bdeab6 Remove all invocations of SetSubDirSupportedPlatformsBeOSCompatible. 2019-03-30 15:19:38 -04:00
Augustin Cavalier
b357daa5c5 build: Deprecate SetSubDirSupportedPlatformsBeOSCompatible.
By default, all targets support the "haiku" platform, and we no longer
support building for BeOS, Dan0, Zeta, or other BeOS-compatible targets,
so this is no longer needed.

Also remove all references to the non-Haiku compatible platforms, and
change all BEOS_COMPATIBLE checks to HAIKU_COMPATIBLE. Removal of
all SetSubDirSupportedPlatformsBeOSCompatible invocations
will be in the next commit.
2019-03-30 14:54:14 -04:00
Augustin Cavalier
a1c2d3d653 uptime: Remove, in favor of the coreutils one.
This one had an uncertain "freeware" license, and the code quality
is not so great. BeOS didn't have an 'uptime' command, so we can
replace this with the coreutils one without worry.
2019-03-30 13:47:14 -04:00
Augustin Cavalier
3200e3bc42 pci & usb ids: Update.
Also remove the ReadMe as it's not accurate anymore. Fixes #14980.
2019-03-30 13:06:14 -04:00
Augustin Cavalier
041f46f392 u-boot: Use Haiku-style endian conversion functions.
Fixes #14987.
2019-03-30 13:01:33 -04:00
PulkoMandy
8ff82ee2d4 sparc: fix debug support
Declare and use the correct registers to define a stack frame.

Change-Id: Ice3ba8f8715313a715f6b1cb553a6883541f5cc4
Reviewed-on: https://review.haiku-os.org/c/1327
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2019-03-30 15:23:15 +00:00
PulkoMandy
3bfbec8336 sparc: More missing defines in platform headers
* Kernel is 64 bit, and we won't need a 32bit load base.

Change-Id: I729bab01c8f71083002db061e153b0e5052b9a1c
Reviewed-on: https://review.haiku-os.org/c/1326
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2019-03-30 15:23:15 +00:00
PulkoMandy
5ef707395a sparc: fix some 64bit intolerant code
Change-Id: I90bea483d7cf18696a6d5d2f18e8cada409884a2
Reviewed-on: https://review.haiku-os.org/c/1325
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2019-03-30 15:23:15 +00:00
PulkoMandy
ddf7e72f86 loader: Do not assume ELF32 for any non-EFI target.
sparc is 64bit even at the bootloader stage.

Change-Id: Idbf39497503aac08e72c691cf655e97f95347784
Reviewed-on: https://review.haiku-os.org/c/1324
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2019-03-30 15:23:15 +00:00
PulkoMandy
f23db0edb5 sparc: add to known architectures in configure script
Change-Id: Ic6cfdd2a94c8d6c0a7f4963fe892f8dc73e97afd
Reviewed-on: https://review.haiku-os.org/c/1323
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2019-03-30 15:23:15 +00:00
Jérôme Duval
633fbcf423 kernel: receive_data and send_data can be called with a NULL buffer.
Change-Id: Id2ac496524ad91f2830e8af12925e0e40ca9ab80
Reviewed-on: https://review.haiku-os.org/c/1333
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2019-03-30 15:19:51 +00:00
Jérôme Duval
03ed26b691 kernel/fs/vfs: apply CLOEXEC on the new fd instead of the old one.
fix a failure for test-cloexec.c of gltests.

Change-Id: I340cc88a787a59d55f93cc80883f57e6627f38cf
Reviewed-on: https://review.haiku-os.org/c/1332
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2019-03-30 15:19:51 +00:00
Jérôme Duval
532998ed1e kernel/fs/fd: fcntl(F_DUPFD) should return EINVAL for invalid fds.
fix a failure for test-fcntl.c of gltests.

Change-Id: Ied8effdee2ddd9868bf039dbf74a3057a2541cac
Reviewed-on: https://review.haiku-os.org/c/1331
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2019-03-30 15:19:51 +00:00
Augustin Cavalier
ebc14c9921 libroot: Restore the old __swap functions for x86_64.
They are needed in order to not break applications compiled against
them. Fixes the boot on x86_64 after PulkoMandy's commit.
2019-03-27 15:11:30 -04:00
Augustin Cavalier
569791be52 headers/posix: Define the byteswap macros unconditionally.
It helps if one tests GCC4+ fixes on GCC4+...
2019-03-27 10:19:50 -04:00
Augustin Cavalier
8e309168b9 headers/posix: Use separate naming for the byte-swap macros.
This avoids a compile error on GCC4 when ByteOrder.h is included
after it.
2019-03-27 00:25:34 -04:00
Augustin Cavalier
86ec5e3bf4 Convert some more endian conversions to Haiku-style. 2019-03-26 22:44:20 -04:00
Augustin Cavalier
6d5e91f0c9 headers/posix: Make casts in netinet byteswap functions uniform. 2019-03-26 22:31:33 -04:00
Augustin Cavalier
fcf0b31fb9 bootloader: Add the network endianness macros to NetDefs.h.
This file contains all the protocol- and interface-related
definitions, so this seems to be where they belong.

Required following previous commits.
2019-03-26 21:51:42 -04:00