Commit Graph

12871 Commits

Author SHA1 Message Date
Axel Dörfler
140e3bb026 Instead of the ugly and unnecessary cookie union, we now have a cookie for
opened devices, and one for opened directories.
Also adds and removes those directory cookies correctly now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12855 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-27 00:43:01 +00:00
Axel Dörfler
b716c3307f Removing the cookie must be locked as well, of course.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12854 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-27 00:41:00 +00:00
Axel Dörfler
7c17001c77 Implemented BPartition::GetPath() much like KPartition::GetPath().
The "mountvolume" command can now actually mount file systems :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12853 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-26 20:44:33 +00:00
Axel Dörfler
96cfeb706a Now prints "<unknown>" as the name of unrecognized file/partitioning systems.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12852 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-26 20:13:33 +00:00
Axel Dörfler
b674940baa No longer shows "<unnamed>" for partitioning systems that have no name.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12851 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-26 19:58:36 +00:00
Axel Dörfler
0f04de87a7 The directory cookies of open directories are now correctly maintained and
removed when no longer used (the same bug is still present in devfs, btw,
and can potentially cause crashes).
Cleanup of the cookie code, it's now using util/list.h.
Now issues B_STAT_CHANGED notifications when directory entries changed.
rootfs_rename() was completely broken for "inter-directory" movements.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12850 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-26 19:56:41 +00:00
Rudolf Cornelissen
b602e341ca added bool for engine AGP/PCI transfer selection to shared_info
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12849 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-26 19:50:58 +00:00
Rudolf Cornelissen
0188d8661e added shared_info flag to assess PCI or AGP mode. Engine (if in DMA mode) selects PCI or AGP transfers accordingly (pre-NV40 only for now). It seems the combination of the 1Mb cmd buffer size and it being in main mem makes it all fast. (1Mb in gfx card remains at same speed at 32kb.). Maybe we can even use AGP engine transfers for placing textures on the gfx card in the future: who knows.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12848 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-26 19:49:18 +00:00
Jérôme Duval
50461e314f added top
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12847 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-26 15:22:15 +00:00
Axel Dörfler
d7c08b7d2e Tried to make the ServerApp aware when a client dies: the main communication
port is now transferred to the client, so that it goes away automatically.
Unfortunately, this doesn't seem to work. This code is truly a big mess :-/


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12846 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-26 15:06:31 +00:00
Axel Dörfler
280d1aac5b Tried something, didn't work, some cleanup left.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12845 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-26 15:04:45 +00:00
Rudolf Cornelissen
1e7ae0559f forgot to tell the DMA cmd fetch engine it may write-back as well as read. Seems to not have influence on speed, as expected I'd say. Anyway: just tried enabling AGP transfers for cmd fetches: that actually works over here!. I just saw GLteapot spinning at over 400fps because of it. Note however that this doesn't mean we can reach that speed with a local DMA command buffer: the real reason for the higher speed might be the large size (1Mb compared to 32kB). testing some more..
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12844 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-26 14:38:09 +00:00
Rudolf Cornelissen
5b5ef87b84 on pre-NV40 I have activated the main mem DMA command buffer at size = 1Mb. It's working OK and is way faster on TNT1 (using the local-DMA-via-mainmem workaround) - of course. For all other cards however (so which have working local DMA command buffers) the mainmem implementation is actually a bit slower, and places a higher burder on the bus slowing down 2D a lot when 3D maxes out. All in all, I am not sure this is the way to go. It might be best to make this all a switch for nv.settings, disabled by default. Still testing... (Curious how AGP transfers will do - if possible, currently using PCI transfers)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12843 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-26 14:08:36 +00:00
Axel Dörfler
0c7e8ef8f4 Renamed "cl" to fCurrentLayer.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12842 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-26 13:56:42 +00:00
Stefano Ceccherini
2a7798ca69 Fix unzip's build after byteorder.h removal.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12841 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-26 12:09:17 +00:00
Axel Dörfler
8cd812c172 Forgot to uncomment this line: the "depth" argument of the vesa file is now also
evaluated, so that you can specify something different than 8 bit in there.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12840 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-26 12:05:31 +00:00
Axel Dörfler
028aae6c9c Another improvement of the debug code - it seems to has a different cause than I thought.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12839 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-26 12:02:29 +00:00
Rudolf Cornelissen
e8f7b5623e updated shared_info once more for DMA cmdbuffer in main mem.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12838 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-26 11:42:16 +00:00
Rudolf Cornelissen
37dd6ec29e updated kerneldriver again for DMA cmdbuffer in mainmem: added MTRR-WC mapping now. Actually copying some stuff from Thomas :-), interesting read. I'll try to go without further cloning of that DMA area for now. (learning..)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12837 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-26 11:41:33 +00:00
Rudolf Cornelissen
395332ac33 small update to keep accelerant working with already modified kerneldriver and shared_info for mainmem DMA buffer.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12836 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-26 11:38:35 +00:00
Axel Dörfler
b82b759368 Additional debug stuff in order to have the power to fix an annoying bug
(mostly happens in the kernel debugger). Not tested, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12835 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-26 10:39:12 +00:00
Rudolf Cornelissen
9c9a94038a modified shared_info for mainmem DMA command buffer use.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12834 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-26 09:31:12 +00:00
Rudolf Cornelissen
8d87804ed6 added creation of 1Mb DMA command buffer in main mem. Hopefully this will further speedup DMA acceleration when finished in accelerant.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12833 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-26 09:30:20 +00:00
Rudolf Cornelissen
8e02d400d1 added global var for DMA command buffer area clone in mainmem.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12832 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-26 09:28:38 +00:00
Axel Dörfler
e5b4782b4e Made some necessary enhancements to class Screen; the app_server also
has to care about refresh rates. Also changed Screen::GetMode() (formerly
Resolution()) to return all interesting values, so that hopefully no one
will call it anymore like RootLayer::SetScreens() did.
Greatly improved the horrible RootLayer::SetScreens().
The app_server is now able to deal with failing HWInterface::SetMode() calls;
in this case, it will fall back to the hardware's current mode. This now
also works correctly in combination with the vesa driver, so that you don't
have to compile the app_server with the same resolution you boot in anymore.
SetMode() now always returns if it succeeded or not.
Renamed RootLayer::fScreenXYResolution to fScreenWidth/Height respectively.
Removed the useless DisplayDriver::DisplayMode() method.
Added B_GET_DISPLAY_MODE to the required accelerant hooks.
Some minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12831 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-26 09:21:51 +00:00
Axel Dörfler
18b6200e54 Enlarged the kernel heap to 16 MB.
This will keep it alive longer until a) the block cache no longer
uses the heap, and b) we get a better heap without a fixed size.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12830 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-26 09:11:30 +00:00
Axel Dörfler
d260b2c469 Made the header C++ safe.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12829 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-26 09:08:54 +00:00
Axel Dörfler
5cc1406383 The libfs_shell.a is no longer built with DEBUG turned on by default.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12828 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-26 08:24:00 +00:00
Axel Dörfler
09b83e5cec Removed the obsolete byteorder.h header (it just included ByteOrder.h).
Fixed the remaining references to that header in our repository.
Note, this might break source compatibility - please update your sources :-)
Slightly converted UBS_audio_utils.c to use our style guide while I were at it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12827 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-26 08:12:59 +00:00
Axel Dörfler
69aaf3f39b Fixed some stupid problems with the stat::st_mode field; the type of
a node was not always correctly determined (or set) - the recent change
of the attribute (directory) modes made these bugs a bit more obtrusive.
This also fixes a drop to the kernel debugger when doing a
"zip -r config.zip config/" in the home directory, as reported by Korli.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12826 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-26 08:09:27 +00:00
Axel Dörfler
a9d0f0e576 Fixed a minor bug in the file system check code: it was not always correctly
determined if the parent directory had the wrong type.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12825 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-26 08:06:30 +00:00
Axel Dörfler
fa7ec9d4e9 FATAL() now does a sync() before it panics, so that the on disk data
is up to date for later inspection.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12824 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-26 08:02:07 +00:00
Axel Dörfler
8bd36612dc First try to get the boot logo displayed properly in all color spaces.
For some reason, the colors are wrong for anything but 8bit modes, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12823 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-26 07:47:19 +00:00
Axel Dörfler
bae7c12dba bfs_read_link() did not report the correct link size (it did not take the
terminating null byte into account) - thanks to Korli for reporting this.
Inode::Create() will no longer publish symlink vnodes; instead, bfs_create_symlink()
will publish the link when it is complete (ie. the actual link data had been
written).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12822 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-26 02:05:44 +00:00
Axel Dörfler
1333009e1c {rootfs|devfs}_read_link() did not report the correct link size on
success (they just kept the passed in buffer size unchanged).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12821 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-26 02:04:00 +00:00
Axel Dörfler
a460a8f084 More or less rewrote the heap wall stuff:
- it's now much cleaner than before
- it now actually works in combination with realloc() (the fix from before didn't work)
- got rid of the WALL_ALIGNMENT definition
- can now handle different WALL_SIZEs


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12820 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-26 01:39:38 +00:00
Stephan Aßmus
d593ad8f06 added a little debugging facility for printing on-screen debugging info on Haiku. For those like me without serial debugging... also made RootLayer use the desktop background color.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12819 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-25 23:59:23 +00:00
Axel Dörfler
d85db27509 Screw source compatibility. Cleaning up the legacy.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12818 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-25 23:57:47 +00:00
Stephan Aßmus
74994d1307 added license headers
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12817 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-25 23:47:05 +00:00
Axel Dörfler
da8c77faa3 The wall checking code now also works in combination with realloc(), and
it's a tiny bit cleaner, too.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12816 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-25 18:38:36 +00:00
Stephan Aßmus
55d6f1b792 Many efficiency improvements to text rendering. Moved stuff from Painter into AGGTextRenderer which didn't belong in Painter. AGGTextRenderer now has an embedded transformation, which expresses the font rotation and (in future) shear settings. Removed direct support for BBitmaps from Painter (supposed to draw ServerBitmaps). Tested drawing of bitmaps other than B_RGB32. (only B_CMAP8 and B_GRAY8 so far, but they work). Right now, these colorspaces are supported by on the fly conversion. So every colorspace supported by BBitmap::ImportBits() should work, which are a lot more than the R5 app_server can display.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12815 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-25 18:20:45 +00:00
Stephan Aßmus
85b226041a Added B_BITMAP_NO_SERVER_LINK to the BBitmap flags. It constructs a BBitmap without a server link, which consequently cannot be drawn by the app_server, but which is nevertheless very useful. It essentially does the same thing as RUN_WITHOUT_APP_SERVER. I also added a CleanUp() function and moved the cleanup code from InitObject() there. CleanUp() is now called in the destructor, which means that the app_server now knows when to free the server side bitmap.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12814 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-25 18:10:20 +00:00
Stephan Aßmus
7c5f224338 fixed a possible segfault in an out of mem condition. Fixed build for Haiku, since libpng.a and libz.a are not build for Haiku it seems. Is there a specific reason to link them statically? These are system libs after all.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12813 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-25 18:04:34 +00:00
Adi Oanca
ccf52fa4fe resizing layers with any rule seems to work now. lots of testing remains to be done...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12812 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-25 17:05:28 +00:00
Jérôme Duval
1ea5e6a028 Cleaned manref ids, in the end tools document filenames are cleaner
Commented out Name and Synopsis, they are useless in our case


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12811 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-25 16:18:28 +00:00
Axel Dörfler
6d352d08b3 Added an arch_get_caller() function that returns the caller of the calling function :-)
Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12810 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-25 13:58:32 +00:00
Axel Dörfler
14a578f640 If compiled with USE_WALL, check_wall() will now be exported, so that
it can be called from the outside.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12809 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-25 13:41:14 +00:00
Axel Dörfler
ff229e1ebb The buffer passed over from the boot loader is now null terminated.
load_driver_settings() now accepts absolute paths as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12808 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-25 13:35:46 +00:00
Axel Dörfler
6851f9807c The DriverSettingsTest now accepts additional settings files on the command line.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12807 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-25 13:33:39 +00:00
Axel Dörfler
c4b3327af7 Added the vesa driver - note, if you're using it, you have to switch to the
resolution you compiled app_server with in the boot menu (or via the "vesa"
kernel settings file).
Added libtracker.so to the image.
Also added "People", "ShowImage", "Clock", and "ScrollBar", neither of
them seem to work yet, though (but we can still hope, right?).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12806 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-25 01:55:16 +00:00