Commit Graph

391 Commits

Author SHA1 Message Date
Axel Dörfler
99086aa323 trim: Target SCSI UNMAP command instead of WRITE SAME.
* The UNMAP command is theoretically much faster, as it can get many block
  ranges instead of just a single range.
* Furthermore, the ATA TRIM command resembles it much better.
* Therefore, fs_trim_data now gets an array of ranges, and we use SCSI UNMAP
  to trim.
* Updated BFS code to collect array ranges to fully support the new
  fs_trim_data possibilities.
2013-11-07 19:03:47 +01:00
Axel Dörfler
29a8450843 Added B_TRIM_DEVICE ioctl. 2013-11-07 19:01:24 +01:00
Pawel Dziepak
defee266db kernel: Add read write spinlock implementation 2013-11-07 04:20:32 +01:00
Pawel Dziepak
077c84eb27 kernel: atomic_*() functions rework
* No need for the atomically changed variables to be declared as
   volatile.
 * Drop support for atomically getting and setting unaligned data.
 * Introduce atomic_get_and_set[64]() which works the same as
   atomic_set[64]() used to. atomic_set[64]() does not return the
   previous value anymore.
2013-11-05 22:32:59 +01:00
Pawel Dziepak
4824f7630b kernel: Add sequential lock implementation 2013-11-05 04:16:13 +01:00
Jérôme Duval
daf95c6d8c acpi: use acpi_event_handler instead of interrupt_handler. 2013-10-30 22:29:37 +01:00
Pawel Dziepak
22d8248267 kernel: Add support and interface for cpufreq modules 2013-10-30 00:48:07 +01:00
Jérôme Duval
2bd8cdc16b acpi: switch acpi_object from a struct to a union
* this way the size of acpi_object_type matches the size of ACPI_OBJECT
for 32-bit and 64-bit builds.
* adjust users of the type acpi_object_type.
2013-10-24 14:29:47 +02:00
Jérôme Duval
ce2d7d5ac8 acpi: use walk_resources to find embedded controller I/O ports.
* export walk_resources and use it
* removed SmallResourceData
* added embedded controller module for x86_64
2013-10-21 22:14:17 +02:00
Ingo Weinhold
cf70d345b2 Merge remote-tracking branch 'haiku/master' into package-management
This reverts 8f7f28a7c3 (OpenGL: Upgrade
to
Mesa 9.2).

Conflicts:
	build/jam/BuildFeatures
	build/jam/HaikuImage
	build/jam/OptionalPackages
	build/scripts/build_cross_tools_gcc4
	src/add-ons/opengl/swpipe/Jamfile
	src/apps/diskusage/Jamfile
	src/kits/tracker/ContainerWindow.cpp
	src/kits/tracker/DeskWindow.cpp
	src/kits/tracker/Jamfile
2013-09-13 01:02:28 +02:00
Siarzhuk Zharski
743d75946f USB audio: Mixer Unit control implementation
* support of Mixer Unit control in UI implemented;
* improve SetMix/GetMix to support Mixer Unit control type;
* cleanup and improvements.
2013-08-18 14:49:44 +02:00
Siarzhuk Zharski
1a6d941d1d USB audio: Use system-wide USB_audio.h instead local one
* switching driver code to use system usb/USB_audio.h header;
* refactor USB_audio.h specification header for both USB audio specifications.
2013-08-18 14:49:06 +02:00
Siarzhuk Zharski
cf58476ccc USB OHCI: Support for isochronous transfers
Finishing and refactoring the draft, initially implemented during April-May 2012

NOTE: startingFrameNumber returned to device contains the number of the
next free frame right after the last packed of submitted data. For more
details please Look into corresponding [haiku-development] discussion
started at 03 Jul 2013.

Partially fixes #1045.
2013-08-18 14:47:33 +02:00
Jérôme Duval
6391a955fc PCI-x86: merge MSI-X unconfigure and disable with MSI.
* get rid of unconfigure_msix and disable_msix from the API.
2013-07-29 22:48:00 +02:00
Ingo Weinhold
5163e1c62d Revert "Introduce vnode op supports_operation(), fix devfs_io()"
This reverts commit 98a5231fe5.
2013-07-27 23:31:23 +02:00
Ingo Weinhold
98a5231fe5 Introduce vnode op supports_operation(), fix devfs_io()
devfs_io() can't fall back to calling vfs_synchronous_io(), if the
device driver doesn't support handling requests asynchronously. The
presence of the io() hook leads the VFS (do_iterative_fd_io()) to
believe that asynchronous handling is supported and set a
finished-callback on the request which calls the io() hook to start the
next chunk. Thus, instead of iterating through the request in a loop
the iteration happens recursively. For sufficiently fragmented requests
the stack may overflow (ticket #9900).

* Introduce a new vnode operation supports_operation(). It can be called
  by the VFS to determine whether a present hook is actually currently
  supported for a given vnode.
* devfs: implement the new hook and remove the fallback handling in
  devfs_io().
* vfs_request_io.cpp: use the new hook to determine whether the io()
  hook is really supported.
2013-07-27 17:45:59 +02:00
Ingo Weinhold
4387d6b33f Merge remote-tracking branch 'remotes/haiku/master' into package-management 2013-07-11 18:09:03 +02:00
Jérôme Duval
8986cafc46 PCI: added some missing subclasses definitions
* also renamed the HT capability mask
2013-07-10 20:57:06 +02:00
Jérôme Duval
7164302bb6 PCI: added definitions for NVM Express storage controller subclass. 2013-07-10 20:21:33 +02:00
Jérôme Duval
25b723638d PCI: the x86 module now exports an MSI-X API. 2013-07-09 23:53:29 +02:00
Jérôme Duval
0c0f333a67 PCI: added MSI-X and HyperTransport definitions
* renamed PCI_cap_id_ldt to PCI_cap_id_ht
2013-07-09 23:53:27 +02:00
Ingo Weinhold
7e78b434f4 Merge remote-tracking branch 'haiku/master' into package-management
Conflicts:
	build/jam/HaikuImage
	build/jam/OptionalPackageDependencies
	build/jam/OptionalPackages
	build/scripts/build_cross_tools_gcc4
	src/add-ons/translators/icns/Jamfile
	src/add-ons/translators/jpeg/Jamfile
2013-07-08 14:01:00 +02:00
Jérôme Duval
b027a0a2f7 pci: change offset type to uint16 in config space API.
* The config space is larger than 255, we need to use an uint16 to access
offsets superior or equal to 256. The current API only proposes an uint8 for this.
This change switches the offset parameter to the uint16 type. Axel hinted that
the used values are the same with such a change (the doc says sign extended to 2 or
4 bytes).
I checked with GCC2 and it's indeed the case when inspecting the memory.
With GCC4, instructions are the same on function call.
* prints info about extended capabilities.
* struct pci_module_info and struct pci_device_module_info are extended with
pci_find_extended_capability().
2013-06-24 19:29:00 +02:00
Jérôme Duval
26a4510e59 pci: added pci_find_extended_capability().
* added PCI Extended Capabilities definitions.
* pci_find_capability() parameter offset is now optional.
2013-06-22 19:48:56 +02:00
Jérôme Duval
786a38f555 scsi: typo adapaters=>adapters 2013-06-18 18:39:25 +02:00
Ingo Weinhold
5261923e87 Add dvprintf() 2013-05-25 01:12:29 +02:00
Pawel Dziepak
7f61e6e4e5 Merge branch 'nfs4'
Conflicts:
	build/jam/HaikuImage
2013-03-11 13:00:55 +01:00
Fredrik Holmqvist
92d766df7c Pass a handle to evaluate_object as start point. 2012-12-15 14:10:11 +01:00
Alex Smith
5196d5dad0 Merge branch 'master' into x86_64
Conflicts:
	build/jam/HaikuImage
	src/add-ons/kernel/generic/Jamfile
2012-11-18 19:18:00 +00:00
Yongcong Du
0a0af8957e acpi: export read_bit_register and write_bit_register
acpi cpuidle needs such acpi functions

Signed-off-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
2012-11-18 17:39:20 +01:00
Yongcong Du
71d9d375b8 cpuidle: move generic cpuidle to generic
After this change, low level cpuidle drivers load the generic cpuidle
module if they can support the underlying platform.

change the intel cpuidle driver accordingly, now it's loaded by acpi
bus manager during boot, although it doesn't depend on acpi

Signed-off-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
2012-11-18 17:39:19 +01:00
Yongcong Du
57311e7bb7 acpi: add ACPI_ALLOCATE_LOCAL_BUFFER to ACPI.h
Signed-off-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
2012-11-18 17:39:19 +01:00
Yongcong Du
e467ba95b0 cpuidle: add stats reporting support
Signed-off-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
2012-11-18 17:39:19 +01:00
Yongcong Du
66b0c86ae4 cpuidle: rename CpuidleStats to CpuidleStat
Signed-off-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
2012-11-18 17:39:18 +01:00
Yongcong Du
2195811a84 idle: introduce cpuidle generic module
This module will load the various lowlevel cpuidle modules' implementations
during initialiation. If it finds one available module, it will change
the global gCpuIdleFunc as its own better one.

When idle, cpuidle module will select the best cstate and enter it by
calling the lowlevel module's implementation.

Signed-off-by: Yongcong Du <ycdu.vmcore@gmail.com>
Signed-off-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
2012-11-18 17:39:17 +01:00
Alex Smith
11c9f9a1d6 Merge branch 'master' into x86_64
Conflicts:
	build/jam/FloppyBootImage
	build/jam/OptionalBuildFeatures
	build/jam/OptionalPackages
	headers/private/shared/cpu_type.h
	src/bin/ps.c
	src/bin/sysinfo.cpp
	src/kits/tracker/PoseView.cpp
	src/preferences/appearance/DecorSettingsView.cpp
	src/preferences/virtualmemory/Settings.cpp
	src/servers/input/AddOnManager.cpp
	src/servers/input/InputServer.cpp
	src/servers/input/InputServerMethod.cpp
	src/system/boot/Jamfile
	src/system/boot/platform/raspberrypi_arm/mmu.cpp
	src/system/boot/platform/u-boot/arch/arm/Jamfile
	src/system/kernel/arch/x86/arch_cpu.cpp
	src/system/kernel/arch/x86/arch_thread.cpp
	src/system/kernel/cache/block_cache.cpp
	src/system/kernel/vm/VMAnonymousCache.cpp
2012-11-18 14:02:07 +00:00
Fredrik Holmqvist
9b0d045c59 Update to ACPICA 20121018.
This is an update from 20120711 and A LOT has happened since then. See
    https://acpica.org/download/changes.txt for all the changes.
2012-11-03 22:46:22 +01:00
Alex Smith
a9ee7a5132 Added new BIOS module for calling BIOS interrupts.
This module provides an interface for drivers to use to perform calls
to the BIOS (only really for use by graphics drivers which need to use
the VESA BIOS). It uses the x86emu library from X.org which emulates
a real mode x86 CPU. This is necessary for x86_64 as virtual 8086 mode
no longer exists there.
2012-08-03 15:42:30 +01:00
Alex Smith
ef67788fba Ported ISA bus manager and PS/2 driver. 2012-07-30 14:37:28 +01:00
Alex Smith
12bd7812dd Ported PCI module to x86_64.
Uses the x86 architecture code, made fixes to printf formats and a
couple of 64-bit fixes. Only potentially intrusive change is that I've
changed PCI.h to use uint32 rather than ulong. I don't see any way
this would cause any issues, though.
2012-07-20 12:00:20 +01:00
Fredrik Holmqvist
a51a5f3e1e Fixes to Haiku specific code to work with ACPICA 20120711. 2012-07-12 18:32:56 +02:00
Pawel Dziepak
92284dcc2c nfs4: Use semaphore to cancel threads instead of interrupt_thread() 2012-07-08 23:33:44 +02:00
Pawel Dziepak
d764d148b1 Allow file systems to manage file locks
Haiku implements file locking at vfs level. That would not work for remote
and shared file systems, since they need to negotiate locks with peers.
This patch introduces three additional hooks in fs_interface that allow
file system module to take over the management of file locks.
2012-06-29 02:15:19 +02:00
Pawel Dziepak
e552920f09 nfs4: Fix rpc listener thread cancelation
recv on UDP sockets is not interrupted when the socket is closed.
Additionaly, signals do not interrupt kernel threads, that is why
new function interrupt_thread was implemented in order to cancel
listener thread.
2012-06-29 02:14:18 +02:00
Jérôme Duval
9f6b2d77b7 PCI: add bridge control flags and use them. 2012-02-27 21:46:01 +01:00
Stephan Aßmus
f9152093a3 Reverted r42958 as it is broken and I completely forgot to compile before
I commited... need to get back into the habbit, sorry for the noise.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42961 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-29 15:51:04 +00:00
Stephan Aßmus
7749d0bb0c Applied slightly reworked and updated patch from ticket #1576
by "jarz" to rewrite the last remaining (?) headers in order
to get rid of the Be copyright. Thanks a lot and sorry for the
long delay.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42958 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-29 15:38:20 +00:00
Fredrik Holmqvist
fcb8a5cb4e * Updated ACPICA to 20110623.
See http://www.acpica.org/download/changes.txt done after 2010-10-13 for info on ACPI changes.
 * Adapted the embedded controller to match current FreeBSD one.

There will probably be some issues with these changes initially.




git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42637 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-17 19:16:21 +00:00
Alexander von Gluck IV
cd4c994bdf * define PCI add-on rom flags that are normally defined in PCI header files.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42555 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-03 20:36:41 +00:00
Michael Lotz
16c5a72847 * Seperate out the tty_close_cookie from tty_destory_cookie and make the former
available as a module function as well.
* Remove some unneeded resetting from tty_destroy_cookie.
* Move the public module functions to the public API section of the file and
  order them by their declaration order in the module info.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42154 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-13 20:44:22 +00:00
Ingo Weinhold
90ade5e298 * Added file_system_module_info::uninitialize() analogously to
partition_module_info::uninitialize().
* Implemented the hook for BFS.
* Implemented KFileSystem::Uninitialize().

Fixes failure to initialize a BFS initialized device with an intel partition
map.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42142 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-13 01:53:11 +00:00
Michael Lotz
407af313ca Make the signature argument to get_table() const. Should fix the GCC4 build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41433 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-11 09:05:43 +00:00
Michael Lotz
2645ca0a28 Provide a function to gain ACPI table access.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41429 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-11 08:22:22 +00:00
Michael Lotz
2800b06462 Add missing const to the path argument of get_handle().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41398 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-09 13:05:28 +00:00
Michael Lotz
ce57718d12 Add set_current_resources() which will be used to configure device resources
from settings retrieved through get_{current|possible}_resources().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41382 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-08 12:13:55 +00:00
Michael Lotz
290ac5f9b5 Basically revert r41365. Remove the get_pci_info() function of ACPI again as it
turns out to be flaky, is a little bit of a hack anyway and performs unnecessary
operations. The functionality is now handled kernel side which optimizes those
problems away.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41372 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-08 01:15:39 +00:00
Michael Lotz
0fc2a29e52 Cleanup spaces vs. tabs. Probably those spaces were copied over from ACPICA
sources as they use 4 spaces instead of tabs.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41366 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-07 17:07:04 +00:00
Michael Lotz
5789be33af Add a way to look up basic PCI info for an ACPI device. It works for retrieving
the base bus number and segment which is what we're using them for. It should
work generically, however I only tested it to look up PCI bridge devices.
The logic is a subset of what is done in AcpiEvPciConfigRegionSetup when setting
up the operation region for a PCI device.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41365 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-07 16:50:46 +00:00
Michael Lotz
63cffb7ee3 Add a way to store a new interrupt_line value to the PCI module. It both updates
the cached pci_info and writes the new value into PCI config space. Drivers
using either mechanism to enumerate devices will therefore get the updated
value.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41364 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-07 16:40:32 +00:00
Michael Lotz
fbf6f924d3 * The integer type is actually 64bit, probably just a typo (from very long ago).
* Some automatic whitespace cleanup.

This makes the interrupt model change via kernel actually work.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41340 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-06 04:28:39 +00:00
Fredrik Holmqvist
01de6adfba This opens up so many possiblities.
* ACPI module now has a get_possible_resources function.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41320 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-05 17:29:37 +00:00
Jérôme Duval
19c52a6cec some cosmetics
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41239 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-04-11 22:30:18 +00:00
Brecht Machiels
8e9e1577cc * added notify headers to the ACPI header (from actypes.h)
* adjusted acpi_battery accordingly



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41162 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-04-01 20:14:01 +00:00
Philippe Houdoin
454e28d906 Fix typo.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40433 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-10 20:25:40 +00:00
Philippe Houdoin
d136bfb173 * Add USB MIDI descriptors that we must parse in usb_midi driver to support
multiple "jacks" devices.
* Add convention class-specific descriptor types
* Fix off-by-one capabilities bitmap values, that were severely broken before.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40429 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-10 19:35:40 +00:00
Axel Dörfler
51d7642503 * Added a new B_GET_DEVICE_NAME ioctl - this should be implemented by all
drivers in the future, such that NetworkStatus and similar software can show
  nice names for the devices. The device manager should implement this and
  return the B_DEVICE_PRETTY_NAME of the device (and in turn, new style drivers
  should actually set this).
* Implemented handling of this ioctl in the scsi_periph to return the vendor/
  product strings.
* Implemented this in the ATA bus manager to return the model from the info
  block.
* KDiskDevice now fills in the partition_data::name if the B_GET_DEVICE_NAME
  succeeds.
* As a side effect, at least BootManager now shows the drive name; maybe
  DriveSetup does as well for the raw device.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40231 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-01-13 19:41:01 +00:00
Philippe Houdoin
cf6bf46a66 Added some function descriptors definitions that were missing.
Renamed USB_CDC_*_PARITY and USB_CDC_*_STOPBIT* to follow the usual
naming pattern.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40091 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-01-03 16:47:50 +00:00
Michael Lotz
626e25b19e Remove the apostrophe as pointed out by Urias.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39925 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-23 22:03:08 +00:00
Michael Lotz
3a8bae7cf2 Fix a typo.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39924 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-23 21:45:17 +00:00
Stephan Aßmus
b6ec842de4 Patch by x-ist from ticket #6115:
* A lot of HID definitions got extracted from USB_hid.h into their
   own files. Many more definitions have been added from the specs.
 * The names have been moved into the proper B_* namspace.
 * The USB hid driver has been adapted for the changes.

Thanks a lot and sorry for the delay!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39874 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-16 20:23:56 +00:00
Michael Lotz
91bcf08ee5 Adding a generic tty module based largely on the tty driver. This has a new API
and doesn't come with BeOS backwards compatibility. It also has the BeOS
compatibility ioctl ops removed and such. I've actually made this back in april,
so I don't really remember any more details.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39760 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-08 00:24:12 +00:00
Fredrik Holmqvist
12474ac0a5 Updated ACPICA to 20101013 from 20100428. See http://www.acpica.org/download/changes.txt for changes.
Embedded Controller still needs some looking into, and I had to remove the WIP code for dumping MADT.
Both are on my TODO.

Also removed a lot of unneeded parts of ACPICA from trunk and did some cleanup in Jamfile.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39565 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-11-21 21:58:06 +00:00
Jérôme Duval
71e85f7f8f added definition for Extensible Host Controller Interface (usb3)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39174 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-28 17:31:36 +00:00
Clemens Zeidler
4a5a077ff7 Add a private B_ATTR_CHANGE_NOTIFICATION flag to the open query syscall to tell the query to send notifications when an entry attribute changed and the entry stays in the query. Previously you only get created and removed messages, now you can also get updated messages. Only implement it for bfs.
Fix copy right.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39131 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-24 20:47:46 +00:00
Jérôme Duval
d63f4274b6 added a file system call preallocate() as described in #6285, currently unused
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39006 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-18 18:48:54 +00:00
Fredrik Holmqvist
d7b1a83fc3 Add get_current_resources call to ACPI module which allows us to read out a device current resources.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38288 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-20 19:23:33 +00:00
Ingo Weinhold
0a1dabca7e Added public io_request_is_vip(), returning whether the given request has the
VIP flag set.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37678 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-22 11:08:34 +00:00
Oliver Tappe
eddec292d5 * applied patch by kaliber that fixes more than 100 warnings - thanks a lot!
Closes #6349

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37670 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-21 21:43:20 +00:00
Ingo Weinhold
2a25d16d33 * get_memory_map(): Changed parameters types to fixed-width types.
* Added BeOS compatibility wrappers for get_memory_map(), map_physical_memory(),
  and create_area().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37232 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-23 16:09:26 +00:00
Ingo Weinhold
a8ad734f1c * Introduced structures {virtual,physical}_address_restrictions, which specify
restrictions for virtual/physical addresses.
* vm_page_allocate_page_run():
  - Fixed conversion of base/limit to array indexes. sPhysicalPageOffset was not
    taken into account.
  - Takes a physical_address_restrictions instead of base/limit and also
    supports alignment and boundary restrictions, now.
* map_backing_store(), VM[User,Kernel]AddressSpace::InsertArea()/
  ReserveAddressRange() take a virtual_address_restrictions parameter, now. They
  also support an alignment independent from the range size.
* create_area_etc(), vm_create_anonymous_area(): Take
  {virtual,physical}_address_restrictions parameters, now.
* Removed no longer needed B_PHYSICAL_BASE_ADDRESS.
* DMAResources:
  - Fixed potential overflows of uint32 when initializing from device node
    attributes.
  - Fixed bounce buffer creation TODOs: By using create_area_etc() with the
    new restrictions parameters we can directly support physical high address,
    boundary, and alignment.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37131 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-14 16:25:14 +00:00
Ingo Weinhold
64d79eff72 * Changed physical_entry::{address,size} to phys_{addr,size}_t and changed
map_physical_memory()'s physicalAddress parameter type from void* to
  phys_addr_t. This breaks source compatibility, but -- as long as
  phys_{addr,size}_t remain 32 bit wide -- keeps binary compatibility with
  BeOS.
* Adjusted all code using the affected interfaces (Oh what fun!). Added a few
  TODOs in places where the wrong types (e.g. void* for physical addresses
  are used). Looks like quite a few drivers aren't 64 bit safe and others
  will break with PAE.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36960 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-27 22:07:27 +00:00
Ingo Weinhold
9d570af7c8 Changed the type of the "op" parameter of the fs_vnode_ops::ioctl() hook and
the _kern_ioctl() syscall from ulong to uint32.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36927 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-24 21:04:22 +00:00
Fredrik Holmqvist
ffb873afec Merge acpi from acpica vendor branch 20100428:
* AcpiSetGpeType no longer exists, replaced with AcpiSetGpe. Since acpi changed gpe handling embedded controller might need improvements.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36867 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-19 21:33:02 +00:00
François Revol
79bda6fd6e Fix #5754 so at least the driver builds. It is not yet usable since we do not have a tty manager. For now it should be possible to get the BeOS one to work in Haiku though, but it's not tested.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36515 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-28 09:58:18 +00:00
Fredrik Holmqvist
5d9cc10f80 Moving ACPI Embedded Controller to ACPI bus manager.
* Removed irq_routing struct from ACPI.h to where it is used. Might be able to use acrestype.h instead of duplication.
 * Disable old embedded controller and remove it from image.
 * Move embedded controller code to busmanager module.
 * Remove (some) code duplication

Should work as before, but is now initialized right after the bus manager. Can probably remove further code duplication.
I hope I've done it correctly, feedback is most welcome.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36420 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-22 16:19:41 +00:00
Fredrik Holmqvist
186058c517 Some corrections and cleanup to ACPI Embedded controller:
* Exposed ACPI API needed by Embedded Controller
	This will be removed again if moved inside the bus manager.
	It also duplicates ACPI's own headers so it might go out of sync atm.
 * Added mutex to controller and fixed the mixup between acpi_status needed in int handlers and Haiku status.
 * Major code cleanup
	Not for headers as they are mostly redundant if we move the controller.
	Variable names still needs some cleanup

This makes the ACPI errors from the controller understandable. I get AE_NO_HARDWARE_RESPONSE now.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36318 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-15 19:23:43 +00:00
Michael Lotz
ee6e756ef1 Add license headers as pointed out by Jérôme.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36240 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-13 21:55:52 +00:00
Michael Lotz
2548ea219a * Add the framework for adding an arch specific module to the PCI bus_manager.
* Implement such a module for x86 which currently exports only an MSI API.
* Implement the PCI part for configuring and enabling MSIs.
* Some automatic whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36223 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-13 15:18:46 +00:00
Axel Dörfler
f46308c92a * More header cleanup, continuing korli's work.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36206 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-13 09:48:02 +00:00
Clemens Zeidler
ef0f557c65 As suggested by Axel use addr_t and size_t.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35267 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-23 16:40:36 +00:00
Clemens Zeidler
5237897801 Check if we have 64 or 32 bit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34598 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-09 17:49:20 +00:00
Clemens Zeidler
d503f2628b Forget ACPI.h.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34202 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-23 21:31:18 +00:00
Ingo Weinhold
1ca0b78f54 Extended the public I/O request C API.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34121 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-19 07:38:33 +00:00
Oliver Tappe
571d840abf * dropped svn:keywords property from all files that carried it
to avoid recurring problems during migration of subversion checkouts
  (restored binary files that were garbled by subversions during checkout)
* added appropriate svn:mime-type property for problematic (binary) files
* removed a single (mistyped) svn:mimetype property 
* dropped svn:eol-style property for cleanup (they all contained 'native')



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33670 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-19 22:42:52 +00:00
Clemens Zeidler
7f6d3afb1d Add ns_handle_to_pathname acpi function to the acpi module.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33663 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-19 19:00:26 +00:00
Clemens Zeidler
cb6cd182c4 Remove type variable from reference, it is already defined as object_type before of the union.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33657 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-19 17:42:18 +00:00
Jérôme Duval
40d6120c3b Patch from Vincent Duvert (edited by myself): Implement reboot via ACPI (#4459)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33135 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-14 17:37:53 +00:00
Axel Dörfler
47000651b5 * Rewrote USB_rle.h, USB_spec.h, and midi_driver.h. I did not reproduce the
documentation found in those headers - this stuff should go into the Haiku
  Book instead (although I'm not even sure the USB_rle.h, and midi_driver.h
  are really needed any longer).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32901 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-02 12:04:00 +00:00
François Revol
7e26ad5af7 Add functions to the old-style PCI bus manager to reserve a device from an old-style driver for exclusive use. This should help making OSS and native audio drivers mutually exclusive. Used in es1370 and hda drivers as examples. OSS must still be fixed to use it too though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32899 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-01 23:56:02 +00:00
Axel Dörfler
ee0be828e4 * Rewrote USB_printer.h, and bus_manager.h (the last short ones...) :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32895 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-01 18:48:34 +00:00