Commit Graph

85 Commits

Author SHA1 Message Date
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
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
Axel Dörfler
6094d89f2f Merged branches/developer/axeld/driver_recognition changed r12307:12637 into trunk.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12638 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-05-12 03:27:44 +00:00
Axel Dörfler
d4112f6bc5 Applied some changes suggested by mmu_man, more to come, though:
- has_signals_pending() is not declared in Be headers, and it isn't declared in
  our KernelExport.h anymore, too
- removed snooze_etc() from KernelExport.h, as it's already defined in OS.h
  (and really exported by libroot.so).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12506 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-29 11:41:12 +00:00
Axel Dörfler
b20667b35b {install|remove}_io_interrupt_handler() now correctly handle the B_NO_ENABLE_COUNTER flag.
Lots of cleanup:
- moved B_NO_ENABLE_COUNTER flag definition out of int.h to KernelExport.h, as it's
  described in the BeBook (although it's probably not really used that often :))
- int.c no longer has any platform dependent code (+ 0x20 on interrupt numbers is gone);
  it's now entirely handled in the arch/x86/ section.
- the io_vectors[] is now statically initialized, instead of allocated from the heap
- removed {install|remove}_interrupt_handler(); they weren't that useful, arch_smp_init()
  is now calling install_io_interrupt_handler() correctly instead
- introduced a new arch_int.h header file that currently contains NUM_IO_VECTORS only
  (though on x86, it also has ARCH_INTERRUPT_BASE == 0x20).
- changed the return type from {install|remove}_io_interrupt_handler() from "long" to
  "status_t"
- rearranged and cleaned the PIC initialization code, made the PIC code more prominent
- changed comments that talk about a non existing 8239 (the PIC chip is actually 8259)
- moved arch/x86/interrupts.h to the source directory, as it's not used outside
- added BeOS compatible interrupts_enabled() function, that should replace our
  equivalent (and private) are_interrupts_enabled()


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12477 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-27 01:08:35 +00:00
Axel Dörfler
219dacab3c Changed our read link syscall and FS interface call to make it easily possible to be POSIX compliant.
Also changed readlink() to be POSIX compliant with those changes.
"ls -l" does now resolve links properly again (the new coreutils version outlined the problems).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12263 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-06 16:07:10 +00:00
Nathan Whitehorn
6d92b10268 Upgraded the bus manager interface. It's now capable enough to start actually doing interesting things, like power management, thermal stuff, and hyperthreading.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11891 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-18 00:41:53 +00:00
Ingo Weinhold
cbc6d404f9 Added missing select()/deselect() Hooks to the file system interface
and made sure they are called by the VFS, if existent.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@11884 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-17 21:04:25 +00:00
Axel Dörfler
f77f93d98a Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11738 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-14 17:51:03 +00:00
Axel Dörfler
bade75a525 Added prototype for the new function publish_vnode().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11718 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-14 01:07:19 +00:00
Nathan Whitehorn
92ba8215d2 Added basic (i.e. argumentless) control method execution. Now we can read fan speeds, cpu temperatures, laptop lid states, and all sorts of other glorious things.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11545 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-03 00:01:35 +00:00
Nathan Whitehorn
53403b7edc ACPI bus manager interface, revision 3. Now allows full namespace traversal. Next is AML control method execution.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11540 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-02 19:31:30 +00:00
Nathan Whitehorn
c11886dbbe Now we have a nice structure for handling ACPI fixed events. This means we can do things like make acpi_button block, instead of polling it. Direct register access has gone away. The next revision of the bus manager interface should include namespace traversal and AML control method execution.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11529 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-02 05:05:18 +00:00
Nathan Whitehorn
08923ac8ba ACPI Bus Manager interface header. Currently highly incomplete.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11442 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-21 20:00:59 +00:00
Ingo Weinhold
98f9f2bf07 Added parameters to notify_{stat,attribute}_change() that will give more information on what actually happened.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11218 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-02 15:17:54 +00:00
Ingo Weinhold
5207cc7a8c Proposal for a replacement of the notify_listener() and
send_notification() interface, which I personally find quite ugly.
Each notification type gets its own function, which makes very clear,
which parameters are to be supplied. Also note the addition of the
`name' parameter for the `entry removed' notification and `fromName'
for `entry moved'.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11145 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-30 01:53:37 +00:00
Ingo Weinhold
ed932a9564 Added B_USER_CLONEABLE_AREA protection flag. Here it does belong.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11048 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-25 22:55:13 +00:00
Axel Dörfler
1a27068865 Renamed the probe() hook to register_device() (might not yet match the
functionality as good as probe(), but that will change soon).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10848 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-18 19:02:02 +00:00
Axel Dörfler
b83a8af4e0 First roll of renames: pnp_node_hamdle is now device_node_handle, pnp_node_attr
is now device_attr, pnp_bus_info bus_module_info, pnp_driver_info driver_module_info, ...
Small cleanup (more would be needed, but this has time).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10670 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-11 23:19:41 +00:00
François Revol
e189e3d779 header for a kernel mime_table module, so not every fs will bundle its own.
The API makes it possible to later use faster indexed search on the table.
The table could probably also be regenerated by running a script on setmime -dump.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10579 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-01-04 10:03:05 +00:00
Axel Dörfler
47d0b95b38 Moved B_KERNEL_{READ|WRITE_AREA} from vm_types.h to KernelExport.h.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10425 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-13 22:00:23 +00:00
Axel Dörfler
86c3e70cd9 Some changes to the transaction API: the prefix is now only cache_*().
Added API for sub transactions (not yet implemented).
Added file_cache_sync() function.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10047 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-19 20:23:58 +00:00
Axel Dörfler
58e12c8d52 Changed fs_mount() function: "args" is now const char instead of void,
added flags parameter (for example for B_MOUNT_READ_ONLY).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9939 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-12 17:02:55 +00:00
Axel Dörfler
9de65b05cc Minor API changes add additions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9935 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-12 16:35:24 +00:00
Axel Dörfler
060b02824b First draft of the new block cache API with transaction support.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9893 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-10 01:57:38 +00:00
Axel Dörfler
4ee37a6c5c fs_read_link() returns status_t, not ssize_t anymore (ie. the size of the
link is not returned anymore).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9651 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-29 13:06:16 +00:00
Axel Dörfler
752c2e981e The set_flags() call was missing from the FS interface.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9198 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-05 13:22:00 +00:00
Axel Dörfler
8c1ba914c9 R5 notify_select_event() didn't have a return value.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9184 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-04 15:44:00 +00:00
Philippe Houdoin
6ad0082e92 Add some definitions about audio format descriptors...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9163 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-03 13:21:33 +00:00
Ingo Weinhold
be4e2191b1 Added small note.
BTW shouldn't those constants have the B_ prefix now that they are in a
public header?


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9160 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-02 16:14:38 +00:00
Axel Dörfler
8384cc5c92 Moved the select stuff into its own header file for now which is now included
from both, Drivers.h, and fs_interface.h.
The latter no longer includes vfs_types.h for iovecs, but <sys/uio.h> for iovec.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9140 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-10-01 00:28:57 +00:00
François Revol
d9b7e039ef use another proto for notify_select_event
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9137 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-30 23:46:02 +00:00
François Revol
6f3c0b6c34 Added missing R5 select stuff. Fixed a typo.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9123 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-30 16:33:03 +00:00
Axel Dörfler
2f88663bae Moved the user_memcpy()/strlcpy()/memset() calls to KernelExport.h.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9102 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-29 10:22:34 +00:00
Jérôme Duval
3fff653f05 Moved usage pages/ids to USB_hid.h
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9011 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-20 12:05:10 +00:00
Jérôme Duval
8c5cc5d1aa Extracted USB HID specific data to USB_hid.h
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9005 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-20 09:08:58 +00:00
Axel Dörfler
ba84415a02 Added a "cookie" parameter to the fs_read|write|has_page[s]().
Changed the fs_get_file_map() call a bit - the requested file offset and size
were missing.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8869 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-06 21:54:57 +00:00
Axel Dörfler
7f0c6086a4 The last parameter of file_cache_create() is a file descriptor, not an open mode.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8868 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-06 21:53:36 +00:00
Axel Dörfler
a1978b5cef Preliminary version of the file caching API - does not yet support journaling and such.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8843 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-04 17:15:22 +00:00
Axel Dörfler
7af4ca8acf Changed the VM hooks a bit to better match the corresponding driver hooks.
Added file cache hook function that gets the extents of a file.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8842 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-04 17:13:45 +00:00
Axel Dörfler
9edfb372ab Renamed the readv/writev hook functions to read_pages/write_pages to
make clear that they work differently from before (or soon will).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8841 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-09-04 17:12:27 +00:00
Axel Dörfler
61b8f5f2a7 Fixed some return types.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8255 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-02 00:40:39 +00:00
Axel Dörfler
faffd0f3d7 spawn_kernel_thread() now matches the spawn_thread() prototype - there
is no reason for them to be different.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7909 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-11 15:39:56 +00:00
Axel Dörfler
4f91f11509 Now includes the old ISA.h header as well; removed doubled definitions.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7842 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 06:32:02 +00:00
Axel Dörfler
ebb6a50a53 Fixed the prototype of parse_expression() - it's parameter should be const.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7840 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-08 06:25:18 +00:00
Axel Dörfler
34c763c98f File systems are modules now.
Added prototype for unremove_vnode(), some other minor changes.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7805 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 17:14:17 +00:00
Axel Dörfler
d0da374bc3 Moved the public fs functions from vfs.h to this file.
Renamed them to match other exported BeOS functions as well (removed the vfs_ prefix).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7801 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-07 14:23:48 +00:00
Axel Dörfler
0d59a3d2a9 More headers for the new modules and PnP/device system - note, this
is a work in progress; the name as well as the contents will change :-)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7769 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-06-06 23:52:08 +00:00
Philippe Houdoin
9dad5a5bec Was missing, needed by "USB Port" print transport add-on.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7651 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-26 14:57:57 +00:00
Axel Dörfler
1648d0d88e daemon_hook typedef wasn't R5 compatible.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7627 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-23 23:14:49 +00:00