Commit Graph

28983 Commits

Author SHA1 Message Date
Ingo Weinhold a2d8979e55 * Made the return value of BObjectList::BinarySearch() non-const.
* Added BObjectList::BinarySearchByKey() methods.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30292 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-21 12:15:42 +00:00
Ingo Weinhold 113a493073 * Removed the non-STL version of the code.
* Removed the _PointerList_ definition -- instead include <ObjectList.h>.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30291 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-21 11:45:19 +00:00
Stephan Aßmus e55653ec19 Small cleanup
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30290 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-21 11:26:11 +00:00
Ingo Weinhold 04eb9ba18e Patch by "VinDuv" (Vincent Duvert?): Added FSShell support for devices on
MacOS X.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30289 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-21 10:21:03 +00:00
Michael Lotz d102012d3a Initialize the device_status field of the CCB. This makes modules using raw
commands work that check this value (like the CDDA filesystem, so audio CDs
work now).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30288 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-21 00:59:24 +00:00
Ingo Weinhold 8b3b05cbf9 Synchronize the TSCs of all CPUs early in the boot process, so system_time()
will return consistent values. This helps with debug measurements for the time
being. Obviously we'll have to think of something different when we support
speed-stepping on models with frequency-dependent TSCs.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30287 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-21 00:38:11 +00:00
Michael Lotz 8c5cccce46 * Explicitly check device selection success. If device selection failed, assume
there is no device. Should fix long reset timeouts when only device 1 is
  present and therefore device 0 can't be selected.
* In case a device reset error is reported, don't try to identify/use the device.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30286 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-20 22:14:02 +00:00
François Revol 72639addbb Absolutely no reason to put BeOS compat symlinks on non x86-gcc2 images.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30285 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-20 20:49:09 +00:00
Philippe Saint-Pierre 23079ac126 Modified the DrawLatch routine to make the latch vertically centered.
* It's particularly notice-able with big fonts.
 * I did put the latch's width and height in constants.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30284 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-20 17:45:39 +00:00
Ingo Weinhold 4f1804a109 * Renamed: MainModel -> Model, MainModelLoader -> ModelLoader
* Some debug cleanup in ModelLoader.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30283 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-20 16:29:27 +00:00
Stephan Aßmus fc235d5599 Patch based in large on work done by Philippe Saint-Pierre:
* When a BApplication is created, the interface kit globals for this team
  are initialized, including be_plain_font, be_bold_font and be_fixed_font.
  The plain font specifically is assumed the default font for all BViews.
  A BView is not required to every set the font, it will then just be the
  plain font, because the app_server already assigned it when the view is
  created. Here is where the problem starts. When the system fonts change,
  they change on the app_server and are picked up by new applications. Old
  applications will run with the old fonts, because the values remain the
  same and are stored in the already initialized be_*_font globals. So this
  was never a problem. What was a problem is that the app_server would use
  the current plain font for applications which were already initialized
  before the font was changed, so the values in their be_plain_font would not
  match the values in the server side font used when creating new views.
* This patch already prepares for the situation in which client applications
  want to update their be_*_font globals. This needs to be a manual act of
  the client applications, otherwise we would break existing apps. Maybe we
  could automate this for BWindows with the B_AUTO_UPDATE_SIZE_LIMITS flag
  and any child views with B_SUPPORTS_LAYOUT.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30282 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-20 15:37:40 +00:00
Ingo Weinhold 65d2b8a8e9 * Introduces VMCache::CanWritePage() returning whether the given cache can
theoretically write the given page.
* page writer: Fixed the incorrect check whether a temporary page can be
  written by using the new CanWritePage().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30281 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-20 15:19:41 +00:00
Philippe Saint-Pierre fe8e2eb13d * fix for coding style violation
Thanks Axel!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30280 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-20 13:05:14 +00:00
Philippe Saint-Pierre 003491a5c1 This patch fixes the way the DefaultDecorator reads its colors
from DesktopSettings.  

It allows you to change the tab color (focused and non focused)
for new windows.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30279 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-20 12:05:07 +00:00
Stephan Aßmus b40fb3c7b9 This patch deactivates accelerated graphics driver functions and also the double
screen height trick for using double buffering with an offscreen half of the
frame buffer. Whenever I run app_server without this patch, it frequently
locks up in weird ways. Additionally, app_server uses less CPU for many graphics
operations, notably the ones that require any blending, ie reading frame buffer.
This should be even more noticable for slow computers. The only draw back is that
slow computers may suffer a bit when just dragging a window, since that is
now performed on the CPU. However, I have high doubts that the benefits don't
outweight the drawbacks, and the feedback I have received indicates that as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30278 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-20 12:01:06 +00:00
David McPaul 3b63cb8a3a style cleanup, hopefully no functional change
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30277 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-20 11:45:27 +00:00
Axel Dörfler 8a26f35a6d * Sequential write accesses were never detected, due to an incorrect check.
* The previous code would have scheduled a single page to be written out (if it
  would have ever been triggered), now we schedule the complete previous write
  access. This greatly speeds up a "dd if=/dev/zero of=test ..." beyond the
  size of available memory.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30276 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-20 08:02:51 +00:00
Rene Gollent 5e172bc680 Removed x86-only restriction on Cortex as it does in fact build on PPC. If there was a different reason it was marked x86-only, please explain and/or revert.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30275 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-20 01:25:43 +00:00
Ingo Weinhold c442235ebd WiP:
* Added an abstraction for getting an BDataIO, DataSource and derived classes,
  which allows to move I/O completely out of the GUI threads.
* Fleshed out application start, window creation, and file loading. We do now
  create a window for every command line argument and load the referenced file
  or, if none, create an empty window.
* Some improvements in the file loader. It does now correctly load the file,
  but doesn't process the stored data yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30274 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-19 23:55:17 +00:00
Ingo Weinhold 4d8d8c1f38 * Added a "reserved" field to the debug event file header to align it to 8
bytes.
* strlcpy() isn't a particularly good string compare function.
* BDebugEventInputStream::_GetData():
  - Also need to reset fBufferPosition to 0 when the buffer is empty.
  - Fixed read position.

BDebugEventInputStream does now actually read the files written by
BDebugEventOutputStream.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30273 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-19 23:44:20 +00:00
Ingo Weinhold 1cdc2fb608 Align the entries in the event buffer to 4 bytes at least. Usually CPUs like
that.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30272 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-19 23:36:59 +00:00
Michael Lotz 14d5277c14 Remove dead code of ATA bus_manager. Note that the new ATA bus_manager now has
it's own target named ata and doesn't reuse the ide name. Because of that we
can also add it to the build by default.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30271 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-19 23:02:54 +00:00
Michael Lotz ca68245eb7 * Wrote a new infoblock header according to ATA/ATAPI-6 that is cleaner and more
verbose than the old one. Removed the latter.
* Put some of the hardcoded values into defines for more clearity.
* Report more detailed device type for ATAPI devices and report removable
  media based on the bit in the infoblock as well.
* Rename the channel ID attributes back to ide to let the hack in scsi_periph
  work that then publishes the devices under the disk/ata[pi] tree.
* Also disable command queueing for ATAPI devices.
* Remove remnants of CHS support.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30270 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-19 22:15:29 +00:00
Axel Dörfler 4f65f5dca0 * Patch by Olivier to fix the function key assignments, a.k.a. as bug #2853.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30269 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-19 21:07:11 +00:00
Axel Dörfler 21543141dd * Applied slightly changed patch by Olivier that adds basic xterm style mouse
support, thanks!
* This probably closes bug #2854, confirmation pending.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30268 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-19 20:59:08 +00:00
Axel Dörfler 728c7f10e1 * Fixed warnings.
* Automatic whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30267 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-19 20:57:33 +00:00
Michael Lotz 5a0bca36e0 Unset the debugger variables before evaluating support to ensure that in case of
error we do not reuse old values from a previous KDL session. This ensures that
we don't try to use a USB keyboard if it was un- and replugged on an unsupported
port.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30266 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-19 17:08:09 +00:00
Michael Lotz 00918d55dd Check if we support debug transfers before returning a pipe for debugging. We
only support UHCI for now. In case transfers aren't possible we therefore don't
make PS/2 keyboards unusable in KDL.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30265 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-19 16:05:47 +00:00
David McPaul 3b6deff377 same change for ata as ide, return a valid dma mode value for idestatus
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30261 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-19 12:46:05 +00:00
Ingo Weinhold 36e787103f Made BDebugEventInputStream::ReadNextEvent() nicer to use.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30260 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-19 11:17:24 +00:00
David McPaul 98b956380c made some changes according to the intel programmers guide. Our get_cpuid needs changes
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30259 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-19 05:02:42 +00:00
Rene Gollent 33befb1eff PPC build fix, thanks to Urias McCullough.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30258 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-19 03:31:13 +00:00
Michael Lotz 2c08a10439 * Wait slightly longer before falling into passive poll mode.
* Cause scheduler invokation when we handled an interrupt as the transfering
  thread can continue immediately. This brings small block transfer rates to
  a comparable level to the old IDE bus_manager. For large block transfers there
  is no speed difference at all.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30257 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-19 00:57:57 +00:00
Michael Lotz 5ea617fad1 Only wait for data request in the PIO case as before.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30256 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-19 00:54:42 +00:00
Ingo Weinhold 3dc9bfd17e Beginnings of a graphical tool for analyzing the output of scheduling_recorder.
Doesn't do anything yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30255 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-19 00:31:03 +00:00
Michael Lotz b6b82488df Apply block count maximum according to device capability. If the device supports
LBA48 we can allow a maximum block count of 65535 as we have a 16bit sector
count field available.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30254 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-18 23:08:44 +00:00
Michael Lotz 6a2bc1027b For packet devices we want to actually return a check condition when the device
indicates an error. Also we then need to pass through the request sense command
to the device. This should fix media status reporting for ATAPI.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30253 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-18 22:37:04 +00:00
Ingo Weinhold 20dbdc7914 Simplified the includes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30252 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-18 21:52:14 +00:00
Ingo Weinhold 1bb436e17f Accidentally removed char.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30251 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-18 21:47:15 +00:00
Michael Lotz 9323901253 Check the result after sending the packet, other error conditions like media
presence will be triggered there and we use FinishRequest() to catch those.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30250 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-18 21:32:00 +00:00
Ingo Weinhold fc9a2f95ea * Refactored the Development optional package into three packages:
- DevelopmentMin: Contains only the stuff that comes with the source tree.
  - DevelopmentBase: DevelopmentMin + common development tools (gcc, binutils,
    bison, yacc,...) -- basically everything needed to build Haiku from the
    sources.
  - Development: DevelopmentBase + Perl + autotools -- the porters' tools.
* Moved "make" from the base image to the DevelopmentMin package. It should
  really be removed from the tree completely and be available as download
  package instead... someday.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30249 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-18 21:26:26 +00:00
Michael Lotz 827f849a34 * Reworked device detection, we'll see how well this works...
* Reworked some of the transfer handling after reading the specs.
* Ensure that the device selection bit is set correctly for all commands.
* Generally disable interrupts and enable them only when expecting a DMA one.
* Renamed disk failure to device fault according to specs.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30248 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-18 20:58:33 +00:00
Joachim Seemer b43891053d * Documented "type ahead" and the new function to Close All in Workspace (ALT+Q)
in tracker.html
* Documented PoorMan.
* Added yasm to the required packages when building Haiku under Linux
* changed every /boot/beos/ to /boot/system/


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30247 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-18 19:05:57 +00:00
Jérôme Duval 161ad3558d added other target architectures (m68k, arm, mipsel).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30246 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-18 18:37:07 +00:00
Ingo Weinhold 2a48ded78b Added a simple tool "scheduling_recorder" that records scheduling information
(as generated by the system profiling interface) to a file for later analysis.
Only the analysis tool is missing, yet. :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30245 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-18 17:41:46 +00:00
Ingo Weinhold 4db202f5f4 Defined a simple file format to store debug event streams as generated by the
system profiling interface and added classes BDebugEvent{Input,Ouput}Stream for
reading/writing those files.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30244 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-18 17:38:21 +00:00
Ingo Weinhold 5b2f0f33f9 * Changed the interface of _kern_system_profiler_start(). The parameters are
passed in a structure now, so it is easier to extend it and ignore unused
  parameters.
* One can now select which system profiling events one is interested in.
* Added scheduling events to the system profiling interface. Those are pretty
  much the ones recorded when scheduler tracing is enabled. Still missing are
  the "wait object" events that allow to interpret what a thread is waiting
  for.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30243 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-18 17:35:28 +00:00
Ingo Weinhold 79257a4ad6 Added a listener mechanism to the scheduler (ATM only for scheduler_simple).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30242 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-18 17:24:58 +00:00
Rene Gollent a7e67ab3f2 gcc4 build fix by Maxime Simon. Resolves ticket #3786. Thanks!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30241 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-18 16:58:28 +00:00
Rene Gollent e451292ccd Patch by Matt Madia: Update to a newer (and Haiku-native) NetSurf build using the new libhubbub HTML parser. This should also fix the conflicts seen between Netsurf and BezillaBrowser optional packages, and closes tickets 3785 and 3449. Thanks!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30240 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-18 15:40:13 +00:00