Commit Graph

58165 Commits

Author SHA1 Message Date
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
Andrew Aldridge
f6d25a3a81 strtod: Do not consume "x" in incomplete hex input
Adapted from upstream glibc commits:
* 405698e946dbed472491f85867eb511eb080e05a
* 43b9d657408fbf47a47934f9e7c84ed87f7f5a18

Fixes #13949
2018-01-12 16:45:14 +00:00
Jérôme Duval
a820f1f01d WebPositive: disable debug code.
should fix the debug build for WebPositive.
2018-01-12 16:46:08 +01:00
Rene Gollent
c0936b5a03 Debugger: Another set of #13800 fixes.
AbstractTable/Table/TreeTable:
- Let BColumnListView take care of deleting columns. The previous
  approach was resulting in the columns being leaked.

Debugger:
- Don't detach the UI reference, as TeamDebugger will acquire its own.

GraphicalUserInterface:
- Cleanup of file panel handler.

SourceView:
- Clean up marker manager.

*Roster:
- Clean up registered objects in destructors.

GlobalTypeLookup:
- Clean up hash tables.

NetworkTargetHostInterfaceInfo:
- Fix reference handling for settings.
2018-01-11 22:39:55 -05:00