Commit Graph

13332 Commits

Author SHA1 Message Date
Ingo Weinhold
3b36b30fef * Made vm_alloc_virtual_from_kernel_args() available to other kernel
parts, too. Fixed a potential overflow.
* The generic physical page mapper reserves the virtual address range
  for the IO space now, so that noone can interfere until an area has
  been created. The location of the IO space is no longer fixed; it
  didn't look to me like it was necessary for x86, and we definitely
  need to be flexible for PPC.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15855 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-07 17:37:21 +00:00
Ingo Weinhold
a71974c1f8 Pulled the algorithm for dynamically mapping physical pages into an
"IO space" out of the x86 specific source into arch/generic. We'll use
it for PPC as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15853 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-07 03:13:42 +00:00
Stephan Aßmus
1e1b86ef54 * make sure that fTopLayer is NULL when the top layer is deleted
* make sure layers are removed from the token space when the
  WindowLayer is deleted


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15852 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-06 17:17:54 +00:00
Stephan Aßmus
fb82d189d0 * BWindow deletes its view hirachry
* BViews set fOwner to NULL recursively when detached
* updated a comment


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15851 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-06 17:14:58 +00:00
Axel Dörfler
23ae1e249f Added drag&drop support, some cleanup - courtesy of stippi.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15850 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-06 11:49:06 +00:00
Stephan Aßmus
71d2531d52 terminate_program() is now actually called - forgot to commit this before...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15849 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-06 11:09:44 +00:00
Stephan Aßmus
34a9556215 Made our glue code compatible to BeOS again. IOW executables compiled for Haiku will
now run under BeOS as well (as long as they don't use any functions that are not
available under R5).
The solution is a bit messy, but we have to live with it :-)
The runtime loader now patches the __gRuntimeLoader symbol in libroot.so to point
to its exported structure instead of passing it to the init functions as an
argument.
(Hax0red by axeld and bonefish on stippi's assimilated machine -- resistence is futile)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15848 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-06 03:48:11 +00:00
Stephan Aßmus
269293b0ea Selected objects can be removed with the delete key.
Added testbed for BTabView.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15847 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-05 23:51:23 +00:00
Stefano Ceccherini
a041f6e8f6 Fixed a couple problems in the time keeping mechanism, which got broken lately. Done in tandem with Korli
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15846 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-05 16:03:22 +00:00
Jérôme Duval
8f9f676b46 we don't use atomic_get64 to read a read-only area, not authorized and throw a VM fault
this fix #83 partially


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15845 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-05 15:09:50 +00:00
Stefano Ceccherini
3b39bd1d07 slightly better layout, the left view accomodates its width to fit the controls. The boxes inside it don't, yet.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15844 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-05 13:41:20 +00:00
Stefano Ceccherini
7898383a8a Implemented AS_CREATE_PICTURE, started cleaning up Picture.cpp
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15843 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-05 10:27:29 +00:00
Stefano Ceccherini
8f3f25cf63 Merged the four AS_LAYER_DRAW_BITMAP handlers into just one handler
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15842 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-04 12:15:58 +00:00
Stefano Ceccherini
448641c5c1 Fixed all the warnings in Chart. This app is still VERY font-insensitive and it doesn't do ANY error checking, but I won't fix it. At least, not now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15841 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-04 10:14:02 +00:00
Stefano Ceccherini
9c0c899e7d Added a copy constructor to ServerPicture. ServerPicture's constructors are private now, and can be called only from ServerApp (friend). Changed BList to a stl::stack which is better suited as a stack... Changed ServerApp::CreatePicture() to accept a picture to clone, instead of passing back a token which was never used anyway.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15840 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-04 09:49:47 +00:00
Jérôme Duval
ebc8a403e5 Installer makes use of FSCopyFolder in libtracker.so
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15839 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-04 07:57:21 +00:00
Stefano Ceccherini
ee6bcb7d78 Initial support for recording (some, for now) drawing events into a BPicture
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15838 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-04 07:30:38 +00:00
Ingo Weinhold
e55e1a0e66 Implemented the PPC specific RTC support. We search for an "rtc"
device in the Open Firmware implementation of boot loader and
pass its path to the kernel, where it's opened and used for
getting/setting the real time. The expensive atomic_*64() on PPC
32-bit make things a bit more complicated. Moreover, missing
64 bit multiplication and division instructions won't really
allow system_time() to be anywhere near as fast as on x86. :-/


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15837 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-04 04:55:04 +00:00
Ingo Weinhold
850f611735 Fixed GCC4 build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15836 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-04 02:35:12 +00:00
Ingo Weinhold
09bb4e9ac5 The real_time_data structure contains an architecture specific
substructure now (that's the only member actually). The system time
offset is therefore accessed via architecture specific accessor
functions.
Note, that this commit breaks the PPC build. Since I want to rename at
least one file I've already changed, I can't avoid that.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15835 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-04 02:17:59 +00:00
Axel Dörfler
3a6add495c Enabled Deskbar add-ons. They don't work that good, but they don't crash
the Deskbar anymore. It's still disabled for the libbe_test build, though
(as it will find incompatible add-ons via queries there).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15834 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-04 00:28:11 +00:00
Axel Dörfler
ab364a18e9 * Removed a superfluous SetMouseEventMask() in the Slider constructor (at least
it was good enough to fix SetMouseEventMask() to no longer drop into the debugger).
* Minor cleanup, renamed member variables to comply with our style guide.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15832 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-03 23:28:23 +00:00
Axel Dörfler
a6dd420a2b It's okay that SetMouseEventMask() doesn't do anything when called outside
BView::MouseDown() - or when it's not attached to a view - but it shouldn't
drop into the debugger in either case.
This fixes the desklink volume slider.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15831 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-03 23:14:34 +00:00
Axel Dörfler
41d9fd9ce4 Improved debug output in case adding the volume tray icon failed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15830 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-03 22:59:23 +00:00
Axel Dörfler
fc62f08d8a * Fixed BView::_SetShelf(), it did not remove a previous shelf.
* Fixed BShelf::_AddReplicant(), at least a bit. I managed to add the "ScreenChanger"
  icon to the tray, although the icon was not drawn, and it was on the wrong
  position.
* _AddReplicant() also did not reply to the waiting message source in case
  of failure.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15829 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-03 21:56:26 +00:00
Axel Dörfler
4eeeeea969 * watch_node() now returns B_BAD_VALUE if it's used with a NULL node and
flags unequal B_WATCH_MOUNT/B_STOP_WATCHING set.
* Changed watch_node() and stop_watching() to be messenger based instead
  of handler/looper - that greatly simplifies the code.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15828 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-03 18:02:56 +00:00
Ingo Weinhold
d9a5e6050f Pulled the conversion between seconds since the epoche and the split up
(year, month,...) representation out of the x86 specific code and put
respective support functions into real_time_clock.c. We'll need those
for the PPC specific part too.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15827 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-03 17:26:37 +00:00
Stefano Ceccherini
b41356006a Implement AS_CLONE_PICTURE handler, needed to copy bpictures server side. Not tested yet
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15826 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-03 16:41:00 +00:00
Ingo Weinhold
27ceaeaccc Renamed arch_real_time_clock.c to arch_real_time_clock.cpp in
anticipation of the things to come. :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15825 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-03 16:34:41 +00:00
Ingo Weinhold
7afa713acb Reorganized the boot platform dependencies in the kernel a bit.
Basically the architecture specific code is now responsible to
init and make use of the platform specific code, now. The reason
being that we have only one kernel per platform and thus cannot
decide at compile time, which platform to use (if any).
The PPC implementation features an abstract base class PPCPlatform
(implemented for all supported platforms) through which platform
support is provided.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15824 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-03 16:26:39 +00:00
Axel Dörfler
a342fafcf4 Undo 15810 again; it messed up the window lists (as WindowLayer::InWorkspace() and WindowLayer::Workspaces() must be in sync).
Might reveal other problems in this area, that are worth looking into.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15823 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-03 16:12:52 +00:00
Axel Dörfler
696e72709e The debug_server now uses the standard terminal for debugging - we no longer
need MiniTerminal, it's no longer included in the image.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15822 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-03 14:50:39 +00:00
Axel Dörfler
0d5dea62de * Setting the window title via "-t" now works.
* Improved error message in case the initial shell couldn't be executed.
* Disabled setting the colors via arguments, mostly because it just did quit
  the app in case there were any arguments and no /etc/rgb.txt file. This
  allows Terminal to be used by the debug_server instead of MiniTerminal.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15820 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-03 14:24:43 +00:00
Stefano Ceccherini
5b0c0d601d we don't need this hack anymore
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15819 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-03 13:53:29 +00:00
Stefano Ceccherini
cba9e9ece6 Moved picture handlers to DispatchViewMessage, otherwise they are never called as the view can be hidden
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15818 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-03 13:49:20 +00:00
Ingo Weinhold
716a16ce61 * Find out a few interesting information about the system (like CPU,
bus, and time base frequency) in the PPC boot loader, and propagate
  them to the kernel via kernel_args.
* Now we use the correct time base frequency for timer calculations.
* Implemented PPC specific system info stuff. Added a few PPC CPU
  types to <OS.h>.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15817 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-03 13:30:23 +00:00
Stefano Ceccherini
1c33148d10 Implemented handlers needed for Begin/EndPicture, and a handler for DrawPicture().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15816 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-03 12:44:29 +00:00
Stefano Ceccherini
a1a73d28be Force a Sync() in DrawPicture() instead of expecting a reply. Looks more correct
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15815 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-03 12:41:56 +00:00
Stephan Aßmus
0de2f00de7 updated some comments
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15814 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-03 12:07:11 +00:00
Axel Dörfler
cf48970b0f Initial workspace is a bad idea after all - why should debug alerts always open
on workspace 1 just because the system booted in that workspace? :-)
Now modal windows are opened on the current workspace.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15813 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-03 11:55:15 +00:00
Axel Dörfler
843bc3cd0d * Introduced an initial application workspace - should be retrieved differently,
though (ideally when launched).
* B_MODAL_APP_WINDOW_FEEL windows are now visible on the initial app workspace
  in case it has no other window visible. This fixes the missing BAlerts in
  the debug_server or just the "alert" command. Thanks to Stephan for pointing
  this out.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15811 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-03 11:39:03 +00:00
Axel Dörfler
574af5597c Floating windows start with 0 workspaces - probably didn't matter, though, as
freshly added windows are hidden anyway.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15810 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-03 11:36:45 +00:00
Stefano Ceccherini
69706266c5 Added SetPicture and Picture() to ViewLayer
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15809 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-03 10:30:08 +00:00
Stephan Aßmus
7324b0ceb8 invisible views are not allowed to draw
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15808 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-03 10:19:20 +00:00
Stefano Ceccherini
82b37bb257 Replace our current ServerPicture implementation with the one from Marc Flerackers. Currently it doesn't do anything as I commented out or removed most code, but it shows what we need to do
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15807 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-03 09:29:22 +00:00
Axel Dörfler
5edcfe9619 Cleanup!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15806 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-03 09:23:08 +00:00
Axel Dörfler
a31ddcb397 Forgot to include this in the last commit: added big endian support to R5 format.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15805 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-03 09:22:27 +00:00
Axel Dörfler
5c7f87685e Added big endian support for R5 messages, minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15804 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-03 09:21:35 +00:00
Axel Dörfler
f4a73641e0 Imported current OpenTracker Deskbar: it can now start apps (and show the
"About Haiku" window) without having Tracker running.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15803 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-03 08:38:28 +00:00
Stefano Ceccherini
20c2f67293 Added Create/DeletePicture to ServerApp
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15802 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-03 08:08:20 +00:00
Stephan Aßmus
39e8aac151 implemented a "new" look for the BTabView, it is actually
a mix of the liblayout look (I hope Marcus doesn't mind)
and BMenuFields. I will have to clean up after myself one
day and calculate the tab rects properly instead of drawing
far out of the right side of tabs and adding a weird offset
to the label rendering and other places...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15801 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-02 18:15:30 +00:00
Stephan Aßmus
fd7d912ff6 * round of baseline position for DrawString()
-> fixes some clipping problems (because of
  hinting, the text was displayed at a rounded
  position anyways, but the clipping calculation
  was screwed up)
* take the drawing_mode and low color from the
  current state for drawing line arrays


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15800 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-02 18:11:15 +00:00
Stefano Ceccherini
4d2cd8d601 Converted binary resource to rdef format
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15799 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-02 15:46:34 +00:00
Stefano Ceccherini
598ed29546 Remove debug output
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15798 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-02 15:11:11 +00:00
Stefano Ceccherini
bf9071ee27 SupportsWindowMode now always return true, at least for the moment. Chart works with DirectWindow in window mode even with the vesa driver
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15797 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-02 15:10:43 +00:00
Stefano Ceccherini
3a9c608b2f forgot to commit Jamfile
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15795 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-02 15:09:24 +00:00
Stefano Ceccherini
be51f21d8a Added chart demo
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15794 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-02 15:09:03 +00:00
Stefano Ceccherini
8e64a82404 Added a sort of hack which allows BPictureButton not to hang the app. Strangely, dereferencing a NULL pointer hangs the app instead of crashing it
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15793 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-02 14:49:27 +00:00
Stefano Ceccherini
a5e82db05a Commented out AS_LAYER_***_PICTURE handlers, as they don't do anything and can block the client
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15792 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-02 13:09:59 +00:00
Axel Dörfler
37675ea580 Deleted ranges were never removed from the ranges hash... this could have finally
nailed down bug #77.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15791 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-02 13:09:42 +00:00
Stefano Ceccherini
80be55c442 Some fixes, sort of fixed client side communication code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15790 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-02 13:07:22 +00:00
Stephan Aßmus
21625cdc1b fix checks for when to draw something
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15789 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-02 12:45:07 +00:00
Axel Dörfler
4faa23ccb3 Minor fix, closes bug #81.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15788 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-02 12:17:14 +00:00
Stefano Ceccherini
3edb84e5ed DirectWindow and ServerLink updated to the new ClipRegion, as I'm tired to edit them every time. Only for the test app.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15787 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-02 10:02:51 +00:00
Stefano Ceccherini
f2da9e4e06 Avoid setting the value when clicked outside the color ramp area, but still inside the view's bounds. Unfortunately this also 'hides' the bug mentioned in the previous commit. Now it calls SetTracking() on mousedown/up, so that an eventual subclass can check the tracking status
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15786 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-02 09:07:27 +00:00
Stefano Ceccherini
264767162c Avoid setting the value if it's the same as the current one. Sometimes the bitmap was drawn at the wrong position. BTW looks like sometimes the event mask set with SetMouseEventMask() isn't resetted when a MouseUp occurs. In fact, sometimes when I click on the window decorator (in Backgrounds), I still get MouseUp/Down event for the ColorControl
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15785 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-02 08:16:22 +00:00
Alexander G.M. Smith
8e34360a9c Fixed it up so it now compiles for R5 and Haiku. Don't know about
BONE or DANO, and I'm pretty sure it won't work in Zeta!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15784 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-02 04:37:47 +00:00
Ingo Weinhold
c8cd524c67 * Refactored arch_vm_translation_map_init_post_area() a bit: Pulled out
remapping stuff into separate functions and made them available to
  others.
* Remap the exception handler space in arch_int_init_post_vm() into the
  kernel address space (same issue as with the page table).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15783 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-02 03:30:58 +00:00
Ingo Weinhold
835fb10b16 Added of_exit and of_enter KDL commands.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15782 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-02 02:30:31 +00:00
Ingo Weinhold
ee4bf34dd0 Forgot to commit. Added symbol marking the begin of the boot loader.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15781 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-02 02:03:37 +00:00
Ingo Weinhold
a1bcf2c880 * The OF memory management callback is now set in arch_mmu_init().
According to the spec we need to set it before taking over the MMU,
  but we can't call it before arch_mmu_init(), since we need the OF
  to allocate the page table. So we do it after we have allocated
  the new page table.
* Added PPC specific kernel_args: The virtual address ranges we want
  to keep in the kernel. We fill that in with the translations we
  find when initializing the MMU stuff. We remove the memory the
  boot loader occupies from those. Besides the stack for the boot
  loader only the OF stuff remains.
* arch_mmu_allocate() now starts to search at KERNEL_BASE for a free
  virtual address when no particular address is requested. This saves
  us further trouble in the kernel, since those allocations would
  need to be remapped otherwise.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15780 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-02 01:56:37 +00:00
Stephan Aßmus
35cf9ee250 remove left overs
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15779 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-02 01:05:42 +00:00
Stephan Aßmus
e067fed541 Decorator::ResizeBy tells you the dirty region, DefaultDecorator::Draw() pays attention to the update rect, small clean ups along the way
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15778 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-02 01:03:31 +00:00
Stephan Aßmus
3155f89a0c blame SaveToPNG for not handling other colorspaces
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15777 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-02 01:00:12 +00:00
Stephan Aßmus
e644f39677 thought I would accelerate taking a screen shot, but it turned out I slowed it down, but I have yet to test this on Haiku somehow. The new code is commented out
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15776 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-02 00:58:37 +00:00
Alexander G.M. Smith
deb238df7d Tried to get MDR to compile under Zeta RC3 but to no avail, with lots of
brick wall collisions.  Along the way I found a few defines that no longer
exist in Haiku - changed B_BEOS_VERSION_DANO to use Haiku versions (anyone
rebuilding under Dano might want to undo it).  By the way, the BeOS version
number define system might be worth using, since it's a numerical compare
rather than #if defined(V1) || defined (V2) || defined (V3) and so on.

What sort of errors?  Besides needing libzeta.so for some things, the
networking compatibility compile doesn't work (libbind and all that).
Some examples among many:

In file included from /boot/home/Haiku/src/kits/mail/numailkit.cpp:14:
/boot/develop/headers/be/support/Autolock.h:3: using directive `BAutolock' introduced ambiguous type `BAutolock'

In file included from /boot/home/Haiku/src/kits/network/compat/libnet/netdebug.c:6:
/boot/home/Haiku/headers/private/net/netdebug.h:32: syntax error before `void'


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15775 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-01 23:59:24 +00:00
Axel Dörfler
7da062312a Imported Deskbar from OpenTracker-current.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15774 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-01 23:40:49 +00:00
Ingo Weinhold
10a83ac31f * Added tlbia() and tlbie() macros. Replaced ptesync() by ppc_sync();
the fact that I couldn't find ptesync in an otherwise more complete
  documentation I downloaded yesterday made me suspicious.
* arch_cpu_global_TLB_invalidate() uses tlbia now. The instruction is
  optional, but so is tlbie (how I understood it is that both exist,
  when the architecture implementation has a TLB). And the former loop
  looked just scary.
* Implemented arch_cpu_user_TLB_invalidate(). It does just the same as
  arch_cpu_global_TLB_invalidate().
* Some changes with respect to synchronization required on page table
  and segment register updates.
* Some more minor renaming. Pulled a new function
  remove_page_table_entry() out of unmap_tmap().
* In arch_vm_translation_map_init_post_area() we do now remap the page
  table into the kernel address space, if it was without before. The
  page table might actually be a good application for BAT, though.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15773 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-01 21:40:27 +00:00
Ingo Weinhold
b019d8c5f3 * Renamed the static variables according to Haiku conventions.
* Renamed occurrences of ASID/asid to VSID/vsid where appropriate.
* vm_translation_map_arch_info::vsid_base is now the first usable
  VSID and doesn't need to be shifted anymore.
* Changed the VSID base shift from 4 to 3, since we need only 8 VSIDs
  per team.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15772 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-01 16:15:04 +00:00
Ingo Weinhold
8761241015 * Fixed calculation of num_pages. It came out one too small.
* Fixed several off-by-one comparisons with num_pages.
* vm_alloc_virtual_from_kernel_args() now makes sure the allocated
  region lies within the kernel address space (or is at least
  >= KERNEL_BASE).
* Simplified one or two patches.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15771 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-01 15:23:31 +00:00
Ingo Weinhold
5b35f4211e Implemented arch_debug_serial_getchar(), so we can even type something in
KDL. :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15770 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-01 15:09:11 +00:00
Ingo Weinhold
b9b301b6c8 * Replace the arch_cpu_global_TLB_invalidate() sledge hammer in
fill_page_table_entry() by a ptesync(). Mapping the kernel heap
  took about 2 minutes here before.
* Added missing shift of the asid_base in ppc_translation_map_change_asid().
* Commented out the BAT stuff in arch_vm_translation_map_init_post_area().
  Besides that I think it won't work that way, it made the page table
  unaccessible; though I'm not sure why.
* Added a bit of documentation to the beginning of the file. Should give
  enough information to understand what happens here without further
  detailed knowledge about the architecture.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15769 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-01-01 15:07:53 +00:00
Axel Dörfler
e075b5a32e Added some debug helper. Hopefully they give more insight to Stephan's problem (bug #77/#78).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15767 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-31 14:31:31 +00:00
Stefano Ceccherini
545611c7eb The indicators weren't updated at all. The offscreen version of the control didn't draw anything. fFocusedControl wasn't initialized, so the control was calling SetValue() at every MouseMoved() even if unneeded. The control at the moment flickers a lot, but at least it's updated correctly.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15766 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-31 13:39:04 +00:00
Axel Dörfler
7d61d305c6 Some minor fixes and cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15765 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-31 13:15:15 +00:00
Axel Dörfler
a615ec8f86 Imported OpenTracker-current.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15764 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-31 12:34:37 +00:00
Axel Dörfler
aa9196b83e Speedup scrolling with the scroll wheel: this seems to vary from app to app,
BeMail uses 2, Terminal (under Dano) 4, and Tracker as well as pe 3 - so 3 seems
to be a good compromise.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15763 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-31 11:35:59 +00:00
Stephan Aßmus
34dcf66837 I guess Axel got bored already having to stare at the same animation all the time... so I changed it a little
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15762 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-31 01:38:36 +00:00
Stephan Aßmus
ec42af75e8 * fixed wrong byte order in DrawingModeAlphaCC
* added another optimized bitmap drawing routine
  for B_OP_ALPHA and BGR[A]32 bitmaps. When actual
  blending takes place, it is more than 1.7 times
  faster than R5, and about the same speed when
  the bitmap is fully opaque.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15761 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-31 01:03:26 +00:00
Stephan Aßmus
1fce337f89 cleaned up the code using templates and added optimized version for CMAP8 bitmaps and B_OP_OVER (to benefit Tracker)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15760 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-30 23:41:57 +00:00
Ingo Weinhold
4c1fca768d Maybe I miss something, but I don't see the reason for the PPC
arch_mmu_allocate() to set the "cache inhibited" flag. One negative
effect was that for such memory the lwarx instruction (used by the
atomic_*() functions) does "... cause the system data storage error
handle to be invoked...", as the architecture specification puts it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15759 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-30 22:10:54 +00:00
Stephan Aßmus
2de437fa29 The first stab at optimizing bitmap drawing,
with quite good results I might add. Drawing B_RGB32
bitmaps is more than 1.2 times faster than on R5, while
B_CMAP8 bitmaps are slightly slower. The optimization
is only for B_OP_COPY and unscaled bitmaps
(B_RGB32 and B_CMAP8). Drawing only parts of the bitmap
is supported. Adding optimization for scaled bitmaps
should be beneficial, since the generic version is 2 two
4 times slower. I think it gets even worse for partial
bitmaps.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15758 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-30 21:31:36 +00:00
Stephan Aßmus
d95c3678b9 the source buffer is const of course
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15757 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-30 21:26:24 +00:00
Ingo Weinhold
957a1b17eb * Introduced new build system variables
{HAIKU,HOST,TARGET}_KERNEL_PIC_{CC,LINK}FLAGS which define the
  compiler/linker flags specifying the kind of position independence
  the kernel shall have. For x86 we had and still have -fno-pic, but the
  PPC kernel has -fPIE (position independent executable) now, as we
  need to relocate it.
* The boot loader relocates the kernel now. Mostly copied the relocation
  code from the kernel ELF loader. Almost completely rewrote the PPC
  specific relocation code, though. It's more correct and more complete now
  (some things are still missing though).
* Added boot platform awareness to the kernel. Moved the generic
  Open Firmware code (openfirmware.c/h) from the boot loader to the kernel.
* The kernel PPC serial debug output is sent to the console for the time
  being.
* The PPC boot loader counts the CPUs now and allocates the kernel stacks
  (made OF device iteration a bit more flexible on the way -- the search
  can be restricted to subtree). Furthermore we really enter the kernel...
  (Yay! :-) ... and crash in the first dprintf() (in the atomic_set()
  called by acquire_spinlock()). kprintf() works, though.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15756 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-30 21:20:07 +00:00
Axel Dörfler
456d0d082b We now have mouse wheel support for all views that have scroll bars. Should
probably increase the values we got from BScrollBar::GetSteps(), though, as
it's a bit slow.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15755 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-30 21:02:33 +00:00
Axel Dörfler
9aad1a5754 Fixed some problems of the EventDispatcher I introduced since I've played
with the "EventMask" test app the last time:
* The focus view didn't get any mouse messages anymore if there was a permanent
  B_POINTER_EVENTS view.
* B_KEYBOARD_EVENTS now works again.
* B_MOUSE_WHEEL_CHANGED messages no do arrive their targets without prior
  keyboard input.
* Added TODO item that other focus messages don't go through to the app without
  keyboard input (fix only works for B_MOUSE_WHEEL_CHANGED).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15754 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-30 20:59:14 +00:00
Stephan Aßmus
002356d2c9 round off the destination view rect of the view bitmap to avoid problems with drawing the view color around it
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15753 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-30 19:56:42 +00:00
Axel Dörfler
8ea9eaa1cb * Resize the placement controls to their preferred height, make them a little
wider, so that they completely fill up the space they have (making them nicely
  aligned to the surrounding border).
* the placement controls now accept up to 5 bytes (for things like "-1000").


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15751 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-30 19:20:24 +00:00
Axel Dörfler
6e2cf48b9f * The X/Y placement text controls are now lined up with the bottom of the
color picker.
* Renamed message constants by considering our style guide.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15750 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-30 19:11:45 +00:00
Axel Dörfler
140dd51293 cache_abort_transaction() could let cached_block::parent_data have the same value
as cached_block::data - which led to a crash as block_cache::FreeBlock() tried to
free both later.
Since neither cached_block::parent_data nor cached_block::original are supposed
to be != NULL in block_cache::FreeBlock(), they are no longer freed, but the system
panics if one of them is not NULL.
This should fix bug #77.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15749 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-30 18:47:16 +00:00
Axel Dörfler
c77be36230 * Now makes sure the boxes/window is large enough for the BColorControl.
* The left and right box should now always look aligned horizontally
  (at least under Haiku).
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15748 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-30 18:26:11 +00:00
Axel Dörfler
f17cfabc82 * Fixed BBox resizing when not attached.
* Less flickering when drawing the label: the area of the label is now
  clipped, so there is no need to fill the background again.
* Consumed the last reserved member for the bounding box of the label.
* More or less rewrote the header.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15747 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-30 18:23:48 +00:00
Ingo Weinhold
7022600734 Don't know what kernel_args::bootdir_addr was originally intended for,
but it's not initialized anymore.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15745 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-30 17:56:08 +00:00
Axel Dörfler
47c1e3d9a9 * Now writes the background info message as B_MESSAGE_TYPE attribute (instead of 0).
* Better error reporting when writing the attributes.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15744 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-30 15:36:14 +00:00
Axel Dörfler
509798f986 Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15743 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-30 15:30:42 +00:00
Axel Dörfler
6e5e7fa996 It's allowed to write attributes with type 0 - for some reason, our Backgrounds
preferences app writes its info with this type (instead of B_MESSAGE_TYPE as
Be's does).
It's now possible to set the background image for Tracker under Haiku.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15742 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-30 15:24:33 +00:00
Axel Dörfler
7b73023562 * Fixed the attribute string error in other places as well.
* Now always returns B_BAD_DATA in case of attributes with the wrong size.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15741 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-30 13:59:54 +00:00
Axel Dörfler
762eb2233b * NodeInfo::GetType() now returns B_BAD_DATA instead of B_BAD_VALUE if the
attribute is longer than B_MIME_TYPE_LENGTH.
* NodeInfo::GetType() now null terminates the attribute; you cannot expect
  that strings in attributes are null terminated (it already wrote the null
  byte to B_MIME_TYPE_LENGTH - 1 for safety, but why not do it right?).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15740 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-30 13:53:34 +00:00
Stephan Aßmus
38030e0477 removed a clouple TODO comments where issues cleared up meanwhile
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15739 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-30 11:42:01 +00:00
Stefano Ceccherini
370aa51090 Scrollbars losed their target when detached. Once again, the problem showed up with BTabView
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15738 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-30 08:54:55 +00:00
Stefano Ceccherini
6fce24d777 no need to const_cast in there...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15737 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-30 08:32:22 +00:00
Stefano Ceccherini
b34197fb51 Fixed the possible race condition reported by stippi, by getting the bounds and parent offsets of the view on detach
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15736 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-30 08:26:06 +00:00
Ingo Weinhold
5615edfd4d The server lazily opens the disk image now and closes and reopens it
when receiving a HELLO request. Thus it doesn't need to be restarted
when the image had been rebuilt. That was a bit annoying...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15735 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-30 03:34:37 +00:00
Stefano Ceccherini
1ae8b8cd19 -When a view was detached, its parent offset was resetted to B_ORIGIN. This caused BTabViews not to work correctly. - The view state was retrieved twice when a view was detached.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15734 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-29 22:57:34 +00:00
Axel Dörfler
2494fda73a The resolution and image type now span over the whole width of the file
panel window (and thus the text is no longer cut off under Haiku).
Instead of only writing "JPEG Image" for JPEG images, and nothing for
all other image types, the MIME types short description is now displayed
(or the MIME type itself if no such description exists).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15733 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-29 21:10:17 +00:00
Stephan Aßmus
835a0aaf32 prevent drawing bitmaps at fractional offsets
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15732 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-29 19:31:43 +00:00
Stephan Aßmus
8d66d23e83 removed some of Axels TODOs and added some notes, avoid clipping operations if nothing needs to be drawn
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15731 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-29 19:30:48 +00:00
Stephan Aßmus
fe161a0740 tweaked the button look to have somewhat smoother corners and a cleaner disabled look
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15730 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-29 19:16:22 +00:00
Ingo Weinhold
f84d7234a7 Moved jam into the buildtools modules, where it belongs.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15729 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-29 18:40:48 +00:00
Axel Dörfler
c016311bca No longer annoys the user if there was no settings file (it asked to configure
the settings in that case...).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15728 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-29 18:30:35 +00:00
Stephan Aßmus
27a00cdd92 don't resize scrollbars if the window hasn't even document look
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15727 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-29 18:25:43 +00:00
Ingo Weinhold
74e7fd417e This should finally fix the spurious "No such file or directory" errors
reported from our build tools under Linux. As it seems Linux does not
translate dirent::d_ino for mount points (BeOS and Haiku do), which
caused us not to find a mount point entry in its parent directory.
Thanks to Vampyre for the hint.
Fixes bugs #73 and #76.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15726 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-29 18:25:29 +00:00
Axel Dörfler
8f9ab4d1a3 Fixed client side AS_SET_DESKTOP_COLOR - did send a uint32 as int32.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15725 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-29 18:14:35 +00:00
Axel Dörfler
fc6ec91732 Implemented AS_SET_DESKTOP_COLOR - the desktop is not redrawn yet, but freshly exposed
areas will be filled with the new color.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15724 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-29 18:09:07 +00:00
Axel Dörfler
55fd3336b6 * Fixed a bug in ServerApp: when a ServerWindow would take too long to quit,
it could crashed the server.
* ViewLayer now deletes the view bitmap on destruction, if any.
* BitmapManager::Delete() now also accepts NULL bitmaps.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15723 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-29 17:40:18 +00:00
Jérôme Duval
832257e863 added midi dev links
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15722 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-29 17:15:14 +00:00
Axel Dörfler
b773ffdd9f Fixed build of fake_app_server (ServerBitmap destructor is now protected).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15721 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-29 16:59:11 +00:00
Axel Dörfler
4c66abd6f2 Implemented basic server side BView::SetViewBitmap() support. Things like B_TILE_BITMAP
or even the resizing mode isn't done yet, though. See TODOs.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15720 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-29 16:46:02 +00:00
Axel Dörfler
7cc0dec4a2 Got rid of the remaining SERVER_TRUE constants.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15719 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-29 15:57:24 +00:00
Axel Dörfler
4acb99b60f Implemented reference counting of ServerBitmaps, made constructor and destructor private,
as only the BitmapManager class is allowed to call them.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15718 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-29 15:36:18 +00:00
Axel Dörfler
93052717b0 Renamed AS_LAYER_GET_{DRAW|BLEND}_MODE to *_{DRAWING|BLENDING}_MODE.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15717 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-29 15:06:24 +00:00
Axel Dörfler
e351ecb78d Renamed BView::_SetViewImage() to _SetViewBitmap(), and AS_LAYER_SET_VIEW_IMAGE
to AS_LAYER_SET_VIEW_BITMAP.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15716 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-29 14:52:43 +00:00
Axel Dörfler
9f8f6275f6 Fixed shutting down apps with file panels - no more hang:
* if file panels shouldn't be quit, we no longer call QuitRequested() for
  them and stop quitting windows (which left normal windows open, because
  file panels always return "false" in QuitRequested())


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15715 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-29 14:49:28 +00:00
Stephan Aßmus
cd2b129d07 * removed superflous LockSingleWindow() from WindowLayer::MoveBy()
and ResizeBy()
* WindowLayer::SetSizeLimits() needs to be called with the
  AllWindows lock held
* I was observing weird behaviour with "unclickable" windows
  that I might have fixed by explicitly excluding invisible
  windows from Desktop::WindowAt(), there might be something
  wrong with the "current" window list though, Axel would know
* finally found the problem with "delayed background clearing"
* enabled delayed background clearing and removed unnecessary
  code. It should be more efficient, since it clears larger
  areas at once, and it solves the problem of views unable to
  draw into regions that are pending for another update - among
  other things, updates in resizing windows are more fluent, 
  especially for B_FULL_UPDATE_ON_RESIZE views. "Cut off" scroll
  bars should no longer appear when the view being scrolled takes
  too long to redraw.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15714 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-29 14:15:59 +00:00
Axel Dörfler
6c5611a064 BFilePanel::Show() is now virtual, so my previous change didn't work -
ImageFilePanel::Show() must be called explicetely.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15713 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-29 13:47:03 +00:00
Axel Dörfler
cd2d1ffdda * Renamed BGView to BackgroundsView, etc.
* Moved ImageFilePanel code to its own file, so that it can be reused easily.
* Moved BGWindow stuff into Backgrounds.cpp.
* Cleanup to match our style guide better.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15712 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-29 13:37:52 +00:00
Axel Dörfler
a4513d1c7c Enabled building Backgrounds under BeOS, and added it to the test environment.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15711 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-29 11:55:23 +00:00
Axel Dörfler
2642bdee5c The multi-monitor settings now also look okay. Still needs some work, though, and
a new layout as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15710 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-29 11:21:22 +00:00
Ingo Weinhold
481b133143 Added missing wrappers for hypot() and hypotf(), fixing bug #75.
I wouldn't be surprised, if more wrappers are still missing.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15709 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-29 02:01:55 +00:00
Ingo Weinhold
c83d9dad1c * platform_allocate_region() has a new boolean parameter "exactAddress"
specifying whether only the exact supplied address is acceptable. If
  false, the address is considered a hint only. It will be picked, if
  available, otherwise a greater address is tried to be acquired, and
  as last resort any address. This feature is only implemented for PPC.
  It is needed since the preferred kernel text base address 0x80000000
  might not be available (and actually isn't on my Mac mini).
* Fixed a bug in the PPC memory management code:
  is_{virtual,physical}_allocated() were checking whether the given
  range was completely contained by an existing range instead of
  checking for intersection. As a consequence we could (and did) allocate
  a range intersecting with already allocated ranges. The kernel segment
  thus overwrote OF memory for instance.
* The ELF loader makes sure that it got both text and data segment of
  the image to be loaded.

The PPC boot loader successfully loads kernel and modules now. Next
comes the hard part, I'm afraid.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15708 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-29 01:50:23 +00:00
Ingo Weinhold
b566a43ec8 Reworked the PPC kernel linker script. Changed data segment alignment
in the boot loader script.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15707 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-29 01:24:02 +00:00
Axel Dörfler
ca8fc8c47c The aspect ratio of the monitor is now independent of the size of the MonitorView's bounds.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15704 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-28 23:50:16 +00:00
Axel Dörfler
5a78744bed First baby steps into a font sensitive interface. At least it now looks good when
runnning under Haiku :)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15703 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-28 23:36:39 +00:00
Axel Dörfler
99383764f6 Enabled building under BeOS, and fixed the build under R5.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15702 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-28 23:27:32 +00:00
Ingo Weinhold
68d3fc6f8f Don't allow allocation of zero sized area.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15700 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-28 20:02:34 +00:00
Ingo Weinhold
ea5b67a88b Don't allocate the heap with of_claim(), but rather use
platform_allocation_region(). Since the callback stuff doesn't seem to
work, the Open Firmware didn't ask us to allocate memory in turn, and
thus we didn't know about the range that had been mapped and reused it
later.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15699 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-28 19:54:19 +00:00
Stephan Aßmus
f5b6cf65b2 * extracted the frame buffer memcpy routine from HWInterface.cpp
into a new frame_buffer_support.h
* added blend32 routine for blending a certain color with
  a scanline in the frame buffer
* added "solid" versions of B_OP_ALPHA drawing with
  B_ALPHA_OVERLAY alha function (blending on top of
  a non-transparent background such as the frame buffer)
* implemented an optimized shortcut for alpha blended
  FillRect() in Painter
* used the "packed" version of scanlines for shapes with
  an outline thicker than 4 pixels (and filled shapes anyways),
  this improves drawing speed when there are a few anti-aliased
  pixels at the beginning of a scanline, then a solid fill and
  some anti-aliased pixels at the end of the scanline. Such as
  large letters.

To summarize: The alpha blending in Painter seems to be about
1.45 times faster than on BeOS R5 which benefits drawing large
shapes. For example, drawing a large alpha blended rounded rect
is 1.28 times faster on the Haiku app_server. On the other hand,
B_OP_COPY is quite tough to beat. It is currently 10 times faster
on R5. But a great deal seems to be caused by the Painter
rasterization algorithm itself, since commenting out the actual
drawing doesn't gain any speed.
The other useful experience I collected was that reading and
writing and over the PCI bus in the same loop really hurts
performance. It is actually faster (like 1.8 times!!) to allocate
a second buffer, read from frame buffer into that, doing the
blending at the same time, then writing the buffer back to the
screen.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15698 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-28 19:53:00 +00:00
Ingo Weinhold
22bc93e31c arch_mmu_allocate() translated the protection flags incorrectly
(B_WRITE_AREA to read-only).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15697 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-28 19:47:50 +00:00
Axel Dörfler
529bf1c6d7 block_range::Delete() did not remove the block_range from the free list,
and thus, it could be used again which led to a crash.
Changed the free ranges list from a singly linked list to a doubly linked
list so that not all free ranges have to be searched for the one to be
freed anymore.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15696 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-28 16:40:05 +00:00
Axel Dörfler
3dcaf063c2 Cleaned up locking and fixed a related bug: put_cached_block() could have been called without holding the cache lock.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15695 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-28 16:24:09 +00:00
Axel Dörfler
a31b66b768 Added tracing for calling the init routines.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15694 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-28 14:47:51 +00:00
Axel Dörfler
5e796c3bb3 A couple of endian fixes, inspired by Ingo - there might be some more left, though,
it's untested yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15693 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-28 14:03:10 +00:00
Axel Dörfler
c004406e92 * Fixed a stupid bug in vm_page_write_modified() I introduced recently: if pages having
the modified bit set were written back (that's the case when they weren't put into
  the modified pages queue yet), they were enqueued into the active queue twice, messing
  up the page lists with various effects - this little thing took me busy for the last
  few days :-/
* Improved the "page" debugger command: it now prints out much more info, and also lets
  you lookup pages via physical address.
* The dump commands are now using kprintf() instead of dprintf().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15692 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-28 13:29:25 +00:00
Stefano Ceccherini
e94a459785 Fixed cloning accelerants
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15691 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-28 08:40:34 +00:00
Ingo Weinhold
9980540b63 Added a little server implementing the "remote disk" protocol featured
by the boot loader.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15690 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-27 22:03:27 +00:00
Ingo Weinhold
d561d0ad68 Added a mini networking stack to the boot loader. It speaks basic ARP,
IP, and UDP, as well as a home brewn UDP based protocol, "remote disk",
which provides random access to a single remote file/device. The Open
Firmware flavored boot loader automatically initializes the net stack,
searches for a remote disk, and tries to boot from it, if the boot
device is a network device (e.g. when loading the boot loader via
TFTP).

This is quite nice for developing with a two-machine setup, since one
doesn't even need to install Haiku on the test machine anymore, but can
serve it directly from the development machine. When the networking
support in the kernel is working, this method could even be used to
fully boot, not just for loading kernel and initial modules.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15689 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-27 22:01:33 +00:00
Ingo Weinhold
9d577c1064 Fixed realloc(). Supplying a NULL pointer crashed. Furthermore, a size
argument value of 0 should only free the old allocation.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15688 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-27 21:36:51 +00:00
Ingo Weinhold
6470bb6152 Removed superfluous static variable I accidentially introduced.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15687 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-27 21:34:50 +00:00
Ingo Weinhold
3489b30126 Fixed some boot loader PPC BFS issues:
* bfs_inode must be packed, otherwise the structure is larger due to
  different alignment requirements.
* The off_t array returned by bfs_inode::Values() is in on-disk
  endianess. This was ignored in some places. Hope I squashed all
  occurences.
Those fixes should probably be back-ported to the kernel add-on, too.
Will do that when I get to that point in the kernel, unless someone
beats me to it.

The PPC boot loader does at least find the kernel on a BFS volume now.
Haven't dared to let it be loaded yet.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15686 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-27 21:33:11 +00:00
Ingo Weinhold
21796ee568 Added newly required functions arch_cpu_init_post_modules() and
arch_cpu_user_TLB_invalidate(). Empty at the moment; will have a look at
that later. The PPC kernel builds again, now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15685 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-27 21:19:44 +00:00
Ingo Weinhold
31cfffdff4 Added missing include.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15684 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-27 21:17:25 +00:00
Ingo Weinhold
22a6522245 * Renamed of_call_method() to of_call_client_function() and added
of_call_method() which is actually an implementation of the
  "call-method" client function.
* of_interpret() announced one less return value than actually needed.
  Seemed to work anyway, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15683 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-27 21:15:56 +00:00
Axel Dörfler
447308b363 Enabled on-screen KDL by default.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15681 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-27 20:49:28 +00:00
Axel Dörfler
6aeb59944d Fixed printing stack trace of crashed apps.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15680 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-27 11:28:03 +00:00
Alexander G.M. Smith
41d16bd38d Remove unused arguments that were causing warnings in an older build system.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15678 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-26 22:33:52 +00:00
Stephan Aßmus
65b53cc601 quick fix for supporting B_TRANSPARENT_MAGIC pixels in CMAP8 bitmaps when drawing those with B_OP_ALPHA (composite, constant alpha)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15677 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-26 17:41:18 +00:00
Stefano Ceccherini
0398e7fb64 After so much debugging, I realized that the vesa driver can't set the display mode. I'm stuck with testing till I find some other way...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15676 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-26 14:55:41 +00:00
Stefano Ceccherini
ee44f668eb Added page_flipper as a test for BWindowScreen (thanks to Stephan for sending it to me)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15675 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-26 14:54:04 +00:00
Jérôme Duval
73a4805b7b fixed dev links
fixed midi in


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15674 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-26 11:34:46 +00:00
Stefano Ceccherini
2c6856d660 more cleanups. I'll probably end up rewriting the etire header
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15673 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-26 10:16:22 +00:00
Stephan Aßmus
56a1266027 I never get those right the first time
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15672 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-25 22:43:02 +00:00
Stephan Aßmus
9d909e2556 first simplistic implementation of drag bitmaps, drawing modes need more work, drawing text into offscreen bitmaps seems to be broken for some weird reason, B_OP_COPY actually copies the alpha value of the color as well
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15671 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-25 22:17:17 +00:00
Stefano Ceccherini
5a077d3f0d Windowscreen sorta works. This should've waited till the end of Christmas holidays, but since I had to fix the build today...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15670 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-25 10:45:39 +00:00
Stefano Ceccherini
805d0b82d1 Fixed cloning the vesa accelerant
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15669 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-25 10:43:51 +00:00
Alexander G.M. Smith
84c93e0938 mmadia provided an updated install.sh, all options should now work. I've
also added a few comments explaining what's going on.  Japanese not updated?


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15667 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-25 03:40:34 +00:00
Stefano Ceccherini
51a523b147 implemented AS_GET_ACCELERANT/DRIVER_PATH and renamed the relative constants
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15666 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-24 16:25:47 +00:00
Stefano Ceccherini
a66e501974 more cleanup. I can't seem to be able to clone the vesa accelerant so I'm a bit stuck at the moment
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15665 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-24 14:20:44 +00:00
Stefano Ceccherini
ed58e05e18 Partly converted the header to our coding style, added some debug output, started to clean up
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15664 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-24 13:06:05 +00:00
Stefano Ceccherini
6edaa0f6a6 Fixed PostMessage usage
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15663 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-23 22:43:11 +00:00
Stephan Aßmus
208e6678e3 small efficiency improvements - overall, the drawing speed of a usual BView, especially controls, is pretty much equal to R5 now (Drawing straight text, using StringWidth(), tons of AddLine()s, FillRect() etc) :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15662 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-23 15:57:55 +00:00
Stephan Aßmus
cf434f8eec fixed comment
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15661 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-23 15:54:41 +00:00
Axel Dörfler
032a2d2805 Added "bt" to print a stack crawl to get less confused by gdb :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15660 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-22 23:54:51 +00:00
Stephan Aßmus
268893283f drawing arrow heads looks good on Haiku using B_OP_OVER... Stefano, I made this local change before your earlier commit, I hope I don't step on your toes, it's just a tiny change anyways...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15659 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-22 22:15:06 +00:00
Stefano Ceccherini
6700022a75 Looks like the fix didn't work
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15658 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-22 21:37:19 +00:00
Stefano Ceccherini
57de0ba79d Now clock doesn't quit in case it can't find its resource (due to a bug in BRoster::FindApp(), probably). It looks like crap but it's not important right now. Also restyled a bit the cl_view.h/cpp files
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15657 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-22 21:19:23 +00:00
Axel Dörfler
bdf1da4d6e Slightly improved debug output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15656 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-22 18:21:37 +00:00
Axel Dörfler
78f2557c8f Found and fixed number one app_server crashing bug: our Hoard backend didn't
support unsbrk(), and that is actually called quite often in Hoard, resulting
in out of memory quite fast.
We don't shrink the heap (yet), but at least we can reuse the memory that
was freed by Hoard (it doesn't just remove bytes from the end, it will also
free up smaller parts in the middle).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15655 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-22 11:42:02 +00:00
Stefano Ceccherini
291540f51a Signatures are case insensitive. This should allow Clock to start.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15654 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-22 11:14:06 +00:00
Axel Dörfler
0c19920751 Improved debug output, added missing owner info to _dump_area().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15653 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-22 01:08:51 +00:00
Axel Dörfler
7a3e1b6979 Slightly improved debug output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15652 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-22 00:47:37 +00:00
Axel Dörfler
f31dc4dd08 Improved tabulator for the on screen KDL.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15651 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-22 00:43:21 +00:00
Axel Dörfler
ebe5949e61 The debugger command "areas" can now restrict the list by team ID.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15650 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-22 00:40:34 +00:00
Axel Dörfler
c1b5724035 My last commit broken vm_clone_area(): it didn't grab a reference to its
cache, and therefore, let the kernel crash easily.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15649 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-22 00:04:28 +00:00
Axel Dörfler
db39fa281e Moved the headers of the different store implementations into the VM source
directory; they are not used outside the VM.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15648 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-21 20:08:49 +00:00
Axel Dörfler
16cfe613cd Fixed vfs_lookup_vnode() - it's not called with the mutex already locked anymore.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15647 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-21 20:07:33 +00:00
Jérôme Duval
4aeaaaae01 we now check if current pipe index is a valid one before trying to close it, seems CloseAudio doesn't check itself
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15646 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-21 18:22:27 +00:00
Rudolf Cornelissen
c6cacf3fb6 removed 'typo' introduced while testing.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15645 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-21 18:02:21 +00:00
Axel Dörfler
14e132e2bc Reactivated check for failed semaphore creation - after kernel startup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15644 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-21 17:58:49 +00:00
Axel Dörfler
a8a13a0ae5 During early boot, there are no semaphores - but vm_cache_ref are already created...
Must be further investigated (if the locks are created later or not...)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15643 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-21 17:47:50 +00:00
Axel Dörfler
1e12fe8e5d A vm_cache can no longer be created with a NULL vm_store (nobody did it before,
but it would have worked - and crashed soon after).
Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15642 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-21 17:05:50 +00:00
Axel Dörfler
ea2cd27e57 * Fixed the strange vm_cache_ref reference count mechanism: now, a fresh
vm_cache_ref starts with a reference count of 1. When acquiring a vm_cache,
  you no longer need to worry if that should go through the vm_store, or not;
  as it now always does.
* map_backing_store() no longer needs to play with the vm_cache_ref
  references.
* that simplified some code.
* vfs_get_vnode_cache() now grabs a reference to the cache, if successful.
* better balanced vnode ownership on vnode_store creation (vnode_store
  released the vnode before if its creation failed).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15641 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-21 17:00:03 +00:00
Axel Dörfler
d5abe15e84 The name elf_load_user_image() chooses for the area is now actually limited
to B_OS_NAME_LENGTH bytes, instead of 64. Also, it will now only consider
the leaf name for the area.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15640 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-21 16:47:46 +00:00
Stephan Aßmus
8f30140c63 fixed opening windows in other workspaces than the current, keeps the window lists valid
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15639 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-21 13:50:45 +00:00
Stephan Aßmus
5659f08c68 fixed weird resize behaviour (the mouse cursor returns to the initial drag offset after the window has been resized more than the resize limits allow)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15638 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-21 13:49:19 +00:00
Axel Dörfler
79f73dbc56 * vm_page::offset is now called cache_offset and is now an uint32 instead of off_t;
this saves 4 bytes per page. To compensate the loss of bytes, the offset is now
  stored in page size units, that's enough to address 2^44 or 16 TB (which is now
  the maximal supported file size!).
* Renamed vm_page::ppn to physical_page_number.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15637 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-21 12:38:31 +00:00
Stephan Aßmus
3ca8cdfc07 remove empty functions which are no longer virtual anyways
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15636 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-21 11:23:37 +00:00
Stephan Aßmus
28f0e47c1a fix B_SUBPIXEL_PRECISE usage, animation in BitmapDrawing is smooth again
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15635 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-21 11:22:48 +00:00
Stephan Aßmus
464f836807 since this is potentially drawing to the frame buffer in the testenviroment too, we don't use memcpy anymore per se
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15634 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-21 11:21:56 +00:00
Stephan Aßmus
eeb06055db the run_haiku_registrar app is placed in the test environment install folder
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15633 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-21 11:20:35 +00:00
Stephan Aßmus
75bf993e08 updates various stuff, Jamefiles and run scripts for the most part... clicking a list view object entry selects the object in Playground... alpha drawing in the scrolling test would reveal problems in the app_server scrolling implementation... more I have forgotten
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15632 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-21 11:19:16 +00:00
Stephan Aßmus
a90bd9535b why do the stupid bugs always take soo long to find... even when I did them myself... this fixes attaching BViews to B_CMAP8 bitmaps and drawing into them in the test environment
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15631 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-21 11:16:56 +00:00
Axel Dörfler
77b1fd2243 Renamed the tests/kernel/core directory like the main directory tests/system/kernel
and adapted all Jamfiles.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15630 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-21 00:30:29 +00:00
Stephan Aßmus
8503c000b3 I just realized I never commited this. This enables Haiku to boot from a logical partition in an extended partition that used to be a BFS partition and has enough of the old super block left for BFS to think it's a valid BFS partition... fix found together with Ingo Weinhold
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15629 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-20 22:54:32 +00:00
Stephan Aßmus
1f0a4ee8c7 removed unused stuff from Painter and DrawingEngine, fixed the deadlock when trying to use the (20 times faster) DrawingEngine version of StringWidth, the font is now usually ignored when taking on a DrawState in Painter... should add a little speed overall
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15628 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-20 22:39:54 +00:00
Stephan Aßmus
bee1ec1ee0 overall more correct, most importantly corrected a bug in content scrolling that caused view redraws to ignore the window content clipping
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15627 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-20 22:35:36 +00:00
Stephan Aßmus
3c0e5f8e8b added marking a ViewLayer dirty (ie if background needs to be cleared yet)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15626 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-20 22:31:42 +00:00
Stephan Aßmus
a07317fc10 correctly figure out bits per pixel in the direct window info code, this fixes direct windows in the Accelerant test environment, added a note about how the all windows lock seems to be grabbed for the entire duration of a client update on R5, which cannot quite be the truth, because apps crashing in BView::Draw() would take lock up the app_server, added skipping the processing of drawing messages if the current drawing region is empty, added currently disabled code for clearing the view right before the client draws it... doesn't work for some reason unfortunately
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15625 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-20 22:30:02 +00:00
Stephan Aßmus
33ab390e50 currently, there is no mechanism to update the DrawingEngine to a changed frame buffer pointer, so the Window for the Accelerant based test environment is non-movable... will change later
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15624 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-20 22:25:20 +00:00
Stephan Aßmus
ef4635a3f9 added a few comments
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15623 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-20 22:23:48 +00:00
Stephan Aßmus
f6cef39e1e row_bytes was used in a weird way, and still is, if you would take row_bytes literally
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15622 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-20 22:22:26 +00:00
Stephan Aßmus
36e605d5f3 combine _UPDATE_ and B_WINDOW_RESIZED messages, I left the old code commented, because my combining code might need review. I don't understand why the current message is still in the queue and why passing 1 as index to FindMessage does not seem to work, BMessageQueue::RemoveMessage does not delete the message as documented in the BeBook... everywhere else in the code it seems to be taken as a fact
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15621 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-20 22:20:37 +00:00
Stephan Aßmus
46128d7e26 fix crash in Invoke() when no items are selected and a selection change message is set
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15620 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-20 22:17:07 +00:00
Stefano Ceccherini
2b6ac34551 Got rid of R5 code
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15618 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-20 22:12:09 +00:00
Stefano Ceccherini
5aa032f1e8 cleanup
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15617 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-20 16:28:52 +00:00
Rudolf Cornelissen
04928d2c97 fixed with-issues with scaled_filtered blit. Tested for 16bit space. Over here this new function is now stable. Other spaces will be tested asap.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15615 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-20 15:59:22 +00:00
Axel Dörfler
d608540b67 Separated vm_address_space.h from vm.h.
Some more cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15614 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-20 15:54:45 +00:00
Rudolf Cornelissen
a06a87b98c corrected scaled_filtered_blit setup according to test results with a node. Now it correctly works for a 'number of source-widths': tested 320 and 640 pixels source bitmaps. This source-width thing is still under test..
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15613 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-20 15:26:36 +00:00
Stefano Ceccherini
700b38edc4 Started porting WindowScreen to haiku
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15612 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-20 14:31:26 +00:00
Axel Dörfler
c4c68e3305 Fixed build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15611 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-20 13:37:04 +00:00
Axel Dörfler
4318316c65 This should fix PPC build after recent changes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15610 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-20 13:31:38 +00:00
Axel Dörfler
96e01a27bf * Merged vm_virtual_map with vm_address_space - there was no reason to have
them apart (this even saves a pointer from vm_virtual_map to its address space)
* aspace -> address_space
* vm_create_address_space() did not check if creating the semaphore succeeded
* Removed team::kaspace - was not really needed (introduced a new vm_kernel_address_space()
  function that doesn't grab a reference to the address space)
* Removed vm_address_space::name - it was just a copy of the team name, anyway,
  and there is always only one address space per team
* Removed aspace_id - the address space is now using the team_id
* Some cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15609 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-20 13:29:11 +00:00
Waldemar Kornewald
470dbda0b0 Last libnetwork.so commit. Added DEVNOTES to socket interface. libnetwork.so now compiles fine and the source is shared with libbind.so.
NEXT: port the FreeBSD netstack
I need volunteers for this huge task. And I don't have much time left for coding, anyway.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15608 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-20 11:18:31 +00:00
Waldemar Kornewald
45b03b39c4 Also deleted TLSInit.cpp.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15607 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-20 10:59:34 +00:00
Waldemar Kornewald
5af343b54b Removed unneeded sources.
Just noticed that VI did not like my copy-pasted commit log. It should be: we _need_ better pthread/mutex support. Here is the important part, again:
Cleaned up native part of libbind.so a little bit more. Though, the ugly hack remains. We need better pthread/mutex support. Added TODO that we also should move sysctl() into the kernel and libroot.so.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15606 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-20 10:58:47 +00:00
Waldemar Kornewald
ce823541ec Removed #ifdef __cplusplus from networking headers. The check is already done in cdefs.h (__BEGIN_DECLS) which I committed yesterday.
Committed libnetwork.so. I actually wanted to port BSD's libc/net resolver, but that one uses too many unsupported functions, so I basically merged libbind.so and libsocket.so into one library.

Moved the libbind.so sources to libnetwork/dns.

Cleaned up native part of libbind.so a little bit more. Though, the ugly hack remains. We nbetter pthread/mutex support. Added TODO that we also shousctl() into the kernel and libroot.so.

Improved DEVNOTES a little bit.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15605 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-20 10:54:58 +00:00
Waldemar Kornewald
5d7cf21bdf More preparations for libnetwork.so. SVN does not let me commit everything at once.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15604 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-20 10:48:12 +00:00
Waldemar Kornewald
ffcb4cfc98 Preparations for libnetwork.so commit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15603 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-20 10:43:54 +00:00
Rudolf Cornelissen
c0f6162783 updated scaled_filtered_blit code and fixed NV1_RENDER_SOLID_LIN setup. Scaled blit might still be down, but we are getting there.. (in progress)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15602 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-20 09:42:06 +00:00
Stephan Aßmus
de0283f0f1 forgot to commit the heart of the new drawing_mode implementation. Sorry about that, guys. Thou shalt use svn status after doing huge changes...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15600 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-20 08:16:04 +00:00
Jérôme Duval
3b41fbe463 replaced #include <> with #include "" to fit the build system
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15599 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-19 23:35:46 +00:00
Jérôme Duval
e619df91e4 added init of HPSEL and LOSEL bits of register 0x76 for some AD codecs
Should fix speaker output


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15598 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-19 23:08:22 +00:00
Axel Dörfler
9d845483cf Got rid of two ToDo-items: instead of clearing the PAGE_MODIFIED flag after having
written the page, we now do it before, so that it cannot lose any changed data
anymore; it doesn't matter if the page is written to while writing it back, the
worst thing that can happen is that we write the same page twice. Also, we don't
rely on the PAGE_MODIFIED bit anymore, we now check all mappings of that page
to find all modified pages, no matter how far the (currently disabled) page
daemon had come.
Also, destroying an area will now result in writing back changed pages - this
is only really important for memory mapped files, though, and should probably
be avoided for other vm_store types.
Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15597 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-19 23:01:11 +00:00
Stephan Aßmus
8d7b8e8ce7 complete rework of the drawing_modes implementation... I achieved a speedup of 8 to 9 times, tested with text rendering. Believe it or not, but the Haiku text rendering is now faster than R5 for B_OP_COPY at least. And there is quite some room for improvement yet. (faster text bounding box calculation, avoiding the double UTF8 conversion, etc)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15596 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-19 21:22:03 +00:00
Stephan Aßmus
270b7f58b6 removed unnecessary locks
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15595 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-19 21:18:23 +00:00
Stephan Aßmus
1bcc09f226 small improvements here and there
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15594 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-19 21:18:01 +00:00
Stephan Aßmus
ce8ae4d8c2 _TriggerContentRedraw is now given the dirty region, so ProcessDirtyRegion does not have to be called for triggering window local redraws
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15593 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-19 21:16:23 +00:00
Stephan Aßmus
85e1d00d58 small style cleanup
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15592 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-19 21:14:16 +00:00
Ingo Weinhold
44c11fdbc1 Added console support functions required for the generic textual boot
menu. The menu basically works, but has a couple of problems. The
harmless ones are graphical: we get cursor artifacts when the colors
are changed, and the item selection doesn't quite look as it should.
More serious is the lack of Home/End, Page Up/Down keys. All I read from
the console is a '\0' byte when such a key is pressed. The cursor keys
work fortunately. I mapped the functionality of Page Up/Down
additionally to the Left/Right cursor keys. So the menu should be usable
at least. I guess, I'll leave it in that state; Axel wants a graphical
menu anyway.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15589 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-19 13:49:45 +00:00
Ingo Weinhold
b821cecc36 Added of_interpret for interpreting arbitrary Forth code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15588 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-19 13:40:15 +00:00
Ingo Weinhold
4c62b0919f Pulled platform independent part of the BIOS boot menu out into
platform/generic/...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15587 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-19 13:35:01 +00:00
Ingo Weinhold
59d0807e01 Missing newline in output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15586 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-19 13:31:19 +00:00
Waldemar Kornewald
f7a223fa1b Removed unneeded libbind files (were never compiled, anyway).
Moved some headers around and cleaned them up.

Fixed threading code in libbind.so. Don't know why I hadn't noticed this before. Now it is reliable, but uses an even uglier hack.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15585 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-19 13:26:54 +00:00
Axel Dörfler
39cc80346c * Implemented automatic font_directory creation for font_mappings.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15584 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-19 12:02:17 +00:00
Stefano Ceccherini
cbe65c2e73 Don't ask me how, but I apparently fixed the weird bug I had introduced.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15583 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-19 11:06:20 +00:00
Axel Dörfler
7a3fa7d368 * Followed Ingo's suggestion and removed the now superfluous "length" correction
in ConsoleHandle::WriteAt().
* Updated license.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15581 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-19 09:44:52 +00:00
Axel Dörfler
1bd3bb1d58 * Added fallback mappings for the default fonts - since we don't save the
mappings yet, that's a good way to test this functionality.
* Turns out the directory of the mappings must be known already - they
  should be added automatically, but I've added them manually for now
  (which is okay for the default system directory).
* Having more than one style with the same family in the mappings didn't
  work as planned - it now does.
* On my current system, time spend in the font manager constructor went
  down from 1.5 secs to around 12000 usecs (and I have only a moderate
  number of fonts installed, or so I thought - looks like the mappings
  were a good idea :-)) - and that directly cuts down the boot time.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15580 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-19 01:01:04 +00:00
Jérôme Duval
bd8c5981aa fixed midiplayer build for non haiku platforms
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15579 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-18 22:54:47 +00:00
Jérôme Duval
89f3467fa1 fixed midi interrupt handling, added logs
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15578 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-18 22:53:55 +00:00
Ingo Weinhold
ccf56c61be Fixed PPC boot loader linker script.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15577 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-18 14:37:34 +00:00
Ingo Weinhold
8f75497433 Fixed endless loop.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15576 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-18 14:35:31 +00:00
Stefano Ceccherini
4c0af4a82e Cleanup. Removed the weird SingletonMouseDevice
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15575 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-17 21:46:37 +00:00
Stefano Ceccherini
4722c56e4c avoid code duplication
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15574 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-17 21:45:41 +00:00
Stefano Ceccherini
b8fe2d4ed5 some changes, fixed a possible segfault
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15573 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-17 21:45:18 +00:00
Waldemar Kornewald
5352d6baaa Updated DEVNOTES. It's finally complete, now.
Fixed headers:
- added checks for C++
- removed _REENTRANT checks


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15572 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-17 11:58:39 +00:00
Jérôme Duval
ec816dffe2 fixed build for non haiku platforms
fixed displayed names for some models
added untested support for CardBus models Indigo*, thanks to Patrick Lafarguette for his great help on this feature


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15571 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-16 23:44:40 +00:00
Waldemar Kornewald
c544064d35 Updated BIND resolver library (libbind.so) to version 9.3.1.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15570 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-16 22:38:13 +00:00
Jérôme Duval
f6486d9d01 added some more headers from pcmcia-cs
fixed the build for non haiku platforms


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15569 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-16 19:06:45 +00:00
Axel Dörfler
89f5f72a15 * Added debug output to vm_low_memory.cpp.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15568 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-16 17:35:03 +00:00
Axel Dörfler
2058e6c1d4 Refactored MTRR code a bit: there is now a generic base that is used by
all CPU specific implementations as much as possible.
AMD and Intel are now separated again, even though they are currently
equivalent besides the CPU vendor detection.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15567 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-16 17:16:22 +00:00
Axel Dörfler
d0d37bdfd1 * vfs_init() is now called later in the startup sequence - since no core kernel
service depends on it, it doesn't make any sense to call it that early in the
  game.
* The VFS now has a low memory handler for vnodes as well. If there is enough
  memory left, it won't free any vnodes anymore.
* Potential crashing bug fix: some functions did not check if the FD passed
  in belonged to the right type; they just assumed it had a valid vnode, but
  it could have had a mount structure associated as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15566 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-16 16:11:36 +00:00
Axel Dörfler
4c0f46e2a3 The block_cache::LowMemoryHandler() must check if it could acquire the cache's lock;
it might have been deleted in the mean time.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15565 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-16 15:50:13 +00:00
Axel Dörfler
182f88dda1 * block_cache_delete() now deletes the cache with with its lock held.
* the link were not initialized in cached_block, as its constructor were never called
  (was using malloc/free instead of new/delete).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15564 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-16 15:45:00 +00:00
Axel Dörfler
005108a262 Forget to remove debug output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15563 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-16 14:33:10 +00:00
Axel Dörfler
37bd67edb8 Now also flushes dirty blocks correctly (cannot happen if transactions are used,
ie. never happens with BFS).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15562 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-16 13:53:34 +00:00
Axel Dörfler
41e866f3ae The block cache now registers and uses a low memory handler that will flush
unused blocks when needed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15561 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-16 13:49:23 +00:00
Axel Dörfler
af01805834 Implemented VIA specific MTRR functionality - untested, though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15560 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-16 13:08:35 +00:00
Axel Dörfler
7d7f4675bb * Added some cpuid eax == 1 feature definitions to arch_cpu.h
* Renamed IA32_MTR_WRITE_COMBINED to IA32_MTR_WRITE_COMBINING.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15559 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-16 12:25:49 +00:00
Axel Dörfler
348c7214f5 Improved processor identification for some VIA C3 models.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15558 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-16 11:55:01 +00:00
Jérôme Duval
e4857dd34d fixed ico and jpeg2000 translators build
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15557 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-16 11:12:07 +00:00
Jérôme Duval
38e07e8f22 fixed build for patch
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15556 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-16 10:13:12 +00:00
Jérôme Duval
23edb337cd fixed build for sharutils
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15555 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-16 10:06:11 +00:00
Jérôme Duval
2b68b87f87 fixed build for tar
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15554 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-16 09:59:46 +00:00
Stefano Ceccherini
579d1b23d7 Improved debug output
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15553 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-15 23:14:13 +00:00
Axel Dörfler
ebdb9dfebf Blocks are now put into an unused list when they aren't used.
When memory gets low, the blocks on that list are also freed - but right now,
that only happens when a block is put back (not directly on demand, ie. via
a low memory handler).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15552 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-15 21:35:19 +00:00
Axel Dörfler
1534aa236c Added new function vm_low_memory_state() that returns the current low
memory status.
Added new B_NO_LOW_MEMORY constant for the usual case.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15551 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-15 21:30:28 +00:00
Jérôme Duval
127e973b5d fixed build for non haiku targets
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15550 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-15 20:30:13 +00:00
Jérôme Duval
580b6319dc bc builds again
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15549 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-15 19:13:26 +00:00
Jérôme Duval
9257239ca8 have Make built again
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15548 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-15 19:05:32 +00:00
Axel Dörfler
d0abcc6fd2 Windows now receive B_WORKSPACE_ACTIVATED and B_WORKSPACES_CHANGED messages again.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15547 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-15 16:42:12 +00:00
Axel Dörfler
b3e26f5b8f Documented the block cache allocator a bit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15546 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-15 16:23:30 +00:00
Rudolf Cornelissen
09116ce3bc removed the switch statement for determining number of CPU's in a system. This should fix CPU 'hlt' instruction not being executed in SMP systems idle loop. Thanks Axel and Ingo for pointing me at this.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15544 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-15 12:25:11 +00:00
Rudolf Cornelissen
3fcc89d18b updated docs. Bumped version to 0.69. Warning: untested, overlay broken.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15543 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-15 10:46:28 +00:00
Rudolf Cornelissen
010c640964 finished and enabled support for 2D acceleration function SCREEN_TO_SCREEN_SCALED_FILTERED_BLIT (DMA mode only). While still untested, the engine keeps running at least. Should work on all cards the driver supports. Note: overlay support is now broken: 2D engine freezes at some point. Will fix that asap (I hope)...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15542 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-15 10:45:34 +00:00
Rudolf Cornelissen
2a2d851212 fixed not asking cmd buffer for room for all items (scaled_fiterled_blit)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15541 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-15 08:46:27 +00:00
Jérôme Duval
4f9f2ee29d added a pcmcia bus raw driver compatible with R5
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15540 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-14 22:50:05 +00:00
Rudolf Cornelissen
0cb2429ad1 completed preliminary (untested) scaled_filtered_blit function, although it wont' work yet: the engine cmd define and fifo assignment has yet to be setup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15538 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-14 20:53:00 +00:00
Rudolf Cornelissen
9af6e789da more stuff for SCREEN_TO_SCREEN_SCALED_FILTERED_BLIT function. Not yet complete though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15536 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-14 18:37:02 +00:00
Axel Dörfler
e0e9a3e69f * We now support the global page feature of x86 processors that prevents
kernel TLBs from being flushed on context switch.
* new arch_cpu_user_TLB_invalidate() that now does what arch_cpu_global_TLB_invalidate()
  did before.
* arch_cpu_global_TLB_invalidate() will now flush all TLBs, even those from the
  kernel.
* some cleanups.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15535 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-14 17:07:37 +00:00
Axel Dörfler
484c80abd0 * Added missing prototypes for get_eflags() and set_eflags() to arch_system_info.h
* The boot loader now checks the CPU for the cpuid and rdtsc features, which we
  currently both rely on.
* Removed old and no longer used stage2_priv.h header


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15534 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-14 10:43:28 +00:00
Stephan Aßmus
c676b8fcc6 now has a special version of B_OP_OVER for solid patterns as well, accelerated the alpha blending for B_OP_OVER.... these are the first shy steps of rewriting the drawing mode stuff... :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15532 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-13 20:18:13 +00:00
Stephan Aßmus
2a867ee674 accelerated software cursor drawing 11 times
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15531 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-13 19:28:52 +00:00
Stephan Aßmus
040ce75726 added libbeadapter.so (used by the storage kit and the haiku regisrar) to the test libs, it just went unnoticed before
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15530 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-13 19:08:18 +00:00
Axel Dörfler
f104fa77bd Did not compile with tracing turned off.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15529 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-13 17:05:47 +00:00
Axel Dörfler
51a3c450be The short story: we now have MTRR support on Intel and AMD CPUs (the latter
has not yet been tested, though - I'll do this after this commit):
* Removed the arch_memory_type stuff from vm_area; since there are only 8 memory
  ranges on x86, it's simply overkill. The MTRR code now remembers the area ID
  and finds the MTRR that way (it could also iterate over the existing MTRRs).
* Introduced some post_modules() init functions.
* If the other x86 CPUs out there don't differ a lot, MTRR functionality might
  be put back into the kernel.
* x86_write_msr() was broken, it wrote the 64 bit number with the 32 bit words
  switched - it took me some time (and lots of #GPs) to figure that one out.
* Removed the macro read_ebp() and introduced a function x86_read_ebp()
  (it's not really a time critical call).
* Followed the Intel docs on how to change MTRRs (symmetrically on all CPUs
  with caches turned off).
* Asking for memory types will automatically change the requested length to
  a power of two - note that BeOS seems to behave in the same, although that's
  not really very clean.
* fixed MTRRs are ignored for now - we should make sure at least, though,
  that they are identical on all CPUs (or turn them off, even though I'd
  prefer the BIOS stuff to be uncacheable, which we don't enforce yet, though).



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15528 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-13 16:34:29 +00:00
Waldemar Kornewald
57eab4408b Now we use the legacy headers when building our compatibility libraries. Fixed BuildSetup to use root instead of libroot.so because arp would not build otherwise. Command-line apps now don't build for R5, anymore. I hope nothing is broken.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15527 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-13 16:30:16 +00:00
Axel Dörfler
2ed21b8525 Some work in progress of the MTRR support. Shouldn't do any harm yet :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15525 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-13 00:06:52 +00:00
Axel Dörfler
b7e7814c79 Prints a warning if open_modules_list() or get_next_loaded_module_name() are
called before module_init(). Maybe it's even better to drop into the kernel
debugger.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15524 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-13 00:01:19 +00:00
Stefano Ceccherini
4fbc3f5803 Researched and implemented BDirectWindow::SupportsWindowMode() more
correctly, both for r5 and haiku


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15523 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-12 20:46:13 +00:00
Axel Dörfler
4f00613311 Added generic x86 CPU module.
Contains (emtpy) modules for Intel/AMD/VIA models.
Might be separated later, though, depending on how large they will get.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15522 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-12 17:20:32 +00:00
Axel Dörfler
97ec781e94 Added (empty) memory type functions to the PPC port.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15521 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-12 17:13:15 +00:00
Axel Dörfler
7c0a93573b Preparation for MTRR support, code is completely untested, though.
The CPU specific MTRR code will be in modules.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15520 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-12 17:04:36 +00:00
Axel Dörfler
381d6b57f6 Make sure system can continue after panic.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15519 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-12 17:00:46 +00:00
Axel Dörfler
b53cc465d6 Moved declaration of gBootDevice into its own header.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15518 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-12 16:06:33 +00:00
Axel Dörfler
aa9d29ba97 Another SMP oversight: the TSS was not explicetly loaded for all CPUs.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15517 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-12 14:38:26 +00:00
Axel Dörfler
1eed15a2d2 ServerApp no longer kills ServerWindows when they don't respond, but drops into
the debugger - killing them only very rarely works out anyway.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15516 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-12 13:57:49 +00:00
Axel Dörfler
54527a9ad5 The ServerWindow now keeps the desktop (read) lock for up to 70 messages at once.
This should make drawing a bit smoother.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15515 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-12 13:53:35 +00:00
Jérôme Duval
61a4bac025 added ICH7/6300ESB ids, untested
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15514 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-12 13:50:49 +00:00
Axel Dörfler
706fb459d5 Oops, remaining messages in the link should be taken into account as well.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15513 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-12 13:50:34 +00:00
Axel Dörfler
1b974d07ee You can now test if there are more messages waiting in the link.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15512 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-12 13:45:09 +00:00
Axel Dörfler
58290b7b37 WindowLayer::ProcessDirtyRegions() no longer deadlock in case it can't send
the AS_REDRAW message.
The AS_REDRAW message is now only used as a notifier - it's arrival is not
critical anymore, IOW it's simply dropped when the queue is full.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15511 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-12 13:14:21 +00:00
Axel Dörfler
b02ce81171 You can now specify a timeout to MessageLooper::PostMessage().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15510 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-12 13:12:51 +00:00
Axel Dörfler
61fed21b04 Renamed Write[Un]lockWindows() to [Un]lockAllWindows(), and Read[Un]lockWindows() to
[Un]lockSingleWindow().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15509 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-12 10:41:31 +00:00
Axel Dörfler
5d93a13bb4 The registrar marks itself now as a B_BACKGROUND_APP application, so that it
is no longer visible in the Deskbar.
Changed registrar.rdef to match the same application flags, and added a comment
that those flags are actually ignored. Cleaned it up a bit, too.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15508 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-12 00:27:51 +00:00
Axel Dörfler
da4580a278 Fixed a crashing bug that occured when both, "sort running applications", and
"tracker always first" was selected, and the first app that was launched was not
Tracker.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15507 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-12 00:24:52 +00:00
Stefano Ceccherini
56f2fa945f Removed duplicated status variable, which would've caused the wrong value to be returned
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15506 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-11 21:55:15 +00:00
Axel Dörfler
bff84e78b7 This enables BDirectWindow support again.
It also fixed a bug in the old code - the handshake semaphores were created
acquirable, causing the BDirectWindow::DirectDaemonFunc() to call DirectConnected()
with an uninitialized buffer and way too early - this probably didn't show up
before since it called it before the BDirectWindow constructor ran through,
so that DirectConnected() would still point to the BDirectWindow version, and
not to the implemented one of its subclass...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15505 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-11 21:46:35 +00:00
Axel Dörfler
bd09e99dbd Made the direct window test environment optional, since it crashes the Dano
app_server...
If you like to use it, define USE_DIRECT_WINDOW_TEST_MODE in the haiku_app_server
Jamfile.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15504 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-11 21:42:32 +00:00
Axel Dörfler
8126a5e7f4 Fixed debug build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15503 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-11 20:57:51 +00:00
Axel Dörfler
0f4fb801b0 BDirectWindow::DirectDeamonFunc() now exits in case it couldn't acquire or
release the direct buffer handshake semaphores.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15501 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-11 20:16:42 +00:00
Waldemar Kornewald
8a1a2b3aa9 Cleaned up the net_stack_driver a little bit, so it is more usable.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15500 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-11 20:09:47 +00:00
Axel Dörfler
e68b762659 More GCC 4 fixes by Ingo Weinhold - appeared because of the recent removal
of new/typeinfo/exception from our headers.
Rearranged the IconCache node_ref hash computation to be padding-resistant
(at least on PPC, node_ref is 16 bytes long, not 12 as it is with x86 and GCC 2).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15498 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-11 19:37:18 +00:00
Ingo Weinhold
210c204d16 Do I miss something? Why explicitly use headers/cpp?
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15496 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-11 16:26:54 +00:00
Ingo Weinhold
4612b9835c Directly use the atomic.S from libroot. This avoids needing to have a
file per architecture here.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15495 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-11 16:25:02 +00:00
Ingo Weinhold
bedeb04ec8 Forgot to check this in. GCC 4 fix.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15493 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-11 15:44:03 +00:00
Ingo Weinhold
998eb12d97 Ouch! Sometimes one simply doesn't find words... I wonder whether the
author ever checked the documentation for the function he was trying to
use.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15492 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-11 14:09:30 +00:00
Ingo Weinhold
fad6687c9a Fixed PPC build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15491 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-11 14:01:46 +00:00
Ingo Weinhold
711f8274f3 BlankLogo is also needed on PPC.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15489 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-11 13:50:20 +00:00
Ingo Weinhold
d0769921ab Use atomic_set() instead of hard-coded x86 inline asm.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15488 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-11 13:44:40 +00:00
Ingo Weinhold
c6745ed536 Fix build for PPC.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15487 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-11 13:34:28 +00:00
Ingo Weinhold
6e040d83ea Added __swap_{float,double} for PPC. They are probably horribly
suboptimal (if working at all) -- review is appreciated.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15486 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-11 13:26:50 +00:00
Ingo Weinhold
d85fe0ec25 Compatibility functions. Actually not needed for PPC Haiku, but it's
easier to define them for now, since they are used unconditionally e.g.
in the Tracker sources.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15485 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-11 13:25:00 +00:00
Stephan Aßmus
60e12a12c5 no longer used
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15484 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-11 13:09:51 +00:00
Stephan Aßmus
3c2ffeb0d6 fixed one more drawing bug, it only showed because now the test environment uses hardware acceleration, FillRegion for the client irgnored the current clipping
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15483 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-11 13:03:53 +00:00
Stephan Aßmus
1b13861833 included the wrong header
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15482 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-11 13:00:29 +00:00
Ingo Weinhold
de69ef37bb Added a good deal of "#ifdef __INTEL__"s to allow compilation on PPC. As
one of the TODOs already says, the architecture specific parts should be
factored out into separate source files.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15480 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-10 23:12:49 +00:00
Ingo Weinhold
fe14a904a8 * Implemented [sig]{set,long}jmp() for PPC. No idea, if it is any good,
but it compiles at least. :-)
* Pulled the architecture specific part out of <posix/setjmp.h> into
  <posix/arch/<arch>/arch_setjmp.h>.
* Moved setjmp_save_sigs.c from the x86 specific implementation into a
  "generic" sibling directory, since it is reusable (and actually used
  by the PPC implementation).
* Added generic/longjmp_return.c containing a function __longjmp_return,
  which is invoked at the end of siglongjmp(), resetting the signal mask
  and validating the return value. It is used by the PPC implementation,
  and should also be used by the x86 implementation, but I'll leave that
  to someone who's motivated enough to also test it. :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15479 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-10 22:56:52 +00:00
Stephan Aßmus
62b965a65f * got the "cloned accelerant" based DWindowHWInterface to work, though without
using the clipping info from a BDirectWindow... I made it so that the window
  used stays on top always, until I can think of something better. The other
  problem is that you should not move the window, since Painter doesn't update
  it's pointer into the frame buffer.
* Now the test environment is running at pretty much the same speed as it would
  under Haiku, completely by-passing the BeOS app_server. It shows that Painter
  needs to be optimized for writing to graphics memory, and also that we need to
  figure out a way to distribute update sessions more equally. What happens is
  this: The first invalidation of a window triggers an update on the client
  side... the client cannot keep up with drawing, since it is pretty much
  blocked all the time because the desktop thread moves a window and because
  the clipping constantly changes. In the meantime, new update request are
  added to the pending session because the client has still not finished with
  the current session. Only when things settle a bit, the next update session
  can be startet. On the bright side of things, the earlier problems with
  scrolling seem to be fixed for good.
* some documentation updates on Painter


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15478 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-10 21:45:41 +00:00
Ingo Weinhold
901f399036 * Removed libroot/posix/math completely and added the respective
functions from glibc 2.3.2. Adding those one by one is extremely
  boring and time-consuming work. We should probably just remove the
  math stuff again, add a verbatim copy of the glibc directories, and
  shuffle things around afterwards.
* Note that for x86 holds sizeof(long double) == 96. I removed the
  generic 128 bit long double functions that were in use before and
  added respective 96 bit versions to arch/x86 (or left them out, if
  they weren't used). For PPC the System V ABI spec supplement specifies
  sizeof(long double) == 128, but I had trouble configuring gcc to
  actually use that setting (looks like there simply is no support for
  TI mode for PPC 32). So we have to live with sizeof(long double) ==
  sizeof(double) == 64 for the time being.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15477 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-10 20:39:04 +00:00
Ingo Weinhold
27de84142b Empty implementations of PPC stack trace functions to make the build
system happy.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15476 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-10 20:17:49 +00:00
Ingo Weinhold
b4add623a4 Fixed gcc4 build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15475 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-10 20:16:41 +00:00