Commit Graph
100 Commits
Author SHA1 Message Date
Rene Gollent b1227839e5 Give focus the inspector's text input when opening the window.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42218 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-17 02:21:17 +00:00
Rene Gollent 7a574c6cbd Check that a source file is in fact available before attempting to use it to
generate a clipping name. Fixes #7704.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42217 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-16 22:53:55 +00:00
Rene Gollent 21e484aea9 * Add previous/next block navigation buttons.
* Fix a calculation error with respect to the last line of the block.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42216 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-16 22:45:40 +00:00
Rene Gollent a5d0b3f501 Align the text section's highlight correctly.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42214 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-16 22:08:18 +00:00
Rene Gollent 0215c110a5 Implement scrolling to the target address.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42213 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-16 21:57:41 +00:00
Rene Gollent 98a61309e7 * Re-enable 64-bit representation.
* Clean up various drawing issues in the memory view's rendering code that were
  causing scrolling artifacts.
* Fix stupid mistake whereby the data being visualized was in fact from the
  Debugger's address space, and not the target team's. This would likely also
  have caused some crashes.
* Highlight the data pointed to by the current target address.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42212 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-16 20:55:20 +00:00
Rene Gollent 2acfac81cd * Refactored MemoryView to be more flexible ; it can now show a configurable
choice of hexadecimal and/or character displays of the memory data, with
  different digit grouping sizes. Still needs some work but is basically
  functional.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42204 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-16 04:21:18 +00:00
Rene Gollent 436dbf26ae Fix off by one error that resulted in the first line of data being
rendered offscreen.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42171 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-14 03:46:57 +00:00
Rene Gollent 90624579a7 More cleanups. Scrolling draws correctly now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42170 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-14 03:33:10 +00:00
Rene Gollent e445dd0ef7 Fix buffer size.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42169 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-14 02:37:59 +00:00
Rene Gollent e99f2683ba Slight cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42168 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-14 02:36:20 +00:00
Rene Gollent 348e6deb98 * Move expression evaluation to the inspector window.
* Actually start rendering the memory data. Still has some drawing glitches
  when scrolling though, will look into those tomorrow. Also doesn't yet
  highlight the location which the target address actually points to within
  the block.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42167 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-14 02:28:55 +00:00
Rene Gollent 804177aa7b Destroy memory block manager on shutdown.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42144 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-13 02:10:48 +00:00
Rene Gollent 689f750f2d Actually create the memory block manager in TeamDebugger, and add a menu item
allowing one to bring up the inspector. This gets us as far as successfully
retrieving memory data from the target team and passing it on to any listeners.
Right now there's not much to see though, as the memory view to visualize the
data is not yet implemented.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42143 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-13 02:09:12 +00:00
Rene Gollent 73df2f2086 * Add validation of the RSDP checksums.
* If we detect ACPI 2.0 or higher, the spec says we should use the XSDT rather
  than the RSDT. Attempt to do so, falling back to the RSDT if the former fails
  to be mapped/validated.
* Refactored acpi_find_table into a templated version to account for the fact
  that the XSDT exports different pointer widths for its links to other tables
  than the RSDT.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42133 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-12 22:01:43 +00:00
Rene Gollent 62e1d169f8 * TeamMemoryBlock: Now stores whether or not the block it represents is writable.
* RetrieveMemoryBlockJob: Make use of get_memory_properties() to retrieve the
  block's protection bits and mark it appropriately.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42132 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-12 20:51:27 +00:00
Rene Gollent e8d73efc9c Should have been part of previous commit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42130 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-12 20:18:01 +00:00
Rene Gollent 36dc99a323 Add private get_memory_properties() syscall which allows one to retrieve the
address protection bits as well as the wiring flags for an arbitrary address
in a team's address space. Will be used in the debugger for the purposes
of the memory inspector/editor, in order to determine whether it can in fact
allow editing for the currently inspected address range.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42129 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-12 20:17:14 +00:00
Rene Gollent 2a55b919c3 Revert r42120.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42121 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-12 11:24:02 +00:00
Rene Gollent b52c7c5943 Remove unnecessary calculations from BListView::ScrollToSelection(). At least I
see no useful purpose to the distinction made here.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42120 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-12 02:27:17 +00:00
Rene Gollent 6b0007fb77 Rename rsdt_length to xsdt_length to avoid future confusion.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42119 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-12 02:12:07 +00:00
Rene Gollent c4b692da1a Revert r42105. The rsdt_length field on the rsdp structure we have declared is
actually misleading, since it specifies the length of the xsdt rather than the rsdt. Furthermore, it is only available if the BIOS reports ACPI version 2.0 or greater. Since we don't currently support the XSDT, we can't rely on that field and have to resort to the previous approach of mapping the RSDT header in order to determine the length of the RSDT itself.

Also add validation of the RSDT's checksum so we don't get tripped up by BIOS's with broken tables.

Should fix boot problems that were introduced by r42105.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42118 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-12 01:56:29 +00:00
Rene Gollent fca88f7b78 Fix minor oversight in previous commit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42094 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-11 01:02:22 +00:00
Rene Gollent c1ae7caf60 * Modify LocatableEntry and Domain to use a similar strategy as
TeamMemoryBlockManager to avert a race condition where an entry
  could be acquired while another thread was about to delete it.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42093 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-11 01:00:25 +00:00
Rene Gollent 8c3c117201 Adjust ReleaseReference() to also return the previous ref count as
AcquireReference() now does, and adjust all callers that relied on the previous
return type.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42091 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-10 22:31:33 +00:00
Rene Gollent d73d70971b * Various cleanups prompted by previous commit review:
- Introduce TeamMemoryBlockOwner to act as an interface for blocks to
	  remove themselves from the manager when they expire. Consequently remove
  	  TeamMemoryBlock's direct reference to the block manager.

	- Simplify GetBlock() to remove unnecessary recursion.

	- Store dead blocks in a doubly linked list instead of another hash table.

	- Minor style fixes.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42090 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-10 22:20:39 +00:00
Rene Gollent 3e3ce16f5e * Introduce TeamMemoryBlock[Manager]. These provide an interface to raw memory
page data of the target team.
* Jobs: Add RetrieveMemoryBlockJob which performs a background read of the
  target team's memory. Used by InspectRequested() to perform the actual work.
* TeamDebugger: Added InspectRequested() hooks to allow clients to ask for
  a memory read to be performed.
* Introduce InspectorWindow and MemoryView to form the basis of a memory inspector.
  As yet these are more or less stubs and not yet hooked in.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42080 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-10 01:58:39 +00:00
Rene Gollent a99d0dd7b7 AcquireReference() now returns the previous ref count.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42079 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-10 01:55:12 +00:00
Rene Gollent b697e03121 * Create and store a messenger to the team window at creation time. Use said messenger to correctly resolve the TODO previously attempted in r42066.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42075 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-09 19:39:26 +00:00
Rene Gollent 87aa57e88e Fix minor oversight in previous commit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42074 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-09 19:32:14 +00:00
Rene Gollent 930a139d70 * LockTarget[WithTimeout()]: Detect potential race condition where the looper
is deleted/recreated in between retrieval and lock. Report failure if so. 



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42073 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-09 19:29:52 +00:00
Rene Gollent 163f1c9ad6 Resolve TODO.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42066 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-09 01:59:21 +00:00
Rene Gollent b184abda90 Fix gcc4 build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41954 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-06 02:29:48 +00:00
Rene Gollent d39c94f224 Remove reference to no longer existing NetworkTime Jamfile.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41935 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-05 14:56:28 +00:00
Rene Gollent eab06f5f40 Keyboard and Tablet were likewise using the aforementioned ioctls incorrectly.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41896 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-03 22:23:10 +00:00
Rene Gollent 308e87fc11 The ioctl for reading mouse parameters was missing the structure size. This would cause it to randomly fail and exit the loop, resulting in the mouse going unresponsive.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41894 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-03 22:12:06 +00:00
Rene Gollent dd00f75632 Remove duplicate dependency line for curl.
+alpha



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41774 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-27 16:07:01 +00:00
Rene Gollent e7d7b1e232 Add debug option to disable the on-screen debug output's paging by default, for
cases such as USB keyboards where the keyboard no longer functions once the 
kernel is entered and the USB stack initializes.

Implements #7561.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41736 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-25 02:56:46 +00:00
Rene Gollent e26b9867f0 Build fix, removed one line too many.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41708 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-24 12:34:05 +00:00
Rene Gollent 5e3eb88b1c Cleanup: no need for parsing since the kernel settings will handle semicolon separated options directly. Thanks Axel!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41707 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-24 12:10:57 +00:00
Rene Gollent 8837310ce7 * Slightly alter the semantics of the input gathering function to take the
menu item it's associated with rather than an input string. This allows it
  to calculate the position to start the input at, as well as the correct
  line to place it on. The previous solution always put the input at the
  center line, which happened to be the right place by happy coincidence
  unless one also had the menu items for viewing/saving the debug syslog
  present.
* Implement input buffer scrolling, and consequently lift the previous size
  limit on user input (it is now only limited by the size of the passed in
  buffer).
* Implement parsing of the input buffer to allow it to handle comma-separated
  options. Thus, one can now input things like "disable_smp true, serial_debug_output false"
  and it will be handled properly.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41706 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-24 03:21:51 +00:00
Rene Gollent 93e483aeab Another build fix...need coffee.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41580 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-19 12:08:13 +00:00
Rene Gollent b4aa5d34cf Build fixes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41578 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-19 03:33:56 +00:00
Rene Gollent d2b49a0031 * Implement support for user input of additional safe mode options that
aren't otherwise exposed via the safe mode menus. The option can be 
found under the debug options menu, where additional settings can be 
added one at a time with the same syntax used in kernel settings files 
(i.e. disable_acpi on). 

Scrolling of the input buffer is not yet supported (will implement that 
soon), so currently the input is clamped to the size of one line. This 
shouldn't be a problem for our current set of options though.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41577 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-19 01:38:02 +00:00
Rene Gollent 13fd92e6a0 Update boot loader copyright year. Resolves #7515.
+alpha3



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41574 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-18 23:10:23 +00:00
Rene Gollent 0677de63aa Mark ACPI module as x86-only. Fixes ARM build regression.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41554 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-17 16:48:55 +00:00
Rene Gollent a6e171a7e2 Update trunk version to post-Alpha3 since the latter has now been branched.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41549 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-16 21:53:38 +00:00
Rene Gollent 83a3452c49 Fix build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41519 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-15 19:18:38 +00:00
Rene Gollent 469cccb22c Fix small error in previous commit that resulted in the fix not working as intended.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41501 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-14 21:12:07 +00:00
Rene Gollent e21407d07b When applying settings from the boot menus, aggregate them and then add them
to the kernel args in a single go. Otherwise we wind up with more link list
entries than expected, which in turn resulted in settings not quite being
parsed properly upon entering the kernel, which meant that if options were
chosen in both the debug and safe mode menus, only the debug ones were
applied. This might also have resulted in the kernel settings not being
loaded correctly in such an instance.

Should fix various issues people have had with safe mode settings not being
applied properly.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41500 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-14 20:37:37 +00:00
Rene Gollent 8a9d5e34fe Patch by Atis Elsts from GSoC 2010 that was overlooked.
- Adds IPv6 fragmentation support and some partial work to enable configuration of IPv6 in net_server. Not currently in the build.
 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41291 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-04-28 22:07:39 +00:00
Rene Gollent 2cfa3e7a04 The build compatibility libs are needed for this rule when invoked on non-Haiku hosts. Fixes the build on non-Haiku host platforms.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40799 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-03-03 21:56:56 +00:00
Rene Gollent e5d0372ce3 Revert various optional packages to their previous revisions until
updated working packages are available. Should fix Pe and Web+ problems.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40725 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-27 13:36:13 +00:00
Rene Gollent 83d2f58767 Style fix.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40581 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-20 14:46:19 +00:00
Rene Gollent f16c55b074 Due to the changes in r40529, the resource data pointer was no longer pointing to static data.
Consequently the locale kit would fail to load resources since the pointer was no longer an address within the liblocale.so image,
with the result that things like flag bitmaps would no longer be accessible.
Fixes #7246.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40580 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-20 14:42:39 +00:00
Rene Gollent d6a17b61aa Slight simplification, no functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40499 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-14 23:48:32 +00:00
Rene Gollent b2d0aaa9e6 Don't attempt to move the selection to the target window if the latter does not contain a poseview (as is the case for an info window). Resolves #7179.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40338 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-01-31 23:43:22 +00:00
Rene Gollent a6aa0c5f6d CID 91: Fix copy/paste error where the wrong variable was passed to an attribute read call, leading to unreachable code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40288 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-01-25 18:01:02 +00:00
Rene Gollent d78e0dc9d7 CID 10326 - remove superfluous for loop.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40277 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-01-23 23:12:26 +00:00
Rene Gollent ea3e07b3f1 CID 10360: Remove incorrectly placed return.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40267 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-01-22 19:08:20 +00:00
Rene Gollent 67a473f7d5 CID 10361: Slight code simplification to remove superfluous for loop.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40266 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-01-22 19:06:15 +00:00
Rene Gollent ef83c28376 CID 10351: Fix incorrect indentation that resulted in
DiskSystemAddOnManager::PutAddOn() being broken in various ways
due to incorrect curly brace placement. Among other things this
probably led to add-ons not being unloaded correctly when they should
have been.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40265 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-01-22 18:39:16 +00:00
Rene Gollent 908d7185b0 Remove unused Draw function. Fixes CID 10350.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40264 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-01-22 13:52:57 +00:00
Rene Gollent c5b852f95f Patch by Shade: If the volume does not return a valid capacity, don't crash with a division by zero error. Resolves #7103. Thanks!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40236 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-01-14 14:06:08 +00:00
Rene Gollent 2cc2a34c10 Resolve TODO: Use Tracker's NaturalCompare in ImageFileNavigator in order
to preserve a consistent display order regardless of whether Tracker scripting
or the internal navigator is being used to iterate through images.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40201 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-01-11 00:58:31 +00:00
Rene Gollent 177d3b66f0 Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40200 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-01-11 00:53:33 +00:00
Rene Gollent 0baa186bfb Refactor a little bit in order to better handle the button states as suggested by Axel. Should resolve #7073.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40193 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-01-10 18:09:13 +00:00
Rene Gollent 3927ba4b3d Don't crash if no item is currently selected. Fixes #7085.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40189 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-01-10 01:58:18 +00:00
Rene Gollent 0d791a3062 Fix uninitialized member var that was resulting in a crash on startup. Resolves #7055.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40102 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-01-04 04:02:51 +00:00
Rene Gollent 5c9b247667 The cmd+` shortcut wasn't taking into account if the user was currently holding a
window with the mouse, and as such didn't take it along to the new workspace
as the cmd+F# shortcuts do. Fixes #7057.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40070 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-01-02 16:04:15 +00:00
Rene Gollent 6997467eea Fix an instance where an allocation wasn't checked for success.
Wrap call to SymbolLookup::Init() in a try/catch block since it could
potentially throw an exception. This was causing the debugger to terminate
in some instances.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40046 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-31 17:17:19 +00:00
Rene Gollent 521f1d058d - Add some extra methods to DataReader which obtain a new reader with additional restrictions.
- Use new methods to simplify a few places in DwarfFile.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39918 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-22 20:30:53 +00:00
Rene Gollent 11e3001c3f Cleanup: multiplex debug and system watch messages across a single port.
Simplify accordingly.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39875 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-17 02:42:39 +00:00
Rene Gollent e37327bd6b Check for port deletion.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39868 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-16 04:58:35 +00:00
Rene Gollent 892f944251 Slight refactoring. Also, always process all waiting debugger events before any
system watch events, since otherwise there's a potential race where we might
try to process a thread rename before having processed the notification for
that thread's creation.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39867 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-16 04:48:29 +00:00
Rene Gollent ba3f23c636 Re-implement watching for thread name changes via the new thread
property change notification interface.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39866 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-16 04:19:53 +00:00
Rene Gollent 260241b41b The wrong ID was being passed into _SendMessage(), leading to all thread
property change notifications being sent as having occurred for the team's
main thread.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39865 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-16 04:15:39 +00:00
Rene Gollent 03a4f3aff3 Fix gcc2 kernel build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39864 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-16 03:00:22 +00:00
Rene Gollent 131e477eb9 Should have been part of previous commit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39850 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-14 19:01:37 +00:00
Rene Gollent 27a115f668 Revert r39846 and r39847.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39849 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-14 17:55:38 +00:00
Rene Gollent 68258fd9d0 Actually copy the data to be written into the message.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39848 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-14 13:16:44 +00:00
Rene Gollent 8fb7eb8b17 Implement support for catching rename and thread priority change events.
This lets us keep up to date with thread names, which makes, for example
Tracker a bit more tolerable to debug since it employs thread renaming
to set the names of its windows.

Implements #4430.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39847 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-14 05:11:21 +00:00
Rene Gollent 7040b50df5 Add support for thread rename and priority change notifications to the
debugger API/message set.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39846 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-14 05:08:47 +00:00
Rene Gollent 95acfc2225 Added keyboard shortcut for Run to go with the shortcuts for Step Over/Step Into.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39845 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-13 23:44:02 +00:00
Rene Gollent 8d8864e162 Add WriteMemory hooks to TeamMemory / DebuggerInterface to go with ReadMemory.
Will be used in the (eventual) memory inspection tool.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39844 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-13 23:33:29 +00:00
Rene Gollent 6cdfe5505c Add write counterparts to debug_read_memory/debug_read_memory_partial.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39843 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-13 23:27:59 +00:00
Rene Gollent be443f5333 Code duplication cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39827 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-13 16:01:52 +00:00
Rene Gollent d4556a4f56 - More style cleanups.
- Add FindSection() and IsLoaded() calls to ElfFile.
- On init, cache the section start/end for the .text and .plt
  sections in DwarfImageDebugInfo. Use them to make the check
  for classifying addresses significantly cheaper.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39826 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-13 14:05:44 +00:00
Rene Gollent bfd3cafa8b Style fix.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39824 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-12 22:21:46 +00:00
Rene Gollent 958cc95d32 Implement support for detecting if a given target address is in a Procedure
Linkage Table section. Use that additional information to skip PLT entries
while stepping. Fixes #6974.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39823 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-12 22:08:43 +00:00
Rene Gollent 411fe79789 - Add definition for return address register type.
- Add TODO wrt default instruction pointer rule.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39821 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-12 15:12:17 +00:00
Rene Gollent 2e3906da98 - Set up correct stack pointer rule (value offset, not location offset).
- Init all registers to same value by default. gcc doesn't set up explicit CFI
  for same-value registers, so assume any register follows that rule until
  explicitly told otherwise (c.f. gdb/dwarf2-frame.c:793).



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39817 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-11 20:13:15 +00:00
Rene Gollent 87d85ea382 - Refactor setting up the default register rules to happen in the Architecture
class in order to allow us to set up architecture specific default rules
for registers that aren't explicitly set by the CFI program.
- Set up default rule for EIP on x86.
- Theoretically set up a default rule for the stack pointer. Disabled for the
time being though until I determine why that rule's not yielding the expected
values for ESP in anything other than the top frame, though the other location
offset rules work as expected.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39816 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-11 19:05:54 +00:00
Rene Gollent 452c6bfade Draw strings right aligned to be consistent with how other values are rendered.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39815 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-11 04:51:05 +00:00
Rene Gollent 73fd617531 Since sdl_e_type is now stored in network byte order, device_consumer_thread()
needed a corresponding adjustment to convert it back to host order before
working with it. Fixes #6972.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39812 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-10 23:57:26 +00:00
Rene Gollent c454897103 Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39808 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-10 19:56:30 +00:00
Rene Gollent a4943027ae ValueLocation::SetTo() normally tries to resolve size and offset differences
versus the passed in base location. In the case of a union we don't
want this behavior since all members start at offset 0. Fixes union values
showing up incorrectly in various circumstances.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39797 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-10 01:02:04 +00:00
Rene Gollent 2f9d5a5aa6 Extend ValueLoader::LoadStringValue() to accept a max length
parameter. When a CStringValue is representing an array, use
the array's length to limit how many bytes we read.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39795 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-09 23:45:13 +00:00
Rene Gollent 942fed9fa3 Make sure we only try to handle the final dimension of the array
and not any intermediate ones in the case of a multidimensional character
array.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39786 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-09 04:30:33 +00:00
Rene Gollent eb756d4264 Modify the CString type/value handlers to accept character arrays as well as
character pointers.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39785 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-09 04:28:10 +00:00