Commit Graph
100 Commits
Author SHA1 Message Date
Rene Gollent 17f2def171 Only call UserDefinedTimersRemoved if there actually are any. Should fix #7998.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42776 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-09-28 13:06:48 +00:00
Rene Gollent 61f3c5c1c7 Upped alpha profile image size to 750MB.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42687 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-24 23:38:22 +00:00
Rene Gollent 781a7c361d Relocate incorrectly placed call, and guard it as needed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42471 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-24 02:54:59 +00:00
Rene Gollent 657d27403c Fix indentation.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42470 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-24 01:35:31 +00:00
Rene Gollent efc5edfaa2 * Rename and make VariableTableModel::_GetTreePath() public so VariablesView
can make use of it, and adjust existing callers.
* For nodes that need child creation to be deferred until after value
  resolution succeeds, send a request to the view to restore their view state
  once child creation is complete. This gets the view state working again
  for things like BPoints and other complex structures embedded in a BMessage.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42469 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-24 01:31:35 +00:00
Rene Gollent 5571551261 For value nodes with deferred child creation, value loading needs to be
requested once the deferred load has been complete, otherwise their values
would never be loaded if their parent node was already expanded while stepping
through the debugger. There still remains an issue with saving/restoring view
state for such nodes though.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42457 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-19 22:39:05 +00:00
Rene Gollent 9918b71672 - Factor out setting up the arguments for gdb handover.
- When using the graphical debugger by default, fall back
  to setting up gdb handover if the GUI is unavailable.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42446 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-17 16:55:28 +00:00
Rene Gollent de6f745cde Add support for conditionally compiling the debug_server to hand off crashed
teams to the native debugger instead. This assumes the latter is installed
in /boot/system/apps.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42445 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-17 15:26:56 +00:00
Rene Gollent 2f47fe6c8a Need to acquire a reference here as well.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42439 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-16 17:44:31 +00:00
Rene Gollent 07ec2fab02 Resolve TODO: If a function is selected by other means than the stack
trace view, but we have a call frame matching that function, then jump
to that frame in the stack trace view as well.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42437 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-16 12:57:14 +00:00
Rene Gollent 4ee20b83b4 In the case where the .eh_frame section was used, Debugger was reading the
exception table address at the wrong location, leading to totally bogus values
for the alignment factors and return register, which ultimately resulted in
failing to reconstruct the CFI. (.eh_frame Format reference:
http://refspecs.freestandards.org/LSB_3.0.0/LSB-Core-generic/LSB-Core-generic/ehframechpt.html )

Fixes #7818.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42434 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-16 03:01:21 +00:00
Rene Gollent 0bacba20e6 Fix copyright date. Thanks to Arnold for spotting this.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42431 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-15 12:26:59 +00:00
Rene Gollent a04b45e13a Fix broken trace statement.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42430 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-14 22:41:41 +00:00
Rene Gollent 4b48067a57 BClipboard::{Start,Stop}Watching(): Return an error if the passed in messenger
isn't valid.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42401 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-10 13:09:15 +00:00
Rene Gollent f1aea13b5e Detect if the message node is contained in a BMessage field child. If so,
handle the message in flat format. This gets messages embedded inside other
messages working.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42388 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-07 21:51:50 +00:00
Rene Gollent 2a3c2964f1 BMessageValueNode wasn't taking into account the possibility that type
information was unavailable, leading to a crash when used without a debug
libbe being present.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42386 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-06 23:34:02 +00:00
Rene Gollent 90753bf805 Fix leaking of type references.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42381 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-05 00:57:29 +00:00
Rene Gollent d012351656 Add TODO note.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42376 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-04 16:52:19 +00:00
Rene Gollent 977db2b595 Add clarifying comment.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42375 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-04 16:50:37 +00:00
Rene Gollent c1d84ade70 * Use the base type name in order to look up the types for strings
and pointers. This gets strings inside BMessages working.

* Enable the BMessage type handler. This effectively means that the debugger
  now has the ability to introspect BMessages for their field contents.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42374 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-04 14:56:31 +00:00
Rene Gollent e5519ef504 Add a constraint field which allows one to specify a particular base type name.
This is necessary for looking up pointer and array types.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42373 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-04 14:55:13 +00:00
Rene Gollent 063fa6fa1e Properly handle field names that have multiple indices by publishing
child nodes for them.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42372 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-04 14:05:42 +00:00
Rene Gollent 677379191f Lookups against the type cache need to be checked against the constraints
as well.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42371 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-04 13:20:00 +00:00
Rene Gollent 140b05c8ec Simplification due to better understanding of the node system.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42370 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-04 12:44:29 +00:00
Rene Gollent aa069e23fa Add a listener hook to notify the parent when model nodes are marked hidden.
This allows the variables view to request value/location resolution for those
nodes as needed, since it's otherwise unaware of their existence. This is
necessary in order to correctly handle nodes which require resolution to
happen in order to publish their children, since their value would otherwise
never be requested when they're hidden by virtue of being the child of an
address node.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42369 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-04 12:41:58 +00:00
Rene Gollent 002d5e9729 Only mark a compound child hidden if it is in fact the only child present.
Interesting side effects otherwise occur in the case where multiple compound
children are present, since other areas of the table model depend on the node
only being hidden in the single child case.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42367 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-04 02:34:08 +00:00
Rene Gollent ef826895ff * Restructure things a bit so we store the message's message and field headers
after resolving them. This allows us to reuse BMessage's logic for computing
  the offsets of values in the data buffer.
* Resolve fields to their types and correctly resolve the locations of their
  data. This means we can now see the values of fields inside the message, with
  some caveats: string types aren't yet handled properly, and we don't yet
  properly deal with fields that have multiple indices.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42365 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-02 20:11:54 +00:00
Rene Gollent a4dcbd0004 Add Brian Luft to the contributors list.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42364 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-02 16:01:54 +00:00
Rene Gollent ce59b51ce3 Applied patch by Brian Luft to clean up the shortcuts GUI and bring it more
into HIG compliance. Resolves part of #5420. Thanks!



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42363 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-02 16:01:05 +00:00
Rene Gollent f4e0b8d03a Now that DebuggerInterface is BReferenceable, all of these need to be correctly
acquiring/releasing refs to it as well. Thanks Ingo.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42362 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-02 02:01:02 +00:00
Rene Gollent e466360263 Add copy constructor to ValueLoader.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42361 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-01 21:45:44 +00:00
Rene Gollent 96893f28cc Acquire references to TeamMemory appropriately.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42360 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-01 21:41:21 +00:00
Rene Gollent 8ac3d9fe39 Resolved TODO: made TeamMemory and TeamTypeInformation BReferenceable.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42359 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-01 21:40:32 +00:00
Rene Gollent fd47185941 BMessageFieldHeaderNode{Child} -> BMessageFieldNode{Child}
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42355 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-01 02:40:16 +00:00
Rene Gollent 698ad09748 * Add interface TeamTypeInformation and implement in TeamDebugInfo. Pass along
to various classes that need a reference to it in order to allow value nodes
  to look up type information from the target team.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42354 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-01 02:36:32 +00:00
Rene Gollent 8a7985745c Cleanups to simplify handling of pointer vs value types.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42353 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-01 01:54:58 +00:00
Rene Gollent 185d2cdcb9 * Add model class TypeLookupConstraints.
* Create and pass constraints to type lookup requests to ensure
  that the type we get back is in fact the one we wanted, and not
  a different one that happened to have a similar name.

Resolves ticket #5495.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42348 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-30 22:30:48 +00:00
Rene Gollent 43ad8a3327 Should have been part of r42335.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42336 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-28 20:19:41 +00:00
Rene Gollent 124cdd4f57 Applied patch by Gerald Zajac: Adds hardware overlay support to the ATI
mach64/Rage driver. Resolves #5314. Thanks!



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42335 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-28 19:13:49 +00:00
Rene Gollent a2d074a765 * Modify BMessageValueNode to use delayed child creation flag.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42334 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-28 00:20:59 +00:00
Rene Gollent abacf1bd3b * Extend ValueNode to be able to indicate that a node needs child creation
requests delayed until its location/value have been resolved. Update
  VariablesView to make use of that flag.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42333 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-28 00:20:32 +00:00
Rene Gollent 1e1e05fdba * Got rid of BMessageFieldNode{Child} in favor of presenting the fields directly
at the top level of the message.
* Fixed issues with incorrectly resolving the what value.
* Reordered some functions to match header decl order.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42331 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-28 00:08:15 +00:00
Rene Gollent 15f3037b87 Fix regression introduced in r42324 which prevented pointers to BMessages from being
properly.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42327 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-27 01:24:32 +00:00
Rene Gollent f225c7e944 BMessageValueNode now publishes a BMessageFieldNode child, which in turn
exposes child nodes for all the fields detected in the target BMessage.
Doesn't yet exposes the indices/values for each field though.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42324 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-26 18:35:56 +00:00
Rene Gollent 9186e23d5a Rearrange _HandleSourceCodeChanged() a bit so it correctly handles updating
the current source path when changing frames in all cases.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42322 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-26 16:22:45 +00:00
Rene Gollent 97c9b89bce Rework BMessageValueNode to find its needed addresses via member value locations.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42318 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-25 20:48:54 +00:00
Rene Gollent 11ce866cbd Revert unintended change, and clarified TODO a bit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42290 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-23 12:08:20 +00:00
Rene Gollent 93e87b30a2 Add TODO note.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42289 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-23 03:00:05 +00:00
Rene Gollent ff22dfe8f3 Should have been part of previous commit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42288 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-23 00:10:01 +00:00
Rene Gollent 29a6c81bcd We now retrieve and unflatten the target BMessage successfully,
though we don't yet create child nodes for the contained fields.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42287 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-23 00:08:58 +00:00
Rene Gollent d137ab049b Used the wrong define in the previous commit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42284 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-22 20:41:51 +00:00
Rene Gollent 29fdb533ba Fix build with tracing disabled.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42283 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-22 20:37:13 +00:00
Rene Gollent 46b619c39d Fix several problems in Flatten() that could potentially lead to overflows
and/or crashes if given a smaller buffer size than the Flatten operation 
actually required.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42282 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-22 12:52:28 +00:00
Rene Gollent 04584c0d6f Add the beginnings of a BMessage type/value handler. Not yet registered with
the type handler roster since it's quite far from being complete.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42279 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-21 22:59:54 +00:00
Rene Gollent c158e82214 Remove bash completion from the image for now, since as currently implemented it breaks the build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42277 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-21 18:12:58 +00:00
Rene Gollent 0573015d14 Introduce a flag in ExpressionEvaluationContext in order to distinguish between
cases where no object pointer is available vs the object pointer being present
but NULL, which would previously not be pushed onto the stack, leading to
expression evaluation failures.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42274 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-21 01:53:46 +00:00
Rene Gollent 2648a38678 Make the memory view properly handle the target address size.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42255 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-19 20:58:20 +00:00
Rene Gollent 5d70f1ae3e Get the variable view state more or less usable again. Still needs some more work to
do things like preserve renderer settings and some other details.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42254 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-19 20:21:38 +00:00
Rene Gollent f4ba9a458f * Cleanups.
* Add support for keyboard navigation to the memory view.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42246 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-19 17:21:28 +00:00
Rene Gollent 80480954e2 Add support for byte swapping to the memory inspector.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42238 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-18 22:24:00 +00:00
Rene Gollent 2e687c4792 No need to call DragStart() if we have no drag message yet.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42236 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-18 21:31:07 +00:00
Rene Gollent 7560163d8c * Revert r42223 since it breaks some cases.
* Simplify handling a bit. Instead of more or less duplicating some of the
  move logic from PoseView, simply construct an appropriate target model and
  let PoseView's HandleDropCommon() take care of understanding what to do with
  the drag message. This has the side effect that things like dropping a text
  clipping message onto a target in an x-ray menu actually works as expected
  now.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42235 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-18 14:17:17 +00:00
Rene Gollent 4529df90fe Add a keyboard shortcut for Run to accompany the ones for the different step actions.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42230 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-18 03:42:31 +00:00
Rene Gollent f4d44cd47d Remove the monitor item before calling FSNotification() on it. Otherwise,
in some cases PoseView would call back into PoseCreatedOrMoved(), leading
to an infinite recursion.

Fixes #7696.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42229 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-18 03:22:31 +00:00
Rene Gollent ab6b173770 Slight relocation, no functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42223 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-18 00:48:22 +00:00
Rene Gollent 5e90adf5d7 Fix regression introduced by r41892: DragStart() was called at the wrong time,
leading the drag message to contain nothing more than an empty B_MOUSE_IDLE
message. This broke several other cases of drag and drop which relied on it
containing the dragged refs. Fixes #7705.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42221 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-17 22:56:11 +00:00
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