Source Activity

Syndicate content
Haiku's main repository
Updated: 3 min 28 sec ago

Debugger: Implement part of #12729.

Tue, 2016-04-26 21:12
TeamsWindow: - Add a button allowing one to specify loading a core file in addition to attaching to/creating teams. - Slight layout tweak. TeamsWindow: - Add a button allowing one to specify loading a core file in addition to attaching to/creating teams. - Slight layout tweak.
Categories: Development

Debugger: Fix incorrect behavior when asking to activat.

Tue, 2016-04-26 01:54
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. 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.
Categories: Development

Debugger: Fix handling of team_id clashes.

Tue, 2016-04-26 01:49
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. 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.
Categories: Development

Use libstdc++.so in place of libsupc++.so.

Mon, 2016-04-25 17:09
* 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). * 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).
Categories: Development

Fix debug build of libtextencoding.so.

Mon, 2016-04-25 17:08
Categories: Development

Debugger: Integrate core handling into TargetHostInterface.

Mon, 2016-04-25 00:26
{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. {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.
Categories: Development

Debugger: Beginning of core file support

Sun, 2016-04-24 16:48
* 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 ", 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. * 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 ", 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.
Categories: Development

Debugger: TeamInfo: Add SetTo() version

Sun, 2016-04-24 16:35
... that doesn't expect a team_info. ... that doesn't expect a team_info.
Categories: Development

Debugger: Add class CoreFile

Sun, 2016-04-24 16:34
Reads data from Haiku specific core files. Reads data from Haiku specific core files.
Categories: Development

Debugger: Make ElfFile more flexible

Sun, 2016-04-24 16:34
* 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. * 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.
Categories: Development

debug server: Offer option to write a core file

Sun, 2016-04-24 16:24
... when a team crashes/hits a debug event. ... when a team crashes/hits a debug event.
Categories: Development

kernel: Add core dump facility

Sun, 2016-04-24 16:22
* 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. * 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.
Categories: Development

kernel: +image_iterate_through_team_images()

Sun, 2016-04-24 15:30
Like image_iterate_through_images(), but iterates though the images of the given team only. Like image_iterate_through_images(), but iterates though the images of the given team only.
Categories: Development

ohci: Fix x86_64 usb tracing

Sat, 2016-04-23 19:26
Categories: Development

xhci: 1.1 spec actually specifies 1023 maximum scratch pads.

Sat, 2016-04-23 18:00
* While my test XHCI machine only requested 36, the spec for 1.1 actually states the controller can now "request up to 1023" * While my test XHCI machine only requested 36, the spec for 1.1 actually states the controller can now "request up to 1023"
Categories: Development

intel_extreme: Disable register dumps

Sat, 2016-04-23 14:13
* Could cause instability in rare cases. * Could cause instability in rare cases.
Categories: Development

x86/kernel: Up kernel max page table to 16

Sat, 2016-04-23 00:05
* 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?) * 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?)
Categories: Development