Commit Graph

58149 Commits

Author SHA1 Message Date
Jérôme Duval 0032be820b kernel/x86: asm offsets for the extended syscall table.
the x86_64 compat syscall entry needs size and offset of parameters to
handle them correctly to the syscall function. struct extended_syscall_info
and struct syscall_parameter_info provide parameter count, size and offsets.

Change-Id: I7e5c7b6e19e757b28b43c3b3419b7071fae321f8
2018-05-09 18:24:32 +00:00
Axel Dörfler ae47dec0fd mount_server: Use scoring mechanism to detect volume
* This makes mounting volumes more stable; ie. you can put your
  drive in another slot, or boot your native system in emulation, and
  it will still find the drives to mount.
* The old method is still left there in order to achieve a smooth
  transition.
2018-05-08 20:22:27 +00:00
Adrien Destugues ad33fd78a5 BAffineTransform: de-virtualize some calls in flattening code
The Flatten and Unflatten method should check the size according to the
matching FlattenedSize method, not a possibly overriden version.

May also fix #14128 since we avoid use of the vtable by doing this.
2018-05-08 15:40:01 +00:00
Jérôme Duval edf7f4cd5f virtio_scsi: actually write the cdb size
instead of the sense size. Should help with #14133.
2018-05-08 17:33:01 +02:00
Jérôme Duval 645dc27d9d broadcom570x: sync with FreeBSD 11.1.
* add a few sysctl definitions, kern_getenv().
2018-05-07 22:05:51 +02:00
Jérôme Duval 57ca9c743d broadcom440x: sync with FreeBSD 11.1. 2018-05-07 22:05:50 +02:00
Jérôme Duval 3f853fd3c2 usb_audio: use user_memcpy to read/write the user buffers.
* also check buffer addresses passed through structures.
* fixes gcc5 and 64-bit warnings.
* only setup tested (lack of isochronous transfers).
2018-05-07 19:04:45 +00:00
Adrien Destugues 58ce50d3a5 Try to fix gcc2 build
git_svn needs alien_svn, but we don't include this in the build repos.
Remove it from the preinstalled software, it is available in the depot
if people need it.
2018-05-07 13:31:49 +02:00
Jérôme Duval 630e3f1410 View: move BAffineTransform out of ViewSetStateInfo.
the size of BAffineTransform is architecture dependent, so we transmit
its contents in a standard array instead.

Change-Id: I907110742168846a869a48bb2d116cc5292ec7d0
2018-05-07 07:02:57 +00:00
Jessica Hamilton 74bfec3b96 build/jam: whitespace cleanup.
Change-Id: I80c9a51417631b1f283923451f5bb530097b74f3
2018-05-07 13:12:16 +12:00
Adrien Destugues 2ecf221b74 Fix name of libWebKit for newer releases.
Yes, we're now officially using "legacy" WebKit!
2018-05-06 20:22:25 +02:00
Jérôme Duval 33dc8de507 kernel: remove incorrect inline and static keywords for syscalls. 2018-05-06 16:27:47 +00:00
Adrien Destugues efd07aad5b Update to haikuwebkit 1.6.4 (x86 only).
... and synchronize all packages with haikuports.
2018-05-05 18:00:18 +02:00
Jérôme Duval 2aaad308b8 runtime_loader: enable elf32 on x86_64, elf64 on x86.
use x86 as default sSearchPathSubDir in compatibility mode.
use the generic memset/memcpy when x86_64 is the primary arch.

Change-Id: Ib464c308ff97f7ae2482ef4c037de1b1bb2bf61b
2018-05-05 09:37:49 +00:00
Jérôme Duval 51dfedd76b libroot_x86: use the generic memset/memcpy when x86_64 is the primary arch.
the standard x86 implementation uses the commpage, which is difficult to setup. we could
also use the C++11 version instead.

Change-Id: I4be7e3466082ff2c91bc32bef377a664ce65f3fc
2018-05-05 09:37:16 +00:00
Jérôme Duval 891a743ac3 x86_64: add kernel define and macro for x86 compatibility.
thus the kernel can be built with 32-bit compatibility support.

Change-Id: I5699bcb04908d5abb01da3166c3c180582b9026f
2018-05-05 09:31:40 +00:00
Jérôme Duval 27bba9c3fe registrar: flat_app_info size was arch dependent.
copy each member of app_info instead.

Change-Id: Ica8d0a195b2dbaaf57d28f2fe2f7efd73c37b2c4
2018-05-05 09:30:08 +00:00
Adrien Destugues 7dba237f7f BSecureSocket: re-enable RSA cipher suite
my.justenergy.com allows only RSA, so we can't connect there without
this. Other websites may have a similar problem.

Also improve the handling of the error, as it was giving a generic
"general system error" to the user.

Fixes #13975.
2018-05-05 08:48:22 +02:00
Jessica Hamilton f599721237 bootloader/efi: remove partition before adding to new list.
* A Node/Partition cannot be member of two lists at once. This
  resolves an issue where a partition cannot be found later
  due to corruption of a NodeList.
2018-05-05 14:14:35 +12:00
Jessica Hamilton bb96d47d9b Revert "efi: force boot menu to show."
This reverts commit 3ceaa03c60.
2018-05-05 14:14:21 +12:00
Jessica Hamilton 3ceaa03c60 efi: force boot menu to show. 2018-05-05 14:11:26 +12:00
Alexander von Gluck IV dd485ed444 elf: Add aarch64 and riscv defines
* Add some additional defines as well.

Change-Id: I0a40f6b80a634ddaf83a8c22b9726a6e1f49bd34
2018-05-04 18:32:33 +00:00
Alexander Coers c334ab215a cpu_type.h: small fix for CPU detection
* since Core i5/Core i3 can have same model/family/stepping values
  additional string evaluation is needed

This fixes #12695
2018-05-04 06:32:48 +00:00
Philippe Houdoin 91077c485a /bin/shutdown: fixed bug, was returning non zero even on shutdown
success. Spotted by mcandre, thanks!
2018-05-03 12:22:45 +02:00
Jérôme Duval 1894e9b6a7 Add runtime_loader in secondary bootstrap packages.
add grist to runtime_loader source files.

Change-Id: I09c58b5cc1d57034632df99b4fb3c80e3ff49e3e
2018-05-02 16:46:02 +00:00
Jérôme Duval fe11711026 virtio: add driver for the virtio balloon device
* how-to for qemu: command line option: -balloon virtio
* in the monitor view
    - to switch the vm size to 500MB: balloon 500
    - to display balloon info: info balloon
2018-05-02 14:24:40 +00:00
Niels Sascha Reedijk 2284eb4875 Add ALLPERMS and DEFFILEMODE to enable building on hosts with the musl c library 2018-04-30 11:11:11 +00:00
Jérôme Duval eaa5720b74 Add x86 secondary arch to x86_64 cross repository.
Change-Id: I8b6ff4effa1469a56a02b0a6f30821bbbc3c62b6
2018-04-29 17:29:27 +00:00
Adrien Destugues 401c837afc multi_audio: remove some unused debug macros
We were #defining DEBUG here, which leads to some system-wide debugging
macros being always enabled as well (PRINT_OBJECT and the like). This
should be managed only using SetConfigVar in UserBuildConfig.

Remove the unused UNIMPLEMENTED and BROKEN macros because everything is
implemented, and nothing is currently known to be broken :)
2018-04-29 17:25:46 +00:00
Augustin Cavalier 648f0d5f08 libroot_build: Properly remap fs_attr_* functions.
This was done using macros before, which isn't the way we have things set up.
In theory that method should work, however if not all consumers include the
libroot_build headers properly, then it breaks in subtle but confusing ways,
which is not what we want at all.

Thanks to Jessica for advice.

Change-Id: Idd45df5547daecf8239932957088da03ddfccf87
2018-04-29 17:25:18 +00:00
Jérôme Duval 88c1a9d048 virtio_net: improve performance.
* use so many buffers as the queue can contain.
* queue receive requests as soon as possible.
* don't wait for transmit completion.
* interface can now be brought down and up.
* add locking around access to lists and virtio queues.
* iperf results: guest->host 400MBits/sec.

Change-Id: I6423e4afcb59f280d702893cc8d22a9ef908113a
2018-04-26 18:46:06 +02:00
Jérôme Duval e1ac2a3e45 virtio_pci: write config in IO-space instead of PCI config space. 2018-04-26 18:07:42 +02:00
Jérôme Duval 988f999816 virtio_block: fix build nach API change. 2018-04-26 16:36:04 +02:00
Jérôme Duval 61cd7e85d7 virtio: add API to uninit a device.
* free interrupts, free queues, return to init state.
* this will be used by virtio_net on interface uninit.

Change-Id: I7c1e6facc37cf6bfe19628576fdf2c0bac9e5c38
2018-04-26 06:25:41 +00:00
Jérôme Duval 6e82e42859 virtio: refactor to have a handler per queue.
* enable to iterate on available entries in one interrupt call.
* negociate -> negotiate, (void *) -> (void* ), thanks axel and philippe!

Change-Id: Ie2d290797abcbf4c0f3cb5bfff71d091bb800fa6
2018-04-26 06:25:15 +00:00
Axel Dörfler 30764e3821 launch_daemon: Fixed getting data of stopped service
* If you stopped a service, and ran it manually, it would hang forever
  waiting for its port data.
2018-04-25 22:56:22 +02:00
Fredrik Holmqvist 86901205d0 Avoid arithmetic operations on void pointers
See what I did there?
2018-04-25 21:42:16 +02:00
Fredrik Holmqvist 6d34de21b8 Missing else in else if. 2018-04-25 21:41:33 +02:00
Fredrik Holmqvist 72c715ecbe Another while (( ..) 2018-04-25 21:41:33 +02:00
Fredrik Holmqvist a7affb9189 The ' = ' character is no more. 2018-04-25 21:41:33 +02:00
Fredrik Holmqvist b18b18ac3e Wrong order of arguments in header.
It is called from KernelInterface with Mount(&fs, server, serverName, path..
That is also what FileSystem.cpp says.
2018-04-25 21:41:33 +02:00
Axel Dörfler a77aa747ea launch_daemon: Added basic logging facility
* The daemon now stores many events in am internal log.
* You can use "launch_roster log" to retrieve it.
2018-04-25 10:10:43 +02:00
Axel Dörfler 6d7b8a3088 launch_daemon: Renamed TeamRegistrator to TeamListener 2018-04-25 10:10:43 +02:00
Jérôme Duval 95cebb26c7 fat: fix gcc2 build 2018-04-24 20:32:40 +02:00
Jérôme Duval 7760bb460f ntfs: fake_read_attrib used the user buffer directly
It now uses user_strlcpy()
2018-04-24 20:06:05 +02:00
Jérôme Duval b0bcd96bd7 fat: use the return value of strlcpy instead of strlen. 2018-04-24 19:54:00 +02:00
Fredrik Holmqvist e3becd53ee Ternary operator proper precedence.
Going through PVS Studio blogs on Haiku.
2018-04-23 23:25:16 +02:00
Jérôme Duval 3a764d6a12 kernel: x86: add some msr and cpuid features
* for arch capabilities.
* for spec ctrl and pred cmd.
2018-04-22 18:03:16 +02:00
Axel Dörfler 7750fdcf18 vfs: _user_flock() did not use FS advisory locking calls
* The kernel's advisory locking implemenation must not be used if the
  file system has its own (ie. network file systems).
* Added ASSERT to free_vnode() that assures there is no locking left;
  I recently had a lot of them around.
2018-04-22 15:13:29 +02:00
Fredrik Holmqvist 58c99ce4d4 malloc_referenced adds +1 to int32 pointer so use its release 2018-04-22 12:47:30 +02:00