Commit Graph
2897 Commits
Author SHA1 Message Date
Rudolf Cornelissen 097936d6b4 added recognition for one more GeForce 6200 card: ID 0x0221. Updated documentation.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12929 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-02 15:35:18 +00:00
Rudolf Cornelissen 433b97de4b added recognition for one more GeForce 6200 card: ID 0x0221. Bumped driverversion to 0.49.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12928 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-02 15:34:25 +00:00
Rudolf Cornelissen 740fbb06ef updated explicit engine register clearing to be only carried out on pre-NV20: newer cards don't like this and hang. Also cleaned up a bit. Let's stick with the 1Mb cmd buffer as it seems to have proven itself now. (only pre-NV40 for now).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12927 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-02 14:58:55 +00:00
Rudolf Cornelissen bbc828ca1e added some more comments for specs
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12926 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-02 12:54:23 +00:00
Rudolf Cornelissen ca45967104 FIX FOR NV18cd obos_svn/trunk/src/add-ons/accelerants/nvidia/ We now have a new winner for 3D. Quake2 runs at 91.5fps in 640x480x16. I can hardly believe this..
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12925 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-02 12:38:16 +00:00
Michael Lotz e89253271b The net_stack_driver now uses a reference count to determine when to unload the core. This way the core is not unloaded to early and we don't need to work around the unload by opening ourselfs.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12922 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-01 17:40:28 +00:00
Jérôme Duval 23c06b6a3b removed useless link
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12919 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-01 11:59:05 +00:00
Stefano Ceccherini e7b980ae96 now we send B_MOUSE_MOVED before any other message. This should fix the problem described in the TODO item. At least, it does over here.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12917 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-06-01 07:54:54 +00:00
Axel Dörfler 2dbdc141cf Transactions can now be nested (bfs_release_vnode() actually did that before,
but that was not working correctly):
only the owning transaction (the one that came first) can now end a transaction.
To do: if the owning transaction fails, it should actually not abort the
transaction in case there were sub transactions, but does so right now
(should do no harm, eventually file data is not freed as it should).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12913 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-31 01:26:39 +00:00
Axel Dörfler 3bb591ce9a We don't want to drop into the kernel debugger for that right now
(FATAL() would be okay, but it's currently configured to panic).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12912 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-31 01:19:43 +00:00
Axel Dörfler 809025e47c BlockArray::MakeEmpty() can now also be called before the block has been actually used.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12911 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-31 01:18:34 +00:00
Marcus Overhagen fddbbc88ef made this a little bit less weird
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12906 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-30 20:00:02 +00:00
Rudolf Cornelissen f1909366e4 fixed NV1x 3D DMA acceleration. NV15 now renders the teapot at 400+fps in both 16 and 32bit, quake2 in 640x480x16 runs at 77fps. The DMA 3D driver is now fully operational to the same extent as the PIO version: but much faster :-). Note, this 2D driver is still in testing..
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12905 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-30 19:04:16 +00:00
Axel Dörfler 5692a950fa We don't stack transactions together, so we need to end each transaction,
even if empty.
Added some more debug output.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12904 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-30 18:35:25 +00:00
Axel Dörfler 9a63135f7c Cleanup of the debug stuff, prepared for blue screen debugging.
kernel_debugger() didn't do enough before; panic() did all the work - but
since the former is a public function as well, I moved all the functionality
to it. Also fixed a possible buffer overrun in panic().
Renamed dbg_* to debug_*.
"serial_debug_port" setting did not ignore negative values.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12889 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-29 13:01:38 +00:00
Marcus Overhagen 3100a10aa1 fixed "unknown header type" problem
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12883 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-29 01:04:44 +00:00
Marcus Overhagen 4cb118d317 4 => 7
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12879 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-29 00:34:30 +00:00
Marcus Overhagen 56c6492868 Fixed PS/2 mouse driver.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12876 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-29 00:27:21 +00:00
Marcus Overhagen 6c21f09133 Added debug output of PCI capabilites.
Watch out for DebugPort on USB2 devices. 
I didn't find one so far.
Changed from OpenBeOS to MIT license.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12873 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-28 22:21:48 +00:00
Rudolf Cornelissen e09808e0d4 added some register info I found out concerning 2D and 3D surfaces, useable as backup if programming doesn't work via the FIFO (PIO mode) or cmd buffer (DMA mode).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12862 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-28 11:35:42 +00:00
Stefano Ceccherini 6af8fc0973 Added a TODO item with the possible solution to a bug (which I can't verify at the moment), improved error checking.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12856 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-27 06:34:20 +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
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
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
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 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 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
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
Axel Dörfler 36cb9bac61 Attribute directories must have the S_IFDIR flag set, attribute files
the S_IFREG flag. The missing flags caused the original BFS to crash
on our files.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12796 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-24 10:38:59 +00:00
Andrew Bachmann a5b8374506 copy_str patch from Oscar Lesta [BiPolar]
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12795 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-24 05:03:50 +00:00
Axel Dörfler 47f39c93cb Merged the disk device manager module interface for file systems with the
VFS's interface, so that a file system only has to implement one interface.
As a side effect, the automatic file system detection may now work (not yet
tested, though).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12786 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-23 17:15:56 +00:00
Rudolf Cornelissen 2355a05635 same engine command defines location cleanup for PIO mode, as done before for DMA mode.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12765 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-22 13:54:23 +00:00
Rudolf Cornelissen 23f40a2345 more cleanup for DMA: re-organised cmd define locations.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12764 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-22 13:22:52 +00:00
Rudolf Cornelissen af9bb34820 major hash and engine command defines cleanup (PIO and DMA). It looks like the hash-rules are quite simple after all. Hoping I'm right about that: looking good. PIO mode: 3D add-on alpha1 should nolonger work with the current 2D driver (hang). DMA mode: on TNT2 orig, DMA 3D acc is fully working now. All surface commands work, old ones are removed. I'll (try to) bring PIO mode upto par so 3D will work again there too. GLteapot stays at 360fps @ 16bit, 280 fps @ 32bit for now (TNT2 orig). Bumped version to 0.47.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12762 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-22 12:57:23 +00:00
Rudolf Cornelissen 980fda2605 fixed concurrent overlay and 3D use. This never worked before: it turns out that overlay requires a certain engine command setup order/chain without gaps to prevent hard crashes. 3D surface cmd still down though..
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12756 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-21 18:56:47 +00:00
Rudolf Cornelissen 0fcc145db7 removed more old surface commands related programming.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12755 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-21 16:04:02 +00:00
Rudolf Cornelissen 1684de3904 removed old 2D/3D surface commands. While the 'new' 3D surface command is still down, the 2D surface command has been replaced with NV4_SURFACE/NV10_CONTEXT_SURFACES_2D. These indeed work. Teapot: now @ 360fps on TNT2 orig (16bit).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12754 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-21 15:45:55 +00:00
Axel Dörfler d1783112af Our devfs currently keeps drivers around, so it's not a good idea to
install interrupt handlers in init_driver().
The downside of this is that you can now only use F12 to drop into
the debugger when the console appeared (not before).
This way, the driver no longer causes ps2_hid to not be able to
disable or enable the keyboard (which means you can keep them both
installed without worries).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12732 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-19 14:30:27 +00:00
Marcus Overhagen c26b5613f9 Fixed some IRQ sharing bugs. There may be more that are still undetected.
Unfortunately, IDE in compatiblitiy (non-native) mode doesn't use IRQ sharing.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12676 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-15 23:32:14 +00:00
Bruno G. Albuquerque 7359ef201a Got SMTP to work with some broken SMTP servers.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12671 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-15 13:57:03 +00:00
Rudolf Cornelissen 6efe4e121f fixed introduced error for TNT1. DMA mode is a bit flaky ATM though here.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12650 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-12 19:02:23 +00:00
Michael Lotz 8f3f38367e Buildfixes for the blkman -> block_io change. Also fixes the non TRACE_PCI version of the PCI add-on.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12649 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-12 18:09:37 +00:00
Axel Dörfler 879d9c6b6e Renamed the "blkman" module to "block_io".
Also renamed some defines and structures, although the structure and some other names are still odd.
This module should probably be moved into the kernel anyway, as it provides basic and crucial services.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12646 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-12 15:43:02 +00:00