Commit Graph

59835 Commits

Author SHA1 Message Date
Axel Dörfler 071f62bc36 Major code cleanup and reorganisation.
Fixed many bugs.
Now, the vfs_ prefix is for functions that are called by other parts of the
kernel. file_ is for file related stuff, dir_ for directory related, and
common_ for both, fs_ for general file system stuff.
Put all prefixed functions together in the source.
Implemented (currently without a user/sys call) opening/creating of entry_refs,
and node_refs (the latter for opening directories only).
Moved vfs_dup(), and vfs_dup2() to fd.c, fd_dup(), and fd_dup2().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@351 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-20 00:16:12 +00:00
David Reid 6ec6552ee4 Small change to remove a bug in removal.
This in association with Michael N in IRC.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@350 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-19 19:25:37 +00:00
David Reid bcfd132286 Change to the way that interrupts are called. These now are the correct
calls for the recent changes.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@349 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-19 18:36:14 +00:00
David Reid b1dba4cbd5 Fix the interrupt handling...
we now differntiate between an I/O interrupt (ie one that is likely
to be triggered by a device on the system using an IRQ between
0 and 15) and one that we're creating to allow us to have functions
called for events, ie a software interrupt. Behaviour is all
commented in the file int.c, but you need to make sure that you call the
correct version.

install_io_interrupt_handler now needs an IRQ value between 0 and 15 and
will treat the irq as one it needs to enable/disable

install_interrupt_handler is for software interrupts and is essentially
the function we had.

For mroe read the comments in the file.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@348 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-19 18:33:41 +00:00
David Reid c6aa053941 Add some new functions for the big change coming (again) for the
interrupt code. Also start adding doxygen comments :)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@347 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-19 18:28:57 +00:00
David Reid 161de6e63c Add the ps2mouse.h header next to the code it deals with. It's not used
anywhere else...


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@346 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-19 18:27:48 +00:00
David Reid 8a396015a1 There is no need for this to be here, so move it alongside the code
it refers to as that makes more sense.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@345 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-19 18:23:10 +00:00
Ingo Weinhold 76858a334d BLooper::LockWithTimeout() was always using B_INFINITE_TIMEOUT.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@344 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-19 17:08:50 +00:00
Ingo Weinhold 45962ab457 Fixed the test output.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@343 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-19 17:08:06 +00:00
Ingo Weinhold 7ce28c0458 Added tests for BMessenger::LockTargetWithTimeout(), the assignment operator and the comparisson operators == and !=. < has still to be done.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@342 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-19 17:07:36 +00:00
David Reid 49b0a26dba Add some more comments.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@341 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-19 16:10:56 +00:00
David Reid 48377a24b0 Few changes...
- catch up with the changes to the interrupt functions
- change the way we handle the list of handlers to use a standard
  function rather than a home spun one :)
- don't add every function on a pci device as a seperate device
- add more info to the pci_info structure
- when FULL_MONTY turned on show more information


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@340 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-19 16:07:36 +00:00
David Reid 9adc7af78a Change to the interrupt handler return values.
Also reflect the change of function name and number of
parameters.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@339 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-19 16:04:12 +00:00
David Reid fd2ee3a598 Change to the interrupt handler return values.
Also, the style police have visited ps2mouse.c


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@338 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-19 16:02:58 +00:00
David Reid 5186a4c76b Change to the interrupt handler return values.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@337 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-19 16:01:15 +00:00
David Reid ca91310a67 Start the change to using beos style interrupt handlers.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@336 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-19 16:00:17 +00:00
Ingo Weinhold 68e46d4eb4 Made the lib directory in the directory of the tester executable the default search dir for test add-ons. It was ./lib before, which didn't allow you to run the tester from another directory.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@335 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-19 14:14:18 +00:00
Ingo Weinhold 07a4996304 Added pseudo target alltests as a short hand for r5tests+obostests. Just 'tests' would be nicer but we have several dirs with that name.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@334 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-19 14:10:26 +00:00
Ingo Weinhold bb653c6459 Migrated the BMessenger tests to the new test framework.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@333 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-19 14:08:36 +00:00
Tyler Dauwalder a6b33ea3de + Moved BAutolock and BArchivable over to new testing framework.
+ Added ability to specify entire suites to the UnitTester program.
+ BAutolock and BArchivable tests now use CPPUNIT_ASSERT, but BLocker
tests crash for some unknown reason with said assertion, so plain old vanilla
assert() is still used. I'll look into this later.
+ BArchivable tests that try to load a RemoteTestObject are failing
because the resource file doesn't appear to be linked into
libsupporttest_RemoteTestObject.so.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@332 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-19 06:45:28 +00:00
Tyler Dauwalder da21df9f97 No longer used
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@331 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-19 06:27:49 +00:00
Axel Dörfler 8480ee0c2c We now have a completely working "pwd" command; dir_vnode_to_path() is
fully implemented.
I removed all those insane INSANE() debug output and found what made
the difference between a working and a crashing kernel - will have
to investigate this later, because those two lines a) really belong
there, and b) even if they are there, the kernel shouldn't crash just
because of that.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@330 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-19 04:20:07 +00:00
Michael Phipps f913779a80 Initial check in. Very preliminary and not really part of the kernel right now...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@329 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-19 03:55:07 +00:00
Axel Dörfler 16326dafb6 Added a missing newline.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@328 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-19 02:48:27 +00:00
Axel Dörfler 7378dd7f78 Added padding to the floppy disk (for use with VMware) - could be moved
as default padding into the makeflop executable.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@327 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-19 02:38:35 +00:00
David Reid 5636ab73b0 Remove some now uneeded error codes. By removing these I'm hoping
people will start to migrate to the posix/Be error codes and thus
remove the possibility of mismatched codes being reported/checked.

Think this change should cause no build problems, but it's possible
I missed one or 2 instances...


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@326 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-19 01:39:33 +00:00
David Reid e76a020d33 Begone ERR_NO_MEMORY!
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@325 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-19 01:36:28 +00:00
David Reid c099d735dd Add pools.c to the build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@324 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-19 01:35:54 +00:00
David Reid eab8081ffd Change the modules code to use the new hash code.
This fixed a lot of ongoing segfaults which were both intermittent
and unpredicatble.
Also improve some logic so we take a shorter path in simple_module_info


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@323 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-19 01:32:42 +00:00
David Reid 6ecc5c9950 The new hash code.
Essentially the code that the net stack used. the code is based on the
hash impl. in APR, that was itself based on a large number of different
people's efforts and various papers.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@322 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-19 01:27:22 +00:00
David Reid 45fcd51d6a Start adding a new hash implementation. the new code is basically that
that the net stack used but works in a different way than the existing code,
and has proved useful in the modules code where it cured the strange
segfaults that were being produced in seemingly random and unpredictable
places.

the naming could be improved :)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@321 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-19 01:25:33 +00:00
David Reid 0c1eef852d Add pools to the build
Remove some duplicated build options
Comment out the beos section as it's not really of interest to people
not working on the modules/device code :)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@320 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-19 01:23:24 +00:00
David Reid 90bc2d5f53 Big change to the way that PCI works.
- make pci into a true module now.
- the pci module builds and keeps a linked list of devices it finds, with
  a filled in pci_info structure
- pci module detects (at runtime) whcih config mech to use, though to date
  only mech 1 is implemented
- pci module does sanity check and warns if it fails
- config manager loads pci module and calls get_nth_pci_info to iterate
  through the list printing details
- pci is no longer called directly from the bus init function

there is still lots to do and I've tried to make sure that there are plenty
of comments in the pci.c file. I've also left the previous code in
place until we move on a little further when it will be removed.

This has been working with no problems on my system and doesn't change
any functionality as we don't have any devices that need PCI in our build
yet.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@319 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-19 01:20:15 +00:00
David Reid 9843673aa8 Add the random_test app
Move the building of the test apps into this dir's Jamfile as it seems
to make more sense that way. I'll be removing them from the one in
kernel shortly.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@318 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-19 01:12:36 +00:00
Ingo Weinhold 9f2313755f Added BMessenger::IsTargetLocal/Target() tests.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@317 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-18 22:20:10 +00:00
Ingo Weinhold c128929474 Added BMessenger::LockTarget() tests.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@316 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-18 22:19:16 +00:00
Axel Dörfler 63c5cc0aa1 Removed the big hack called vnode_to_path(), and replaced it with the real
thing dir_vnode_to_path().
But beware, it's not yet working correctly - will fix it later, I have no
time anymore.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@315 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-18 21:06:02 +00:00
Axel Dörfler ba94874630 Added a fs_get_vnode_name() call for the file systems.
Fixed a header dependency in sem.h.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@314 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-18 20:51:27 +00:00
Axel Dörfler 5213b70b42 Fixed a warning I introduced earlier.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@313 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-18 20:42:52 +00:00
Axel Dörfler bc934681ba Implemented geist's recent change to mutexes - they are now no longer
benaphores; benaphores aren't that beneficial in kernel land, the benaphores
are a way to reduce the number of kernel calls.
They can now only be released by the same thread who originally acquired it.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@312 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-18 19:22:17 +00:00
Axel Dörfler 4bb2d8915b Implemented geist's recent change to mutexes - they are now no longer
benaphores; benaphores aren't that beneficial in kernel land, the benaphores
are a way to reduce the number of kernel calls.
They can now only be released by the same thread who originally acquired it.

Included other changes geist (change 1499) did to a) fix some bugs, and
b) reflect the changes made to the mutexes.
Cleaned the files a bit up, all the commented dprintf()s in elf.c are now
deactivated through a macro.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@311 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-18 19:21:40 +00:00
Axel Dörfler 2b5d1dc418 Added the preliminary ASSERT() macro from NewOS.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@310 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-18 18:45:07 +00:00
Axel Dörfler de8acfc621 Fixed the messed up indentation (8 spaces instead of tabs)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@309 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-18 15:03:13 +00:00
Axel Dörfler eb0471173e The kernel will now call arch_cpu_idle() in its main loop.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@308 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-18 14:19:53 +00:00
Axel Dörfler 3d4008e5e4 Added the arch_cpu_idle() call to all platforms, though only x86 really
implements it yet (from freston).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@307 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-18 14:19:14 +00:00
Axel Dörfler 4635c565e4 Added the arch_cpu_idle() call.
Updated stage2_priv.h to reflect geist's, and freston's changes.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@306 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-18 14:15:47 +00:00
lillo 92622c9c58 adding environmental variables support
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@305 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-18 14:07:56 +00:00
lillo 0ba337c0a4 adding environmental variables support
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@304 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-18 13:59:03 +00:00
Axel Dörfler a4f9f99fb0 Incorporated freston's changes to the stage 2 boot process which mainly
"fixes" (at least changes :-)) the calculation of the processor speed.

Also included some of geist's earlier changes.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@303 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-18 13:53:46 +00:00
Axel Dörfler 8bcee3b317 Added another subtle change from geist.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@302 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-18 13:31:55 +00:00