2242 Commits

Author SHA1 Message Date
lillo
2cf15ffd36 removed a warning
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@356 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-20 23:19:48 +00:00
lillo
01fb96c4c3 beos compatible timer routines and style cleanups in timer and sem code
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@353 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-20 22:52:04 +00:00
lillo
4918394f73 fixed little infamous bug that caused the thread_test not to work properly - this scared me as I thought the problem was in the kernel; luckly it wasn't there...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@352 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-20 22:10:12 +00:00
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
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
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
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
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
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
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
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
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
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
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
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
Philippe Houdoin
2c24125957 dbg_add_command() changed into BeOS compatible add_debugger_command().
remove_debugger_command() added.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@289 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-17 22:07:37 +00:00
Axel Dörfler
16ba498087 Applied change 1505 of the NewOS repository: added the -p option to makeflop
to be able to pad to the floppy block size.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@285 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-17 19:42:44 +00:00
David Reid
19111f404e Use the defined values from bootdir.h. This was part of an experiment to
increase the length of names we can use for adding things to the floopy,
but it didn't work. Still, these changes seem to make sense.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@284 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-17 19:37:28 +00:00
beveloper
08b993b215 remove use of unterminated strings
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@283 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-17 18:29:41 +00:00
David Reid
333119344a Another attempt to fix the module loading problem. I've also added
a load of comments explaining why it does the things it does.

In the get_module code we now correctly
call the init function, which was being missed before if we got
the module via search_module.

If people can test and confirm this works. It works here and has solved
all the issues I was trying to fix.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@276 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-17 16:08:53 +00:00
Ingo Weinhold
c551f3cdad Added alias floppy for $(OBOS_FLOPPY).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@275 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-17 13:29:58 +00:00
David Reid
b0bdff5216 Small fix to prevent a segfault.
Provide more info when a duplicate module name is detected during a scan.
Remove some code we no longer use.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@274 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-17 12:51:48 +00:00
David Reid
d2c1ff9a7d Few changes...
- add a lot of comments
- only lookup symbols as needed to keep the paths thru the function
  as small as possible
- add comments about the problems we have and give some idea about what
  needs fixing and what then needs removal from this file
- show the hooks pointer being passed to detect NULL pointers more
  quickly


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@272 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-17 12:10:38 +00:00
David Reid
fa10e022b1 Add some more comments.
Remove some debugging dprintf's we shouldn't need
The style police have paid a visit.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@271 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-17 12:06:58 +00:00
Axel Dörfler
cbe085bc5a Forgot some debug stuff...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@268 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-17 08:12:41 +00:00
Axel Dörfler
243d156e21 sys_seek() now returns the stream position as an off_t.
Minor bug fixes.
fd_close() now doesn't have to call remove_fd() anymore - it's now called
in user|sys_close(), fd_close() is now only called in the last put_fd().
Cleanup, improved debug output (without any warnings).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@266 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-17 07:55:51 +00:00
Axel Dörfler
b46f99148e sys_rstat() -> sys_read_stat()
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@265 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-17 07:52:08 +00:00
Philippe Houdoin
32ef543544 Run-time loaded versions of these keyboard and ps2mouse drivers are now
in 'keyboard' and 'ps2mouse' subdirectories of src/add-ons/kernel/drivers/arch/x86/,
making these old ones obsoletes.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@253 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-16 19:28:20 +00:00
lillo
2b94bc7ba9 hopefully fixed the bochs debug issue
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@252 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-16 12:39:57 +00:00
Philippe Houdoin
a5da066045 We now don't forget to call drivers's init_driver() to init them completly.
Drivers who publish nothing are not keep loaded, too.
These are *hacks* until we have a real devfs dynamicly loading drivers...


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@251 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-16 07:54:56 +00:00
lillo
c4786ea6c4 Made bochs e9 hack switchable by configure
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@249 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-15 23:42:06 +00:00
Ingo Weinhold
4573543ca8 Removed third argument for SystemMain. Not longer needed.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@229 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-14 22:11:47 +00:00
lillo
8367bc2f55 small fix to make threads to return meaningful values on exit
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@218 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-14 13:34:00 +00:00
David Reid
82610abc62 Make some changes o the ISA nad PCI modules and add the start of a config
manager module. As time goes on we can start fleshing these out.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@217 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-14 10:36:32 +00:00
David Reid
7cf327ff5e ERR_NO_MEMORY -> ENOMEM
ERR_INVALID_ARGS -> EINVAL
CVSR_NOMEMO----------------------------------------------------------------


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@215 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-14 10:22:17 +00:00
David Reid
4b6ac4574c Remove the isa test case as it now works and maintaiing it was a waste of
time as we will have lots more cases to test with :)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@214 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-14 10:17:26 +00:00