Ingo Weinhold
c36e75d1cb
Added Referencable.cpp and MessageDeliverer.cpp.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11030 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 15:04:52 +00:00
Ingo Weinhold
2467cef0f0
This class encapsulates the service delivering messages without dropping
...
them immediately when the target port is full at the moment. It's not
quite complete. The data structures are there, but the actual delivery is
still missing.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11029 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 15:04:05 +00:00
Ingo Weinhold
47e01f5075
Added helper class Referencable (a simple base class for reference counting).
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11028 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 15:00:12 +00:00
Ingo Weinhold
73895a69a0
* Added the class MessagingCommandHandler, instances of which can be
...
registered as handlers for specific commands sent by the kernel.
(Beautifully object-oriented :-)
* Fixed a bug regarding MessageArea creation (the object was deleted
twice on error).
* Actually resume the command processor thread.
* Turned the class into a singleton.
* Now always process all commands found in an area (should minimize
latencies).
Modulo bugs the class is now complete.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11027 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 14:58:37 +00:00
Ingo Weinhold
27bd55fdf3
* Improved initialization.
...
* The counter semaphore is now only released when writing a command into
an formerly empty area. The userland part is aware of that. :-)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11026 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 14:51:06 +00:00
Ingo Weinhold
d7b6591345
Added initialization of the messaging service.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11025 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 14:48:34 +00:00
Ingo Weinhold
647bed8f15
Added clarifying comment.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11024 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 14:47:22 +00:00
Ingo Weinhold
4b8aafea9f
BMessenger has no friends besides Private anymore.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11023 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 14:46:28 +00:00
Ingo Weinhold
4afc60d31b
* Turned the private constructor into a SetTo().
...
* The < operator uses BMessenger::Private now (it's no longer a friend).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11022 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 14:45:14 +00:00
Ingo Weinhold
16cab04ad2
* Fixed mismatching header guard.
...
* Added SetTo().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11021 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 14:42:55 +00:00
Ingo Weinhold
054e7d17d7
* Got rid of all friends save the Private inner class.
...
* Turned the private constructor into a private SetTo().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11020 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 14:41:50 +00:00
Axel Dörfler
f3cadd05dd
Improved header - struct kernel_args was only defined in arch headers.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11019 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 14:24:01 +00:00
Rudolf Cornelissen
e846ba3dd6
updated DMA engine error handling: the driver should nolonger hang (again) if the engine crashes.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11018 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 12:58:15 +00:00
Axel Dörfler
0bfd48e555
Will now also publish directories for existing driver directories that
...
have subdirectories in order to find device drivers like /dev/audio/raw
without any drivers in /dev/audio.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11017 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 02:57:52 +00:00
Axel Dörfler
dd5857c283
Added devfs_publish_directory() prototype.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11016 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 02:37:08 +00:00
Axel Dörfler
7ec59908da
Added a devfs_publish_directory() function that just tries to make sure
...
that a path is available (like "mkdir -p").
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11015 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 02:17:02 +00:00
Axel Dörfler
9d2a7c104c
Added the media_server and media_addon_server.
...
Added some translator and media add-ons.
Servers are now copied using "copyattr" to preserve file attributes (primarily
for BEOS:APP_SIG at this point).
Now copies current/data/settings/* to the target.
Output of mkbfs is trashed.
Now prints a warning in case the build failed.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11014 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 21:27:38 +00:00
Axel Dörfler
bc1c6407f6
Added a sample kernel settings file, explaining the existing options.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11013 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 21:13:24 +00:00
Adi Oanca
574540edd2
Removed a redundant BMessage when mouse button was pressed. This message is already sent by WinBorder::MouseDown(). Window content was redraw when a window became active. Removed some code that anyway was not used. It will be replaced by the new window manager which is comming soon.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11012 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 21:04:23 +00:00
Adi Oanca
c4e214743d
All 'Invalidate' methods are now private, intended for RootLayer's use only.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11011 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 20:59:27 +00:00
Adi Oanca
304feb8ad5
RebuildAndForceRedraw() is not needed anymore
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11010 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 20:57:51 +00:00
Rudolf Cornelissen
ab26d7f837
finalized DMA buffer overfill checking for optimum speed. On NV11 accelerated functions are running at 130% to 200% speed in DMA mode compared to the 'old' PIO mode. Without trouble now.
...
Still only 32bit mode, and still missing invert_rect function though. Also still not explicitly adhering the engine constraints which needs to be rechecked/retuned compared to PIO mode (hence the non working 800x600x8 mode I expect..)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11009 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 20:11:59 +00:00
Axel Dörfler
c586de1d62
Removed warnings, minor cleanup.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11008 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 18:53:34 +00:00
Adi Oanca
bd1ede2ae9
Yes... I really don't remember why I haven't subclassed FMWList from BList...
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11007 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 17:34:47 +00:00
Adi Oanca
383461c7ee
3 global variables (gRedrawReg, gCopyRegList, gCopyList) went into RootLayer's property
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11006 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 17:18:19 +00:00
Rudolf Cornelissen
11e38e920f
added checking to prevent DMA buffer overfills: it turns out for instance NV11 can't keep up with BeRoMeter and the engine crashes otherwise. It turns out NV11 is currently only working correctly in 32bit color mode BTW.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11005 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 16:14:20 +00:00
Jérôme Duval
e01fcf6917
moved to rdef format
...
added strlcpy.c for r5 builds
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11004 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 14:41:30 +00:00
Rudolf Cornelissen
e2e0a5e177
shut-down that dumb ISA access for DMA. Acc speed just went through the roof! (testing with BeRoMeter). I'll now compare DMA and non-DMA speed on NV11 8-)
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11003 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 11:33:13 +00:00
Rudolf Cornelissen
940dbde600
using NV4_GDI_RECTANGLE_TEXT instead of the older NV3 version for DMA acc. Seems like the old one can't be used with DMA (or I am hitting my limited knowledge on nVidia's Hash-table again..)
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11002 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 11:16:39 +00:00
Rudolf Cornelissen
34b1362959
DMA versions of fill_rect and fill_span (same core func still) are up! Removed some testlogging, their load became too high with these new functions added :)
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11001 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 11:14:01 +00:00
Rudolf Cornelissen
de653df809
small cleanup. This fixes DMA buffer freespace tracking as well.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11000 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 09:50:07 +00:00
Ingo Weinhold
dd43b03ce1
Added the messaging service and a compatibility file for the R5 test registrar.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10999 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 01:32:17 +00:00
Ingo Weinhold
0a1eb226fb
Start the messaging service. Due to missing kernel functionality the
...
initialization still fails.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10998 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 01:31:02 +00:00
Ingo Weinhold
cdab464e30
New macro for non-fatal, but nevertheless serious errors.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10997 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 01:29:24 +00:00
Ingo Weinhold
c72f8221e0
File we only compile in for the obos_registrar, the one for testing under R5. Contains dummies for syscalls not existent there.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10996 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 01:28:33 +00:00
Ingo Weinhold
9e4d0f686e
The beginning of the registrar-side kernel->userland messaging service.
...
The passing of commands from kernel to registrar should be complete now,
only the actual message delivery is missing.
Completely untested yet.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10995 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 01:26:39 +00:00
Ingo Weinhold
b5c8eaec52
Added messaging service header.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10994 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 01:23:20 +00:00
Ingo Weinhold
fbca78bb8b
Added messaging service syscalls.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10993 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 01:22:51 +00:00
Ingo Weinhold
65174bbf57
Added unregistration. Fixed MessagingService::RegisterService(): the semaphores weren't stored.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10992 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 01:22:03 +00:00
Ingo Weinhold
244ddcf058
Added _user_unregister_messaging_service(). Fixed second send_message() proto.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10991 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-24 01:19:03 +00:00
Ingo Weinhold
2c872c4fe5
Removed obsolete ancestor.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10990 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-23 23:00:37 +00:00
Matthew Wilber
b28c58d13d
Fixed "HButton" typos
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10989 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-23 22:41:23 +00:00
beveloper
afeadaa239
Bumped release number for bebits release, a few bugfixes had been done since release 0.2, including the name change from OpenBeOS to Haiku.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10988 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-23 22:38:29 +00:00
Rudolf Cornelissen
a8c119773f
added acc function defines for DMA, for fill_rect.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10987 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-23 20:56:08 +00:00
Rudolf Cornelissen
105a3567a6
added fill_rect and fill_span functions (same). Not yet exported, not yet working either..
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10986 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-23 20:52:37 +00:00
Ingo Weinhold
4cacc85bae
Prevent a linker error. It complains about multiple definitions of nothrow.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10985 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-23 19:56:19 +00:00
Ingo Weinhold
2d50eca728
Added the messaging service.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10984 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-23 19:54:46 +00:00
Ingo Weinhold
59b9b48bb3
Added a service that will be responsible for sending messages from kernel
...
to userland applications. A userland server (probably the registrar) will
register as the server responsible for delivering the messages. The
messages are passed to it via shared memory.
The advantage over sending the messages directly will be, that they won't
need to be dropped, if the receiver port is temporarily full.
Currently only the kernel side is implemented. Completely untested yet.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10983 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-23 19:54:19 +00:00
Ingo Weinhold
e81d2d2645
Added missing headers.
...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10982 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-23 19:43:32 +00:00
DarkWyrm
c0dc91fc00
Since last checkin version had no description:
...
Huge amounts more debug output available
Resolved several timing issues
Fixed a major problem with sending mouse messages to the server when emulating the input server
There are still stability issues with initial startup
Still some drawing problems
It *works*!
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10981 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-23 18:59:50 +00:00