Commit Graph

46117 Commits

Author SHA1 Message Date
Philippe Saint-Pierre
56ea7a1e19 Rename Tracker add-ons to remove shortcut suffix 2013-07-11 12:38:40 -04:00
Ingo Weinhold
02b151d3e3 MultiAddressSpaceLocker::AddAreaCacheAndLock(): race condition
* Add a VMArea* version of AddArea().
* AddAreaCacheAndLock(): Use the new AddArea() version. This not only
  saves the ID hash table lookup, but also fixes a race condition with
  delete_area(). delete_area() removes the area from the hash before
  removing it from its cache, so iterating through the cache's areas
  can turn up an area that no longer is in the hash. In that case we
  would fail immediately. The new AddArea() won't fail in this
  situation, though.

Fixes #9686: vm_copy_area() could fail for the "commpage" area. That's
an area all teams share, so any team terminating while another one was
fork()ing could trigger it.
2013-07-11 17:56:26 +02:00
Ingo Weinhold
7bea0205ed vm_page_allocate_page_run(): fix debug output 2013-07-11 17:56:20 +02:00
Ingo Weinhold
c53508b730 kernel tracing: implement fallback for meta data allocation
We the meta data area couldn't be allocated in any of the supported
(reattachable) places, just use a static allocation. The tracing feature
wouldn't be available at all in such a case.
2013-07-11 17:56:13 +02:00
Ingo Weinhold
8a8a325a1e Terminal: work-around missing/out-of-order modifiers events
... more aggressively than before:
* Only use modifiers().
* Before forwarding any relevant event to the active state, first check
  whether the modifiers have changed.

While the issues should really be fixed where they originate (app
server?), this hopefully fixes all situations where the hyperlink mode
gets stuck.
2013-07-11 17:55:36 +02:00
Rene Gollent
8832917f2c Debugger: SourceView: Fix several drawing bugs.
- MarkerView: If the view was resized, and the newly revealed region was
after the last source line, it wouldn't be redrawn properly.
- TextView: Reset low color for painting the region after the
source.  Otherwise, if either the instruction pointer or a breakpoint
were at the last line of the current source, the empty space after would
be filled in that color rather than the background color.
2013-07-11 07:35:06 -04:00
Rene Gollent
8b2fbc4fa0 Debugger: minor tweak.
Also ensure the custom image list controls are appropriately
shown/hidden when enabling the top-level stop on image load setting.
2013-07-10 21:54:12 -04:00
Rene Gollent
94dbabb056 Debugger: Cleanups for BreakConditionConfigWindow.
- When switching between breaking on all images vs a custom list, rather
than enabling/disabling the controls individually, which wasn't
necessarily obvious from a visibility standpoint, simply show/hide the
entire group of controls as needed.
- Update state of add/remove buttons properly.
- Sanitize input for leading/trailing whitespace.
2013-07-10 19:53:18 -04:00
Jérôme Duval
5994a55ab9 PCI: added a HyperTransport mapping info for x86
* fill it with HT MSI mapping capability information.
* enable/disable mapping on the device accordingly in enable_msi(),
disable_msi(), enable_msix(), disable_msix().
* untested. The mapping could instead be enabled/disabled on the HT PCI bus,
aka the parent device of the device passed to enable_msi/disable_msix().
2013-07-10 22:19:30 +02:00
Jérôme Duval
8986cafc46 PCI: added some missing subclasses definitions
* also renamed the HT capability mask
2013-07-10 20:57:06 +02:00
Jérôme Duval
ca5654d898 PCI: added FindHTCapability() for HyperTransport capabilities.
* untested.
* as it's possible to have several HyperTransport capability blocks, the offset parameter
is used as the start pointer for the search in case it's non zero.
2013-07-10 20:21:35 +02:00
Jérôme Duval
7164302bb6 PCI: added definitions for NVM Express storage controller subclass. 2013-07-10 20:21:33 +02:00
Alex Smith
d1a2f6371a sysinfo: Fixed incorrect memory stats on PAE systems.
Memory statistics were calculated as 32-bit values, so they were incorrect
on machines with more than 4GB RAM (and on x86_64).
2013-07-10 14:02:05 +01:00
Rene Gollent
8f5729e1b9 Debugger: ValueLoader: Add TODO note. 2013-07-09 22:01:52 -04:00
Jérôme Duval
25b723638d PCI: the x86 module now exports an MSI-X API. 2013-07-09 23:53:29 +02:00
Jérôme Duval
8cd7d43670 PCI: implemented reading, configuring and enabling MSI-X. 2013-07-09 23:53:28 +02:00
Jérôme Duval
0c0f333a67 PCI: added MSI-X and HyperTransport definitions
* renamed PCI_cap_id_ldt to PCI_cap_id_ht
2013-07-09 23:53:27 +02:00
Jérôme Duval
86340fcef3 kernel/int.cpp: typo fix 2013-07-09 23:53:26 +02:00
Rene Gollent
91c6c2ec21 Debugger: fix value reading problem.
When reading a variable value from a register, if the value's size is
smaller than the size of the register and the architecture is little
endian, we need to adjust the bit offset we read from in addition to
byte swapping, otherwise we wind up reading the wrong bytes.

This was mainly noticeable in the case of functions that returned
boolean values, which would consequently sometimes show up incorrectly.
2013-07-09 17:37:35 -04:00
Alexander von Gluck IV
991183511b RadeonHD: Drop marketing names
* They are all over the place.. I give up
* Going off of engineering names and DCE is more accurate
* A lot of this info came from the x.org wiki
* I'd like to transition some of the engineering
  name checks to use DCE versions.. they tend to be more
  accurate and exact. (in some cases we can't, but most of
  the time we can)
2013-07-09 12:40:29 -05:00
Alexander von Gluck IV
7de678860d RadeonHD: Fix some marketing names
* Finally got Sea Islands sorted out
  (unless they add new chipsets to the line)
2013-07-09 11:59:43 -05:00
Ingo Weinhold
e141e67596 Debugger: ElfFile::_CheckRange(): fix check 2013-07-08 21:24:26 -04:00
John Scipione
080bf8fe19 Fix rest of warnings, doxygen now runs cleanly.
The BTextView::SetText() methods were included twice, update the first and
remove the second.
2013-07-08 19:30:45 -04:00
John Scipione
e724b26f23 Remove enum elaborated type specifier
...from orientation params. Elaborated type specifiers are not needed
for C++ code and removing them makes doxygen happy. Verified working
on both gcc2h and gcc4h builds.
2013-07-08 19:29:11 -04:00
Rene Gollent
5d4ef3e417 TeamDebugger: When stopping after an image load...
...set a stop reason to indicate the responsible image.
2013-07-07 12:56:30 -04:00
Rene Gollent
ea84db9e2f ThreadHandler: allow an optional stop reason to be passed to...
...HandleThreadDebugged().
2013-07-07 12:55:23 -04:00
Rene Gollent
9a14c8a25d Implement configuration for stop on image load with names.
- BreakConditionConfigWindow is now a team listener so it can watch for
the appropriate events.
- Implement reading/maintaining state in response to the various
notifications.
- Implement adding/removing names and enabling/disabling the use of the
name list.
2013-07-07 00:39:04 -04:00
Rene Gollent
cae8421db8 Implement debugger infrastructure for stop on...
...image load with name matching.

- Move the stop on image load setting to Team, along with a new setting
governing the use of the (also newly added) name list.

- Add accessors for maintaining the name list, and events/notifications
for listeners with regards to changes to all stop on image load
settings.

- Adjust user interface listener hooks for additional functionality.
2013-07-07 00:39:04 -04:00
Rene Gollent
adc742c508 Rework layout of BreakConditionConfigWindow.
- Place exception-related settings into their own BBox.
- Add another box for image load-related settings. This will eventually
  allow one to constrain the stop on image load option to limit itself
  to specific image names. Not yet functional.
2013-07-07 00:39:03 -04:00
Rene Gollent
ef2d649d76 ExceptionConfigWindow -> BreakConditionConfigWindow.
Stop on image load removed from BreakpointsView, pending adding it to
BreakConditionConfigWindow with some additional options.
2013-07-07 00:39:02 -04:00
Niels Sascha Reedijk
9cb70c69b6 Update translations from Pootle 2013-07-06 06:14:11 +02:00
Alexander von Gluck IV
53f26450a3 RadeonHD: Bit-bang LVDS for edid
* Older cards have to use the LVDS_Info table,
  newer cards also have an ddc pin for EDID.
* Some buggy sbios don't inject the EDID into
  the vbios as they should
* This corrects hrev45812 as we need to still
  call connector_read_mode_lvds to obtain the
  spread spectrum data for the lvds.
* Call connector_read_mode_lvds, bit-bang the
  connector, choose the best outcome.
2013-07-05 11:53:46 -05:00
Jerome Duval
055a62645e intel_extreme: only init overlay registers
... when memory allocation succeeded.
2013-07-05 16:25:01 +02:00
Rene Gollent
54bd958039 Cleanups, no functional change. 2013-07-05 09:51:44 -04:00
Rene Gollent
193c869185 Style fix. 2013-07-05 08:44:24 -04:00
Rene Gollent
bd503ae4cf Relocate "Stop on image load" option.
Rather than a menu item, it's now a checkbox located in the breakpoints
tab.
2013-07-05 08:41:27 -04:00
Rene Gollent
0635bcc98f Media prefs: layout fixes. 2013-07-04 13:46:29 -04:00
Rene Gollent
3007aa0092 MediaPlayer settings: layout fixes. 2013-07-04 13:44:10 -04:00
Rene Gollent
cd28fb0331 Expander: Fix layout regression.
- Adjust ExpanderWindow to use BLayoutBuilder.
- Adjust content pane layout to explicitly use unlimited size, since
it no longer implicitly gets it due to the recent checkbox changes.
2013-07-04 13:15:21 -04:00
Jerome Duval
575f2f598a intel_gart: fixed bridge detection
... for bridges used with multiple displays.
Should fix #9853
2013-07-04 18:02:43 +02:00
Rene Gollent
5b402aa2a3 Implement #9855.
The Team menu now has a menu item allowing one to tell the debugger to
stop whenever a new executable image is loaded by the debugged team.
This setting is not currently persisted, though that can be changed if
desired.
2013-07-04 10:41:38 -04:00
Alex Smith
e818b9707c Call debug_cleanup() before converting kernel_args to 64-bit addresses, fixes #9842.
In debug_cleanup(), if the debug syslog buffer is disabled (the default when
KDEBUG_LEVEL is 0), then a new buffer is allocated with kernel_args_malloc().
This is done after kernel_args addresses have been converted to 64-bit, so
the address the kernel gets will be 32-bit, resulting in the page fault seen
in #9842. Fixed by moving the call to debug_cleanup() to before
convert_kernel_args().
2013-07-04 13:01:07 +01:00
Rene Gollent
df75e436dd Don't try to read data for output capture if the syscall didn't succeed. 2013-07-04 07:44:45 -04:00
Rene Gollent
3c26fbf06b Fix #9854.
The post syscall debug events used for output capture have an
unfortunate side effect: when asked to debug a thread, the thread is
interrupted, which, if currently blocked in a syscall will cause it to
unblock and send a post syscall event indicating such. However, this
will also absorb the debug stop flag that was set by the initial debug
request, and so we won't actually get the separate event indicating
thread debugged.

Consequently, we now set a pending stop request flag on the
corresponding Thread object, and check if it's set when processing
syscall events. If so, we treat such an event as having triggered a
debug stop even though the received event type is not explicitly
B_DEBUGGER_MESSAGE_THREAD_DEBUGGED.
2013-07-04 07:39:42 -04:00
Rene Gollent
cc6b4a3cb1 Add StopRequestPending field/accessors to Thread. 2013-07-04 07:34:41 -04:00
Rene Gollent
d376554674 BBox: propagate alignment from child for the...
...FULL_{VERTICAL,HORIZONTAL} case.
2013-07-03 23:41:44 -04:00
Jérôme Duval
d3b108c53d virtio_scsi: added to the image.
* device_manager: scans busses/scsi for generic drivers.
2013-07-02 22:48:25 +02:00
Jérôme Duval
e19769d296 virtio_block: replaced __packed with _PACKED 2013-07-02 22:45:08 +02:00
Jérôme Duval
82fda49e52 Virtio: added a driver with basic support for SCSI devices.
* Here is the Qemu command line option for Virtio SCSI devices:
-drive if=none,id=hd,file=haiku.image -device virtio-scsi-pci,id=scsi -device scsi-hd,drive=hd
* virtio_scsi.h is copied unchanged from FreeBSD, except for the _PACKED directive.
2013-07-02 22:44:51 +02:00
Jérôme Duval
46bfab031f virtio: free fDescriptors on VirtioQueue destruction. 2013-07-02 22:30:18 +02:00