Commit Graph

30 Commits

Author SHA1 Message Date
Axel Dörfler
41691b996a Replaced kmalloc(), kfree(), and kstrdup() with the POSIX equivalents.
Implemented realloc().
Adapted all other sources, some minor cleanups in some files as well.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1773 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-29 23:07:06 +00:00
lillo
5cdacbaabb *LOTS* of small changes to make the kernel compatible with Be's KernelExport.h
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1683 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-26 16:13:36 +00:00
Axel Dörfler
f4e51a2dfb Added a new write_stat() call to the file descriptor operations (plus syscall).
Renamed sys_read_stat() to sys_read_path_stat() - sys_read_stat() is now
the fd operation (same for the corresponding write call).
Removed the sys_write_attr_stat() call because it is no longer needed.
Added stat(), fstat(), and other POSIX calls to the kernel - many are still
missing (mainly from stdio).
Added symbols (but no implementation) for unistd.h's process id functions.
Adapted libroot calls that used sys_read_stat() before to the new architecture.
module.c and bus_man.c now use stat() directly instead of the sys_read_path_stat()
call.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1555 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-10-17 03:09:25 +00:00
shatty
2c26aebcd8 changed return types for "std_ops" functions from int to int32, fixes warnings.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1260 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-29 00:28:57 +00:00
Axel Dörfler
62781e5bc4 Renamed fs_id to mount_id.
Some clean-ups.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1174 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-09-25 14:05:44 +00:00
Axel Dörfler
9b458ca3e7 Fixed some crashing bugs in the pci code - the kernel now boots again.
Added trace methods.
Cleaned up some code.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@759 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-14 02:09:45 +00:00
Axel Dörfler
ae372703ce Big commit: Added symlink support to the kernel.
- added needed syscalls to access symlink support from userland
- implemented lstat(), symlink(), and readlink()
- added dev_t to ktypes.h (for now - should be in a public header anyway)
- added symlink support to the "ls" command (now calls lstat() and shows the
  link target with the -l option)
- changed the sys_read_stat() call to support symlinks, and updated files
  using that function (it gets an extra argument: bool traverseLink)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@560 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-03 02:03:27 +00:00
beveloper
3fe5330ccb While Intel documentation lists PCI capability as 32 bit entities,
the PCI specifications lists it as two 8 bit entities, followed by
a unknown number of vendor specific data. It should be better to do
two 8 bit reads, instead of one 16 or 32 bit access.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@479 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-27 20:24:45 +00:00
beveloper
a4c97c95ce Fix the problem that resulted in a invisible shell on my system.
We were disabling the PCI to PCI bridge which is the connection
to the AGP port on my system, and made an error when trying to
enable it again. Fixed now!


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@470 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-27 00:38:12 +00:00
beveloper
b055a362cb PCI configuration space read/write of 32bit never worked. Fixed.
PCI configuration space read/write of 16bit at offset 1 never worked. Fixed.
Added warnings for unsupported PCI configuration space read/write offsets.
Fixed numerous bugs in PCI Capabilites detection code.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@468 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-26 23:27:40 +00:00
David Reid
f3b40ada80 This is a 5 minute attempted fix for Marcus's AGP card not working
for VGA accesses.

Marcus: can you try this and see if it makes any difference? There should
be a debug message if it detects your agp bridge and applies the fix.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@451 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-26 05:32:00 +00:00
David Reid
e805f0e904 Better debugging and final fix to the bus numbering, though that's
style not function.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@448 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-25 23:32:59 +00:00
beveloper
8d5863f44b ups, now it's correct.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@447 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-25 22:51:27 +00:00
beveloper
2b48bdcef9 Correct the bus number that is assigned to pci-pci bridges.
Now finds PCI cards connected to second pci-pci bridge on my motherboard.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@446 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-25 22:43:36 +00:00
David Reid
a0bc23f288 I've been trying to figure out how the division of work between
config_manager and busses works, and this is a large correction based on
my current working thoughts.

I also think we need to have a new interface between the bus modules and
the config_manager to allow them to work together. I have some ideas
on it and will start fleshing it out next week.

This update basically moves all PCI stuff back to the PCI module and
cleans up config_manager.c. We now print a small amount of info for
devices and more for bridges. My system only has a single bridge, but if
anyone has a more exotic system and tries this can they let me know
what sort of results they see?


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@444 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-25 18:11:45 +00:00
David Reid
a537d866cf Another support function. This time we add the ability to change
power management states for cards that support it.

ISTR that Be forced all devices to full power, so we do the same
for the moment.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@439 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-25 14:16:57 +00:00
David Reid
67162b7430 remove a warning.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@436 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-25 13:28:54 +00:00
David Reid
037c83e3e6 Move PCI on a little more.
- add finding the PCI IRQ Routing table
- add pci_get_capability and some simple uses to test it

Thanks to Michael N for his help on getting the region working as
I expected it to :)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@435 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-25 13:28:23 +00:00
David Reid
7438a7b7d0 The multi-threaded police raided and of course we didn't have locks
for accessing the config space! So, become a good citizen and add locking
to ensure we only have one dabbler at a time in config space.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@424 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-25 01:04:12 +00:00
David Reid
f8e2c34c67 Update the config_manager and pci modules.
This now reports better and starts configuring the busses we find.

There is still a long way to go but this another step on the way.

NB the information comes from 2 different methods and presently doesn't
   agree This is known and will be fixed, so please don't start yelling
   that it's broken! If people have strange debug information please
   let me have a copy so I can try to debug further :)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@403 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-23 21:28:35 +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
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
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
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
Axel Dörfler
3b120ea240 Updated the code to reflect the changes in the VFS.
Fixed some bugs in fd.c (how many more bugs can be in a small file like this? :-).
Added the syscalls for sys_open_dir(), and sys_create_dir().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@209 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-14 05:15:34 +00:00
David Reid
082fc2ba6d If Axel doesn't want to maintain this then why are we still building it?
Remove the iso9660 stuff from the build as it's no longer being
maintained and never did anything anyways :)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@98 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-11 21:49:34 +00:00
David Reid
d700c5a3cf More adjustments to deal with POSIX codes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@92 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-11 21:25:29 +00:00
David Reid
d71118c74f Change to using POSIX error codes and adjust the includes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@91 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-11 21:24:54 +00:00
Ingo Weinhold
54f76689cb Adjusted the SubDir and SubInclude parameters.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@15 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-09 20:15:44 +00:00
ejakowatz
52a3801208 It is accomplished ...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-09 12:24:59 +00:00