Commit Graph

57968 Commits

Author SHA1 Message Date
Jérôme Duval bec80c1ced white space cleanup 2018-02-10 19:34:43 +01:00
Jérôme Duval 718d7149b1 white space cleanup 2018-02-10 16:15:37 +01:00
Jérôme Duval e2e571c035 usb_raw: use user_memcpy to read/write the user buffers.
also check buffer addresses passed through structures. For transfers, first compute
the direction of the transfer, to copy before or after the actual transfer.
2018-02-08 13:54:06 +01:00
Jérôme Duval f1549b1611 usb_hid: use user_memcpy to read/write the user buffers.
also check buffer addresses.
2018-02-08 13:31:15 +01:00
Humdinger 2539550c6e Improved Belarus flag 2018-02-05 21:21:04 +01:00
Rene Gollent 770075026c Debugger: Rework type handlers to allow for custom selection.
TypeHandler:
- Add name field for presentation purposes. Adapt subclasses accordingly.

TypeHandlerRoster:
- Add methods to count and retrieve all type handlers for a given type,
  and adjust CreateValueNode to allow for passing in an explicit handler.
  Adjust callers accordingly.

VariablesViewState:
- Add helpers to store an explicitly chosen type handler for a node.

TypeHandlerMenuItem:
- ActionMenuItem subclass that takes care of reference management
  for its contained type handler.

VariablesView:
- Add context menu for choosing type handlers if applicable. Implement
  support for invoking said type handlers in a similar manner to explicit
  typecasts.
- Adjust saving/restoring the view state so that hidden nodes are taken
  into account as well. This is necessary since it may be the case that
  the handler had to be applied to the hidden child rather than the visible
  node (i.e. the BMessage handler when applied to a pointer to a BMessage).

All together, these changes allow choosing to switch between views of a type
when the Debugger has multiple handlers for it. For example, for BMessages
this allows switching between displaying the raw underlying structure vs
the decoded message content.
2018-02-04 14:13:01 -05:00
Jérôme Duval 401fb209ea kernel: use x2apic on hypervisor, or if already enabled.
* this can be disabled per safe mode setting.
2018-02-04 19:08:53 +01:00
Jérôme Duval ac690cf148 glue: correctly support different architectures.
* use MergeObject even if we don't need the merged object: the rule does what
is needed and is standardly used for instance in libroot.so.
* add a grist to source files for the bootstrap glue.
2018-01-31 22:57:56 +01:00
Andreas Faerber b71f9969c9 Fix OpenPIC 2018-01-31 20:27:34 +00:00
Andreas Faerber 0ae2a0c4d7 Fix device type check
B_DEVICE_TYPE is a 16-bit numeric ID.
2018-01-31 20:26:11 +00:00
Jérôme Duval 66fa3b1847 kernel: Add set_clac and clear_ac() definitions on non-x86 platforms. 2018-01-31 19:32:46 +01:00
Jérôme Duval 272a3e2ced Build: in ArchitectureSetup, use the cpu variable instead..
of the HAIKU_ARCH variable, which is the primary architecture cpu.
2018-01-31 18:32:35 +01:00
Filip Maryjanski 51290f11aa ScreenSaver: add live update of screensavers list.
Fixes #13956

Change-Id: Icfc26c1617541f030ece31d36f1e3bb0c2ec96b0
2018-01-31 03:16:41 +00:00
Jérôme Duval 9dd4d2dd05 kernel: support for Intel SMAP and SMEP on x86_64.
SMAP will generated page faults when the kernel tries to access user pages unless overriden.
If SMAP is enabled, the override instructions are written where needed in memory with
binary "altcodepatches".
Support is enabled by default, might be disabled per safemode setting.

Change-Id: Ife26cd765056aeaf65b2ffa3cadd0dcf4e273a96
2018-01-30 20:05:39 +00:00
Jérôme Duval 43e75989a6 libnetwork: link against the arch specific libbsd and libutil. 2018-01-30 19:19:18 +01:00
Jérôme Duval 1a77020df1 libutil: add hybrid support. 2018-01-30 19:19:18 +01:00
Jérôme Duval 7e4c719dbb Fix x86 bootstrap on x86_gcc2. 2018-01-30 19:19:18 +01:00
Axel Dörfler 08a4536b1f BMessage: Added missing [Get|Set]Pointer()
* SetPointer() was declared, but not defined.
2018-01-29 21:43:21 +01:00
Jérôme Duval 857d600ae1 Add missing libroot stub on x86 (different from x86_64). 2018-01-29 17:47:41 +01:00
Jérôme Duval c676a5c19e Make the Haiku package not depends on noto_sans_cjk_jp ...
except for regular builds.
2018-01-29 15:59:00 +01:00
Jérôme Duval 86ae71e8ee bootstrap: add missing curl and less packages for x86_gcc2. 2018-01-29 15:58:39 +01:00
Andrew Lindesay 80a272eed8 HaikuDepot : Changelog, Remove old API and Version Bump
This change re-instates the change-log function (TRAC#13827) that was
dropped in earlier changes.  Also now-disused API handling logic is
removed.  A small code-style fix is made and the version of the
application has been incremented so that this version's logic can later
be detected by the HDS application server.
2018-01-28 12:43:26 +01:00
Jérôme Duval 1603eec4a4 kernel: vm: allow mmapping of the last page of the userspace. 2018-01-27 17:15:52 +01:00
Jérôme Duval 3bcf027203 auich: use user_memcpy to read/write the user buffers.
* also check buffer addresses passed through structures.
* map registers kernel only.
* alloc dma descriptors kernel only.
2018-01-25 20:35:39 +01:00
Jérôme Duval 13daa9299e Fix initial stack alignment on 64-bit systems.
gcc does re-align the stack in the main() function prologue, however,
we still need to set the right alignment for other cases: thread entry,
.init and .fini code that is executed before main() is called or after
it has returned, and signal handlers which may use a separate stack.

Part of #10509
2018-01-24 07:59:55 +00:00
Jérôme Duval 34cdda1dd5 kernel: x86: enable writes before patching.
Follow up for commit a2021292d4.
Binary patching would otherwise fail after the kernel text area
becomes read-only.
2018-01-23 17:59:41 +01:00
Jérôme Duval c8fcb2a04e udis86: Add clac/stac instructions for SMAP.
still in a PR:
e9dfa2d79a
2018-01-22 20:06:55 +01:00
Fredrik Holmqvist ff2e2f8198 Upgrade to ACPICA 20180105
Tested on x86_64 and x86_gcc2, works on my machine and most likely fixes
that was most likely due to missing lock sync in previous ACPI upgrade.

 * Redid some of kallisti5's work as it was easier to start from earlier
   version.

 * Evaluating 64 bit physical addressing on 32 bit Haiku again as this
   was likely the cause of pagefaults (#12377):
"Implemented internal support for full 64-bit addresses that appear in all
Generic Address Structure (GAS) structures. Previously, only the lower 32
bits were used. Affects the use of GAS structures in the FADT and other
tables, as well as the GAS structures passed to the AcpiRead and
AcpiWrite public external interfaces that are used by drivers. Lv Zheng."

 * Mostly bugfixes in ACPICA
2018-01-21 20:09:45 +01:00
Fredrik Holmqvist 3f04c8352e Revert "acpica: Upgrade to 20170303"
This reverts commit 0bc647d605.
2018-01-21 20:09:45 +01:00
Ho Tuan Kiet 9c1f9724c2 Fix various unsafe usages of strcat/strcpy
Coverity ID: 608930, 743872, 743873, 743874, 608932, 608933, 1424961, 609034
Change-Id: I2702dfb402df7eee500617cb9b8d6f567296fc13
2018-01-19 06:32:43 +00:00
Jérôme Duval 4f2fac067d hda: use user_memcpy to read/write the user buffers.
also check buffer addresses passed through structures.

Sponsored-by:	https://liberapay.com/korli
2018-01-18 21:19:03 +01:00
Jérôme Duval 755bade8ba Factorize multi audio drivers control function.
With user buffer checks and copies about the same for every driver, it seems logical
to avoid duplicate this code.

Sponsored-by:	https://liberapay.com/korli
2018-01-18 21:19:03 +01:00
Leorize 1a59e1d91c gnu: introduce memmem(3)
Implementation imported from OpenBSD

Change-Id: If2620dc7ed373650bb3dabb0f22c2cd84b9e0ef9
2018-01-17 19:39:18 +00:00
Jérôme Duval 964fb0c378 kernel: make arch_kernel.h for x86 C safe. 2018-01-17 19:20:59 +01:00
Jérôme Duval 8d794763d5 dprintf: remove redondant user address check.
check user_memcpy success.
2018-01-17 19:19:36 +01:00
Jérôme Duval 181bcc8c78 Include libedit by default for Debugger. 2018-01-16 20:48:05 +01:00
hyche 3f43dd8710 btrfs: Fix btrfs_dir_entry doesn't read data from disk correctly. 2018-01-16 16:21:46 +00:00
Jérôme Duval 483c45843d kernel: x86: add some more cpuid flags. 2018-01-15 20:18:43 +01:00
Jérôme Duval 05a859ebd7 usb: map registers or allocate area for the kernel only. 2018-01-15 19:52:13 +01:00
hyche ce029df2d8 btrfs: Fix wrong function name in log error 2018-01-14 15:02:20 +00:00
hyche 5686d4e190 btrfs: Init status, prevent from unitialized check 2018-01-14 15:02:20 +00:00
hyche b568492fbd btrfs: Make SearchSlot() look cleaner 2018-01-14 15:02:20 +00:00
Leorize cedb0e1179 uchar: Introduce C11 uchar.h
Currently this implementation only supports UTF-32
2018-01-14 14:42:34 +00:00
Jérôme Duval a2021292d4 kernel: Binary code patches on x86.
This will be used to support SMAP.

Sponsored-by:	https://liberapay.com/korli
2018-01-14 13:20:38 +01:00
Jérôme Duval e6168b4ffe Set the image size for debug releases to 900MB. 2018-01-14 10:08:05 +01:00
Rene Gollent 7082366900 Debugger: Fix crash in teams window.
- Some of the recent changes for memory management exposed a race
  condition, where the teams window would potentially try to access
  already freed objects on quit. Ensure we acquire references to the target
  host so this doesn't happen.
2018-01-13 15:36:22 -05:00
Jérôme Duval 813b6c656f disasm: add to the image on x86_64. 2018-01-13 15:54:21 +01:00
Jérôme Duval 0291f00909 udis86: update to current version. 2018-01-13 15:54:21 +01:00
Jérôme Duval 9409021432 kernel: x86: add cpuid feature 7 flags. 2018-01-13 09:33:47 +01:00
Rene Gollent ac9e464b78 Debugger: Fix various issues in the DWARF subsystem.
AttributeClasses:
- Fix typo in get_attribute_name_classes which resulted in us not
  handling DW_AT_linkage_name properly.
- Fix incorrect class specification for DW_AT_default_value due
  to inconsistencies in the DWARF documentation (the table of attribute
  classes indicates it is only a reference, but the detailed description
  indicates it also being possible to be a flag or constant, both of
  which gcc outputs).

DebugInfoEntries:
- Add accessor for DIEClassBaseType's inner types.

DwarfImageDebugInfo:
- When looking up types, create a basic target interface to pass on
  to the type context. Otherwise, type lookups that required DWARF
  expression evaluation would crash.
- When building the type name table, we now recursively walk a class's
  inner types, and add them to the list as well. This omission would
  cause the debugger to lack the type description for such classes,
  and consequently be unable to display their details in the variables
  view.
2018-01-12 22:23:57 -05:00