Commit Graph

46103 Commits

Author SHA1 Message Date
Axel Dörfler
0c9bc63e5c app_server: added more debug output on screen change problems. 2013-05-27 21:54:14 +00:00
Jérôme Duval
e6373bb39d virtio_pci: build not only for x86. 2013-05-26 19:58:54 +02:00
Jérôme Duval
78b461d6a1 Merge branch 'virtio' 2013-05-26 17:12:25 +02:00
Jérôme Duval
6bbf9c9da9 Virtio: added drivers for PCI busses, bus manager and block device.
* the Virtio PCI bus driver exposes a Virtio controller to the Virtio bus manager,
which in turn exposes a Virtio device consumed by Virtio drivers. Drivers follow the
new driver model.
* virtio_block handles Virtio block devices under disk/virtual/virtio_block/x/raw.
* Here is the Qemu command line option for Virtio disk devices:
  -drive file=haiku.image,if=virtio
* the PCI bus driver currently supports only legacy interrupts (no MSI(-X) yet).
* There is room for improvements in the bus manager:
  - it notifies the host for each queued request, which isn't optimal.
  - transfer descriptors should probably be simply preallocated (they are nicely
    leaked at the moment).
  - indirect descriptors are not supported yet.
and in the block driver:
  - get the id of the disk.
  - implements flushing the cache.
  - improves dma restrictions.
  - do_io() should use a page for header descriptors instead of malloc(), which
    could cross boundaries.
* The device manager tries to guess the driver based on the PCI device type, this
implies having to declare the "busses/virtio" path for each possible type
provided by Virtio. Thus future driver additions might require patching the device
manager.
* virtio.h is still private, the API is subject to changes.
* virtio_pci.h, virtio_blk.h, virtio_ring.h are copied unchanged from FreeBSD.
2013-05-26 17:02:50 +02:00
Jérôme Duval
3aae21ab63 virtio: integrate into the build and image
* device_manager: scans busses/virtio for network device types
  and scsi controllers.
2013-05-26 16:05:53 +02:00
Siarzhuk Zharski
a5862816b1 Jamfile/makefile-engines:replace -nostart with -shared
Starting from our GCC 4.7.3 the shared library -nostart option is not
valid anymore. Replace it with -shared one that works in GCC2 build
environment too.
2013-05-26 12:42:46 +02:00
Siarzhuk Zharski
5c190736fd ICNS/JPEGTranslators: add Jamfile deps to lib headers
* Add Jamfile dependency to LIBPNG headers on icns_png.c;
* Add Jamfile dependency to LIBJPEG headers on JPEGTranslator.cpp
  be_jdatasrc.c
2013-05-26 09:07:19 +02:00
Niels Sascha Reedijk
3410c916d7 Update translations from Pootle 2013-05-25 06:13:03 +02:00
Murai Takashi
1cabed5eee fix self-inited fTransparentMode, closing #9788.
Signed-off-by: Philippe Houdoin <philippe.houdoin@gmail.com>
2013-05-24 10:16:49 +02:00
Philippe Houdoin
8683f5d4ee Quick style polishing... 2013-05-24 10:11:53 +02:00
Murai Takashi
de6f4cc900 fix self-inited fTransparentMode, closing #9788.
Signed-off-by: Philippe Houdoin <philippe.houdoin@gmail.com>
2013-05-24 10:04:49 +02:00
Murai Takashi
4e370115ac GIFTranslator: fix incorrectly initialized fTransparentMode
Signed-off-by: Philippe Houdoin <philippe.houdoin@gmail.com>
2013-05-24 09:45:46 +02:00
Philippe Houdoin
415962e25f Add an unittest for if_nameindex to network kit tests pool 2013-05-24 09:44:41 +02:00
Siarzhuk Zharski
7c8e63e171 Terminal: fix handling utf-8 characters in OSC commands
Process the Operating System Control command in multibyte-aware way.
That fixes corresponding behavior for latest versions of Midnight
Commander;
2013-05-23 20:35:21 +02:00
Siarzhuk Zharski
3bbef9dd76 Discard Termcap and switch console apps to use Terminfo
* Switch bash, debugger, less, telnet[d] and top apps to use termcap
  functionality provided by ncurses lib instead of GNU libtermcap.so;
* NetBSD version of tput utility replaced with ncurses' one. Fixes #9606;
* terminfo database is provided as mandatory package installed during
  building target system;
* Remove libtermcap module. The termcap database source and
  corresponding build rules are not removed to provide backward compatibility -
  until all optional packages will be rebuild on upcoming system version
  using terminfo. Note that gcc2 builds may require to provide termcap a bit
  longer in the sake of binary compatibility with R5 era apps.
2013-05-23 14:07:50 +02:00
Pawel Dziepak
6c9c8a037c vm: fix area insertion logic
* When looking for a place for new area the size of the area to be
   inserted instead of the next area size was used to check whether
   we are already past the upper bound.
 * There was an attempt to insert area even if we were past the
   upper bound.
2013-05-22 19:31:26 +02:00
Pawel Dziepak
07e1875ea2 libroot: explicitly check ABI version
As Axel suggested use simple, explicit checks for legacy ABI version
instead of obscure "compatibility mode".
2013-05-22 19:31:05 +02:00
Rene Gollent
325f7bb4ec Show correct type in case a typecast has taken place. 2013-05-21 17:37:50 -04:00
Rene Gollent
e312ed26ef Add "Cast to array" context option.
Implements a simple context shortcut allowing to cast a pointer variable
directly to a 10-element array of the type it points to. Resolves #9778.
2013-05-20 19:03:55 -04:00
Rene Gollent
f297d6591d Relax range setting constraints for arrays.
- VariablesView now detects if a container's range is fixed or not,
and uses that to adjust both the prompt it displays and whether or not
the parsed ranges are bounds checked.
- ArrayValueNode now returns the currently user-set range rather than
the dimension constraints, since those might not always be accurate.
2013-05-20 19:03:53 -04:00
Rene Gollent
570241e8b7 Extend ValueNode interface for ranged containers.
Add an IsContainerRangeFixed() hook which specifies whether or not
the container in question can only display elements within a fixed
lower/upper bound, i.e. B{Object}List.
2013-05-20 19:03:52 -04:00
Gediminas Jarulaitis
a8e846d0f4 fixes errors compiling netfs and netfs_server with gcc-4.7.3
Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>
2013-05-20 12:55:26 +02:00
Rene Gollent
6b308faf1e Implement #9777.
- Introduce class BreakpointProxy which acts as a container for
either a breakpoint or a watchpoint. BreakpointsTableModel now stores
a single list of these rather than separate Breakpoint/Watchpoint lists.
- Switch BreakpointListView to allow multiple selection mode, and
consequently change selection/listener interfaces to use a list of
BreakpointProxy objects. Adjust implementors accordingly.
- Rework breakpoint list columns to better mesh with a unified display
of breakpoint and watchpoint information.
- Add an input filter to handle removing breakpoints when the delete
key is pressed.
2013-05-19 21:38:59 -04:00
Rene Gollent
74875a2e90 Revert changes to coreutils kill.c...
..introduced by cc2c83fa5c and subsequent
cleanups. Instead, patch bash's builtin kill directly to handle the kill
by name functionality. Fixes #9687 and reintroduces the ability to kill
jobs.
2013-05-18 10:20:39 -04:00
Niels Sascha Reedijk
81abe2a6a3 Update translations from Pootle 2013-05-18 06:13:35 +02:00
Rene Gollent
d51ab41d49 Fix oversight in set visible range support.
Detect the case where we have a pointer to an array type, as seen
when typecasting a pointer to an array, and present the set visible
range option for these as well.
2013-05-17 22:06:04 -04:00
Rene Gollent
c05a041eac Add Type column to VariablesView. Resolves #9779. 2013-05-17 20:43:10 -04:00
Rene Gollent
c81a7bda64 Refactor DIE name resolution.
Factor out DwarfUtils::GetDIETypeName(). Make use of it for both
Subprogram parameters and modified types in general. Resolves TODO.
2013-05-17 20:43:09 -04:00
Rene Gollent
d1a797e6cd Add context action to open source file to SourceView.
Implements #9776.
2013-05-17 19:59:35 -04:00
Rene Gollent
ed6d6081c1 Implement "Set next statement".
Adds a context menu command allowing the user to specify that the active
thread should be set to execute the specified statement next, by
updating its instruction pointer. Implements second part of #9709.

Note that care needs to be taken with this feature for now, as it
doesn't yet sanity check the requested address. Setting the target
to e.g. a statement in an entirely different function is likely to have
unpredictable/unstable effects on the debugged program.
2013-05-16 22:44:37 -04:00
Rene Gollent
c21b8ec703 Extend DebuggerInterface.
- Factor out an _GetDebugCpuState() call to share between
{Get,Set}CpuState().

- Add SetCpuState() which allows to update the state of a given thread.
2013-05-16 22:22:48 -04:00
Rene Gollent
93b54e54a4 Add MSG_THREAD_SET_ADDRESS and implement handling. 2013-05-16 22:22:47 -04:00
Rene Gollent
fe3e87c2a8 Extend CpuState interface.
- Add SetInstructionPointer() to allow an outside updates.
- Add Clone() to request a duplicate of the current state object.
- Add UpdateDebugState() to take a debug cpu state structure matching
the current architecture and update its registers with the values from
the cpu state object.
2013-05-16 22:22:45 -04:00
Jérôme Duval
21f6b3ea28 agp_gart: switch to phys_addr_t as suggested by Urias and Axel.
* this is a follow-up to hrev45621
2013-05-16 19:01:33 +02:00
Rene Gollent
3938bea1dc Rework source path parsing.
- As we parse the image's function list, we now track the last source
file we encountered. If it's the first time we encounter the current
file, we parse its source path components up front and then simply walk
the parsed list in order to add the function to its appropriate place in
the model, rather than the previous recursive approach.  This allows us
to reuse the parsed component list for subsequent functions in the same
source file rather than having to reparse the path on every iteration.

- Refactor GetFunctionPath() to make use of the new
_GetSourcePathComponents() parsing function.

Should further improve the time needed to change the active image.
2013-05-15 21:10:57 -04:00
Rene Gollent
66b86c6aee ImageFunctionsView: Switch back to NotifyNodesRemoved(). 2013-05-15 20:18:05 -04:00
Rene Gollent
5d8c967fac VariablesView: Switch back to NotifyNodesRemoved(). 2013-05-15 20:18:05 -04:00
Rene Gollent
1d897b8a54 Remove NotifyNodesCleared() again.
- For various reasons this one can be error prone, since it relies on
the model being able to provide the correct row count, which won't be
the case if the subclass calls it after having already removed all its
nodes.

- Optimize Table's RowsRemoved() similarly to TreeTable's for the remove
all rows case.
2013-05-15 20:18:04 -04:00
John Scipione
01636e8f2a Adjust menu field's menu bar height in auto mode
On IRC diver pointed out to me that KeymapSwitcher had a menu field that
was drawing as just a line since my recent change to BMenuField. I did a
little research and discovered that this was because the menu field in
KeymapSwitch was not using the layout APIs and it's frame rect was set to
0 height.

I did a little more research and experimented with menu fields in
BeOS R5. I discovered that in R5 if the menu field is set to auto-size
mode then the menu bar inside ignores the height of the menu field frame
and uses the BMenuBar's preferred height instead.

So, I adjusted the BMenuField code in Haiku accordingly. This should make
Haiku match the behavior of BeOS R5 in auto-size mode. For fixed-size mode
it should also work the same, although some more testing is needed to
see if there are any regressions there.
2013-05-15 20:05:38 -04:00
Rene Gollent
ad6158096c VariablesView: Use Notify{NodesCleared,TableModelReset}(). 2013-05-15 19:22:25 -04:00
Rene Gollent
f3bf3eb0d4 Cleanups/optimizations for ImageFunctionsView.
- Get rid of the functions array as we no longer really needed it except
to sift duplicates. The latter function is now done simply by keeping a
set of already seen function addresses, and skipping entries which fall
in said category.

- Use NotifyNodesCleared()/NotifyTableModelReset() as appropriate.

- Remove now-unused sorting functions.

Combined, these changes significantly reduce the overhead of switching
the active image, which was produced observable lag when either choosing
another image in the Images list, or when stepping into/out of a
function resulted in an image change.
2013-05-15 19:22:24 -04:00
Rene Gollent
6132f7b96d Extend Table/TreeTable's interface.
- Add NotifyNodesCleared() hook to table model as a shortcut for
removing all rows.

- TreeTable::_RemoveChildRows() now recognizes the special case of the
above and optimizes it by calling BColumnListView::Clear() rather than
removing each row individually.

- Add TableModelReset()/NotifyTableModelReset(). This notification is
used to tell the underlying table that a full rebuild is needed due to
the model changing completely.
2013-05-15 19:22:23 -04:00
Philippe Houdoin
89e83cf613 Style cleanup and fix a possible endless loop 2013-05-15 19:46:30 +02:00
Philippe Houdoin
44908fe8c5 if_nameindex() wasn't retrieving interface index. Fixed #9770 2013-05-15 08:40:31 +02:00
John Scipione
7aae876a79 Terminal: Move secondary windows back in screen
For the Window title and tab title edit windows there was already code used to
move a window that had gone out of the screen frame back in.

I generalized this code by turning it into a _MoveWindowInScreen() method
and then called it in 3 places, the original 2 cases as well as the Find window.
We might want to move this method into BWindow if this is something we'd like
to use it for windows in other applications, but this solves the problem in Terminal
for now.
2013-05-14 19:53:31 -04:00
John Scipione
a2575bd8da Terminal style fix, spaces around binary operator 2013-05-14 19:53:31 -04:00
Pawel Dziepak
5d0a1da8bf libroot: make all areas executable for old binaries
* If at least one image is either B_HAIKU_ABI_GCC_2_ANCIENT or
   B_HAIKU_ABI_GCC_2_BEOS almost all areas are marked as executable.
 * B_EXECUTE_AREA and B_STACK_AREA are made public. The former is enforced since
   the introduction of DEP and apps need it to correctly set area protection.
   The latter is currently needed only to recognize stack areas and fix their
   protection in compatibility mode, but may also be useful if an app wants
   to use sigaltstack from POSIX API.
2013-05-15 00:06:39 +02:00
John Scipione
37848383ca Terminal: Center Find window in term window frame
... instead of positioning it under the mouse pointer as suggested
by Axel.
2013-05-14 17:38:17 -04:00
Axel Dörfler
90f195890f bfsinfo: Added double indirect block output. 2013-05-14 22:47:48 +02:00
ahenriksson
c9e66680b9 Incorrect checking of already set double indirect blocks
Wrong variable usage in inner loop caused some double indirect stream
runs to be checked twice when block size was smaller than
DOUBLE_INDIRECT_ARRAY_SIZE, while some were incorrectly marked as
unallocated in the bitmap.

Signed-off-by: Axel Dörfler <axeld@pinc-software.de>
2013-05-14 22:13:50 +02:00