Commit Graph

55639 Commits

Author SHA1 Message Date
Jérôme Duval 29fa68b21c unix: fix x86_64 build with trace. 2016-04-29 17:34:48 +02:00
Rene Gollent c9dd7d0ddf libbnetapi: Extend socket classes.
B{Abstract,Datagram,Secure}Socket:
- Add functionality to listen for and accept new connections, thus allowing
  one to use the socket classes for server functionality as well.

BSecureSocket:
- Adjust to take into account differences between how SSL needs to be called
  when accepting an incoming connection vs initiating an outbound one.
  The handshake on the accepted connection stills fails for unknown reasons
  at the moment though.

Note that these changes break the ABI, and thus any packages making use of
them directly will need a rebuild.
2016-04-28 22:30:40 -04:00
Alexander von Gluck IV 9503c26b5d intel_gart: Add SkyLake bridge ID's to match accelerant 2016-04-28 21:10:20 -05:00
Alexander von Gluck IV 1b9ee9d382 intel_gart: Add Atom DMI bridge ID's to match accelerant 2016-04-28 20:49:37 -05:00
Alexander von Gluck IV dee0f365e1 intel_extreme: Improve LVDS panel detection robustness
* If older generation, check for mobile. If mobile GPU
  is found, make an assumption that a LVDS panel exists
  and attempt to leverage the vbios or VESA EDID.
2016-04-28 10:45:31 -05:00
Alexander von Gluck IV 42b7678198 netresolv: Fix build issues under Ubuntu 16.04 and OS X
* Either gcc or bison version changes are throwing a
  sign-compare Werror in the generateda irs nslexer.c
* This simply targets that Werror and disabled it in irs
2016-04-28 00:16:32 -05:00
Alexander von Gluck IV 00c9b19b31 intel_extrme: Add more Atom gpu PCI id's 2016-04-27 22:44:27 -05:00
Automatic Committer e01b4d6a3f Update pci.ids from pciids.sourceforge.net 2016-04-28 05:20:21 +02:00
John Scipione 4d52d1a8ca Add BPropertyInfo class docs 2016-04-27 11:10:34 -07:00
John Scipione 22097d7aee Style fixes to BPeropertyInfo class 2016-04-27 11:10:34 -07:00
John Scipione 4c25397c41 AppMisc: correct param name in docs, silences warning 2016-04-27 11:10:33 -07:00
John Scipione 686b774894 LaunchRoster: doment data param to quiet warning 2016-04-27 11:10:32 -07:00
John Scipione b855c871b7 Add private app headers to Doxyfile
needed for LaunchRoster which has gone private.
2016-04-27 11:10:32 -07:00
John Scipione 9a243c1b2a Fix errors in fs_interface.dox 2016-04-27 11:10:31 -07:00
John Scipione 873cc5542e Message docs: fix errors 2016-04-27 11:10:31 -07:00
Rene Gollent e2d845a47f Debugger: Implement remainder of #12729.
UserInterfaceListener:
- Add request hook for writing a core file. Implement in TeamDebugger.

Jobs/WriteCoreFileJob:
- Add new job to actually dispatch the core file request via the debugger
  interface.

Team{::Listener}
- Add listener event + hook for notifications when a core file gets written.
  Implement in CLI.

CliContext:
- Add event flag for core file changed.

CommandLineUserInterface:
- Add 'write-core' command. This optionally takes a path to write the core to,
  otherwise one is automatically generated by, similarly to debug reports. As
  such, one can now generate cores for things like app_server and registrar
  crashes if desired, in addition to reports.
2016-04-26 22:36:26 -04:00
Rene Gollent 5c8966c740 Debugger: Fix crash regression.
- During the TargetHostInterface refactoring, a parameter was accidentally
  omitted for the debugger options in the command line and report interfaces,
  leading to a crash during TeamDebugger init.
2016-04-26 22:34:00 -04:00
Rene Gollent bac2e686dc Debugger: Add core file request to DebuggerInterface.
{CoreFile,Local}DebuggerInterface:
- Add virtual hook for requesting a core dump of the current team. Implement
  accordingly in LocalDebuggerInterface, and add a no-op stub in
  CoreFileDebuggerInterface.
2016-04-26 21:48:44 -04:00
Ingo Weinhold 42f9500235 Debugger: CoreFile: read symbol and string table addresses 2016-04-27 02:17:15 +02:00
Ingo Weinhold 5cde7a856d Add symbol and string table addresses to core file 2016-04-27 02:16:54 +02:00
Ingo Weinhold 8c6cb8af01 runtime loader: Register extended image info with kernel
Add structure extended_image_info which extends image_info by the
fields symbol_table, symbol_hash, string_table.
2016-04-27 02:16:09 +02:00
Ingo Weinhold 82185a52e2 Future proofing core file format
* The Haiku specific notes contain a structure size field, now.
* Change the type of the count and size fields in the Haiku specific
  notes to uint32 also for 64 bit ELF. The size field for a note is a
  uint32 anyway.
2016-04-27 00:55:23 +02:00
Rene Gollent 63a0065c83 Debugger: Implement part of #12729.
TeamsWindow:
- Add a button allowing one to specify loading a core file in addition
  to attaching to/creating teams.
- Slight layout tweak.
2016-04-26 18:28:09 -04:00
Ingo Weinhold 6d5951d612 Debugger: Handle RefsReceived(), opening core files 2016-04-26 23:48:41 +02:00
Ingo Weinhold b7e6e93165 MIME type for core files
Icon wanted!
2016-04-26 23:48:04 +02:00
Rene Gollent ef969bcb59 Debugger: Fix incorrect behavior when asking to activat.
GraphicalUserInterface:
- The Show() method now checks if the team window is already visible. If
  it is, we instead call Activate() to focus it. Fixes the problem that
  attempting to attach to a team which we already had a running team
  debugger for would appear to do nothing, rather than focusing that window.
2016-04-25 21:56:10 -04:00
Rene Gollent 61f0bf59fb Debugger: Fix handling of team_id clashes.
TeamDebugger:
- Add accessor to query whether the debugger's interface is a post mortem core
  rather than a live team.

TargetHostInterface:
- When asked to locate a team debugger by team_id, as is done for attach
  requests to determine if we already have an existing instance attached, skip
  over post mortems. This takes care of the potential problem of detecting a
  core instance with the same team_id as a live team, and consequently refusing
  the attach request.
- When a team debugger quits, use its actual pointer to look it up rather than its
  team ID, as we could otherwise potentially remove the wrong one in the case of a
  clash.
2016-04-25 21:49:46 -04:00
Rene Gollent 2c4195e840 Debugger: Integrate core handling into TargetHostInterface.
{Local}TargetHostInterface:
- Add virtual method for requesting a debugger interface for a core file.
  Implement accordingly in LocalTargetHostInterface based on Ingo's
  previous implementation in the Debugger app.

TeamDebuggerOptions:
- Add an enum to define the type of team debugger request being made
  to explicitly make this clear rather than guessing based on the provided
  arguments. Set accordingly in the various cases.
- Add a parameter for the core file path.

Debugger:
- Refactor to fill in TeamDebuggerOptions appropriately for core file
  requests, and consequently simplify code.

This doesn't yet deal with the fact that a post-mortem team's ID can
clash with that of a live team, which may lead to issues when attempting
to attach to a live team in such a case.
2016-04-25 16:48:37 -04:00
Jérôme Duval 0cb870a56c Use libstdc++.so in place of libsupc++.so.
* The latter doesn't link against libroot.so, which lets the library init fail.
* Fix kernel_debugger crash in malloc().
* libsupc++.so will be deleted from gcc_syslibs package (the static libs will
stay however).
2016-04-25 19:09:03 +02:00
Jérôme Duval 60ac5356ac Fix debug build of libtextencoding.so. 2016-04-25 19:08:01 +02:00
Ingo Weinhold 1a899ed474 Debugger: Beginning of core file support
* DebuggerInterface: Add method IsPostMortem() to be able to
  descriminate between live and post mortem debugging.
* Add DebuggerInterface implementation CoreFileDebuggerInterface which
  provides information from a core file.
* TeamDebugger: Don't start the debug event thread when debugging post
  mortem.
* Debugger: New command line variant "Debugger --core <file path>",
  which starts a team debugger using the core file.

There are a few issues:
* I didn't see an easy way to integrate with the new
  TargetHostInterface framework and I didn't want to get into Rene's
  way changing stuff. As a side effect core file debug windows are not
  counted and Debugger will quit when only those are left, respectively
  will additionally open a teams window on start-up.
* There aren't any symbols yet. We can't use the debug kit
  functionality, since it isn't bitness/endianess agnostic. So either
  it needs to be adjusted or ported over to Debugger.
2016-04-24 18:48:37 +02:00
Ingo Weinhold 3d26e83096 Debugger: TeamInfo: Add SetTo() version
... that doesn't expect a team_info.
2016-04-24 18:35:45 +02:00
Ingo Weinhold 86fe52b6bc Debugger: Add class CoreFile
Reads data from Haiku specific core files.
2016-04-24 18:34:51 +02:00
Ingo Weinhold 05c7cd7647 Debugger: Make ElfFile more flexible
* It was previously geared towards shared object files. Now it is
  fairly agostic and also accepts e.g. files without sections and
  different endianess.
* The handling of 32 vs. 64 bit files works a bit differently now.
  There're structs ElfClass32 and ElfClass64 now which provide the
  types for the respective bitness.
* Add a few more getters.
2016-04-24 18:34:07 +02:00
Ingo Weinhold 6dc2384f6e debug server: Offer option to write a core file
... when a team crashes/hits a debug event.
2016-04-24 18:24:50 +02:00
Ingo Weinhold 467fe4ca0c kernel: Add core dump facility
* Add function core_dump_write_core_file(). It writes a core file for
  the current thread's team. The file format is similar to that of
  other OSs (i.e. ELF with PT_LOAD segments and a PT_NOTE segment), but
  most of the notes are Haiku specific (infos for team, areas, images,
  threads). More data will probably need to be added.
* Add team flag TEAM_FLAG_DUMP_CORE, thread flag
  THREAD_FLAGS_TRAP_FOR_CORE_DUMP, and Team property coreDumpCondition,
  a condition variable available while a core dump is progress. A
  thread that finds its flag THREAD_FLAGS_TRAP_FOR_CORE_DUMP set before
  exiting the kernel to userland calls core_dump_trap_thread(), which
  blocks on the condition variable until the core dump has finished. We
  need the team's threads to stop so we can get their CPU state (and
  have a generally unchanging team state while writing the core file).
* Add user debugger message B_DEBUG_WRITE_CORE_FILE. It causes
  core_dump_write_core_file() to be called for the team.
* Dumping core as an immediate effect of a terminal signal has not been
  implemented yet, but that should be fairly straight forward.
2016-04-24 18:22:14 +02:00
Ingo Weinhold ac1f1a926e kernel: +image_iterate_through_team_images()
Like image_iterate_through_images(), but iterates though the images of
the given team only.
2016-04-24 17:30:52 +02:00
Ingo Weinhold 99f00556a4 kernel: +arch_get_thread_debug_cpu_state()
Similar to arch_get_debug_cpu_state(), but the thread whose CPU state
to retrieve is specified. Works only for threads that aren't running,
and on x86-64 we can get the FPU state only when the thread was
interrupted in userland.
Not implemented for the incomplete architecture ports.
2016-04-24 17:29:28 +02:00
Ingo Weinhold 7a187cd629 _user_debug_thread(): Use new signal SIGNAL_DEBUG_THREAD
This resolves a TODO: We used thread_interrupt() to wake up the thread
from an interruptable wait. However, if the thread was already in the
kernel and about to start waiting, that would have no effect and the
thread would wait anyway. Now there's the new non-blockable signal
SIGNAL_DEBUG_THREAD, which is sent to the thread instead, making sure
that thread doesn't start waiting.
2016-04-24 11:54:17 +02:00
Alexander von Gluck IV 3218cf3b36 ohci: Fix x86_64 usb tracing 2016-04-23 14:26:22 -05:00
Alexander von Gluck IV 78fc8fe7a0 xhci: 1.1 spec actually specifies 1023 maximum scratch pads.
* While my test XHCI machine only requested 36, the spec for 1.1
  actually states the controller can now "request up to 1023"
2016-04-23 13:03:43 -05:00
Alexander von Gluck IV cf9e522172 xhci: 1.1 spec bumped scratchpads to 36. Set to sane 48 max 2016-04-23 12:49:10 -05:00
Alexander von Gluck IV 1b6e91d3b9 xhci: Tab cleanup of hw defines. No functional change 2016-04-23 12:47:59 -05:00
Alexander von Gluck IV 23cd7065bd intel_extreme: Disable register dumps
* Could cause instability in rare cases.
2016-04-23 09:13:23 -05:00
Alexander von Gluck IV 8d1cb54aac intel_extreme: Add in some code for the lakes (unused) 2016-04-22 22:41:52 -05:00
Alexander von Gluck IV e54df51727 x86/kernel: Up kernel max page table to 16
* New Intel SkyLake seems to have 9 mapped ranges
  at boot.  It seems like this define has been creeping
  up for a while.
* Resolves the inital issue reported in #11377 on SkyLake
  as well. Bonefish mentioned it might need to be raised
  again... he had some good foresight there :-)
* I'm seeing the same no bootable partitions issue though
  via USB after this raise. (maybe a USB 3.1 thing?)
2016-04-22 19:05:19 -05:00
Alexander von Gluck IV abde6a01f8 bluetooth: Re-introduce to image
* Previous enablement broke gcc2 and hybrid builds
* gcc2 builds fixed and tested working now
* Fix Hybrid builds via missing MultiArch Jam
* Sorry for the noise, enjoy early Bluetooth support
2016-04-22 14:55:55 -05:00
Alexander von Gluck IV db706cb504 bluetooth_server: Fix fatal warning under gcc2 2016-04-22 14:48:05 -05:00
Alexander von Gluck IV e29ff32374 bluetooth_server: Fix multi-arch build 2016-04-22 14:32:51 -05:00
Dario Casalinuovo 20802959d3 shutdown_media_server: Rely on actual instance
* Makes the shutdown process to rely on the instance that was
running at the time the function is called. While it's unlikely
anyone will see any change from that, this way we will not conflict
in any case with the launch_daemon.
* The reply could have been confused in a remote situation, make
every request to use an it's own object.
* In launch_media_server there was a wrong variable redefinition
too.
2016-04-22 15:55:15 +02:00