#
629f071b |
| 27-Feb-2024 |
X512 <danger_mail@list.ru> |
pci: extend MSI interrupt vector number to 32 bits
Also increase MSI message data size to 32 bits according to PCIe spec.
Remove 0xff check for MSI interrupts because it is potentially valid interr
pci: extend MSI interrupt vector number to 32 bits
Also increase MSI message data size to 32 bits according to PCIe spec.
Remove 0xff check for MSI interrupts because it is potentially valid interrupt vector number. Reject 0xff only for legacy pin interrupts.
- MSI-X supports up to 2048 interrupts per device that do not fit to `uint8`.
- Non-x86 systems may use separate interrupt vector ranges for hard-wired interrupts and MSI interrupts so `uint8` is not enough to represent all of them.
Change-Id: Iaf9ffb197ec23db0f97ffe3ea756d28d7bfc8705 Reviewed-on: https://review.haiku-os.org/c/haiku/+/7433 Reviewed-by: waddlesplash <waddlesplash@gmail.com> Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
show more ...
|
#
55a46882 |
| 30-May-2023 |
Augustin Cavalier <waddlesplash@gmail.com> |
USB: Support physical-vector bulk requests.
Introduce a new utility method, "generic_memcpy", which takes generic_addr_t plus indications of whether these specify virtual or physical addresses (and
USB: Support physical-vector bulk requests.
Introduce a new utility method, "generic_memcpy", which takes generic_addr_t plus indications of whether these specify virtual or physical addresses (and potentially user addresess) and calls the appropriate memcpy variant depending.
All bus drivers adjusted to support this at once. We don't actually take advantage of the physical addresses in any way (yet), as USB controllers have some pretty specific requirements that would have to be carefully validated to use these directly.
All bus drivers tested and confirmed to still be working.
Change-Id: I66326667e148091147bb2b3d0843a26fb7e5bda6 Reviewed-on: https://review.haiku-os.org/c/haiku/+/6479 Reviewed-by: waddlesplash <waddlesplash@gmail.com>
show more ...
|
#
99626c29 |
| 29-May-2023 |
Augustin Cavalier <waddlesplash@gmail.com> |
USB: Use generic_io_vec in Transfer.
Prepares the way for actual physical-address request support, which is not yet wired up.
Change-Id: I1b2d04a31e334a79b8361280fa0f3a5fbdb43d2b Reviewed-on: https
USB: Use generic_io_vec in Transfer.
Prepares the way for actual physical-address request support, which is not yet wired up.
Change-Id: I1b2d04a31e334a79b8361280fa0f3a5fbdb43d2b Reviewed-on: https://review.haiku-os.org/c/haiku/+/6478 Reviewed-by: waddlesplash <waddlesplash@gmail.com>
show more ...
|
#
2710b4f5 |
| 29-Oct-2022 |
Niels Sascha Reedijk <niels.reedijk@gmail.com> |
Merge remote-tracking branch 'origin/master' into dev/netservices
Change-Id: I48c8cf4f03e281a5caeb9f27bf052285961529ff
|
#
e6ce95c5 |
| 10-Oct-2022 |
Jérôme Duval <jerome.duval@gmail.com> |
usb: register device nodes for hubs and devices
the device identifier is the USBID. no actual interface to be used by drivers.
Change-Id: I9fd1fdab0d02f1b82380c619b39bc3a12a9e2333 Reviewed-on: http
usb: register device nodes for hubs and devices
the device identifier is the USBID. no actual interface to be used by drivers.
Change-Id: I9fd1fdab0d02f1b82380c619b39bc3a12a9e2333 Reviewed-on: https://review.haiku-os.org/c/haiku/+/5736 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com> Reviewed-by: X512 <danger_mail@list.ru> Reviewed-by: waddlesplash <waddlesplash@gmail.com>
show more ...
|
#
547ddb90 |
| 01-Oct-2022 |
Jérôme Duval <jerome.duval@gmail.com> |
uhci: switch to the new driver API
Change-Id: Ifc95a32066d0089d3fd41e489604d58815c074af Reviewed-on: https://review.haiku-os.org/c/haiku/+/5711 Reviewed-by: waddlesplash <waddlesplash@gmail.com> Tes
uhci: switch to the new driver API
Change-Id: Ifc95a32066d0089d3fd41e489604d58815c074af Reviewed-on: https://review.haiku-os.org/c/haiku/+/5711 Reviewed-by: waddlesplash <waddlesplash@gmail.com> Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
show more ...
|
#
5c6d92d7 |
| 12-Apr-2019 |
Augustin Cavalier <waddlesplash@gmail.com> |
busses/usb: Move ::AddTo to be above the class constructors.
It is called before them (and is responsible for calling them), so having it in the middle of the file does not make a lot of sense.
Alr
busses/usb: Move ::AddTo to be above the class constructors.
It is called before them (and is responsible for calling them), so having it in the middle of the file does not make a lot of sense.
Already done for XHCI. Only one functional change -- removing the set_dprintf_enabled call. Drivers probably shouldn't spuriously re-enable that if it was specifically disabled.
show more ...
|
#
159aa93b |
| 31-Aug-2014 |
Michael Lotz <mmlr@mlotz.ch> |
USB: Generalize logic for debug transfers used within KDL.
Pull debug transfer methods into the base BusManager class and implement them for UHCI and EHCI. This makes it possible to have a single de
USB: Generalize logic for debug transfers used within KDL.
Pull debug transfer methods into the base BusManager class and implement them for UHCI and EHCI. This makes it possible to have a single debugger command installed by the USB stack instead of HCI specific ones.
show more ...
|
#
c14bca29 |
| 13-Sep-2013 |
François Revol <revol@free.fr> |
Merge branch 'master' into sam460ex
|
#
cf70d345 |
| 12-Sep-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Merge remote-tracking branch 'haiku/master' into package-management
This reverts 8f7f28a7c3db28711920ad5d15df401fae90bcf1 (OpenGL: Upgrade to Mesa 9.2).
Conflicts: build/jam/BuildFeatures build/j
Merge remote-tracking branch 'haiku/master' into package-management
This reverts 8f7f28a7c3db28711920ad5d15df401fae90bcf1 (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
show more ...
|
#
c45ac5ad |
| 30-Jul-2013 |
Jerome Duval <jerome.duval@gmail.com> |
UHCI USB: add MSI support
* similar to OHCI support by mmlr. * interrupt handler is removed on destruction.
|
#
25a7b01d |
| 05-May-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Merge branch 'master' into package-management
Additional changes: * Add src/system/kernel/lib/zlib, which builds a kernel version of zlib, needed by packagefs. * BuildFeatures: Add a build feature
Merge branch 'master' into package-management
Additional changes: * Add src/system/kernel/lib/zlib, which builds a kernel version of zlib, needed by packagefs. * BuildFeatures: Add a build feature "gcc2" to allow for easier checks. * Referenceable.cpp: Include <OS.h> instead of <debugger.h>. The latter is not needed and prevents building for the build platform. * zlib/zutil.h: Fix gcc 2 build. We really should use the external package instead.
Conflicts: .gitignore build/jam/BuildSetup build/jam/FileRules build/jam/FloppyBootImage build/jam/HaikuImage build/jam/ImageRules build/jam/KernelRules build/jam/NetBootArchive build/jam/OptionalBuildFeatures build/jam/OptionalLibPackages build/jam/OptionalPackageDependencies build/jam/OptionalPackages build/scripts/build_haiku_image configure data/bin/installoptionalpackage data/system/boot/Bootscript headers/os/app/Message.h headers/os/package/PackageInfo.h headers/os/package/PackageInfoAttributes.h headers/os/package/PackageInfoSet.h headers/os/package/PackageRoster.h headers/os/package/PackageVersion.h headers/os/package/hpkg/PackageInfoAttributeValue.h headers/os/storage/FindDirectory.h headers/os/storage/Node.h headers/os/support/StringList.h headers/private/system/directories.h src/add-ons/kernel/drivers/audio/ac97/es1370/Jamfile src/add-ons/kernel/file_systems/packagefs/AttributeIndex.cpp src/add-ons/kernel/file_systems/packagefs/Jamfile src/add-ons/kernel/file_systems/packagefs/Package.cpp src/add-ons/kernel/file_systems/packagefs/Package.h src/add-ons/kernel/file_systems/packagefs/PackageDomain.cpp src/add-ons/kernel/file_systems/packagefs/PackageDomain.h src/add-ons/kernel/file_systems/packagefs/PackageFSRoot.cpp src/add-ons/kernel/file_systems/packagefs/PackageLinkDirectory.cpp src/add-ons/kernel/file_systems/packagefs/PackageLinkDirectory.h src/add-ons/kernel/file_systems/packagefs/PackageLinkSymlink.cpp src/add-ons/kernel/file_systems/packagefs/PackageLinkSymlink.h src/add-ons/kernel/file_systems/packagefs/PackageLinksDirectory.cpp src/add-ons/kernel/file_systems/packagefs/PackageNode.h src/add-ons/kernel/file_systems/packagefs/ResolvableFamily.cpp src/add-ons/kernel/file_systems/packagefs/Version.cpp src/add-ons/kernel/file_systems/packagefs/Version.h src/add-ons/kernel/file_systems/packagefs/Volume.cpp src/add-ons/kernel/file_systems/packagefs/Volume.h src/add-ons/kernel/file_systems/packagefs/kernel_interface.cpp src/add-ons/kernel/file_systems/userlandfs/shared/driver_settings.c src/apps/deskbar/BarApp.cpp src/apps/deskbar/BarMenuBar.cpp src/apps/deskbar/BarMenuBar.h src/apps/deskbar/BarView.cpp src/apps/deskbar/BarView.h src/apps/deskbar/BarWindow.cpp src/apps/deskbar/BarWindow.h src/apps/deskbar/DeskbarMenu.cpp src/apps/deskbar/DeskbarMenu.h src/apps/deskbar/DeskbarUtils.cpp src/apps/deskbar/DeskbarUtils.h src/apps/deskbar/ExpandoMenuBar.cpp src/apps/deskbar/ExpandoMenuBar.h src/apps/deskbar/TeamMenu.cpp src/apps/processcontroller/ProcessController.cpp src/apps/remotedesktop/RemoteDesktop.cpp src/bin/bash/config-top.h src/bin/finddir.c src/bin/package/Jamfile src/bin/package/command_add.cpp src/bin/package/command_create.cpp src/bin/package/command_list.cpp src/bin/package_repo/command_list.cpp src/bin/pkgman/command_refresh.cpp src/build/libbe/support/Jamfile src/build/libpackage/Jamfile src/build/libroot/Jamfile src/build/libroot/fs.cpp src/build/libroot/remapped_functions.h src/kits/locale/MutableLocaleRoster.cpp src/kits/opengl/GLRendererRoster.cpp src/kits/package/PackageInfo.cpp src/kits/package/PackageInfoSet.cpp src/kits/package/PackageRoster.cpp src/kits/package/PackageVersion.cpp src/kits/package/RepositoryCache.cpp src/kits/package/hpkg/PackageWriterImpl.cpp src/kits/package/hpkg/ReaderImplBase.cpp src/kits/package/hpkg/WriterImplBase.cpp src/kits/print/PrintTransport.cpp src/kits/print/Printer.cpp src/kits/screensaver/ScreenSaverRunner.cpp src/kits/support/StringList.cpp src/kits/tracker/ContainerWindow.cpp src/kits/tracker/DeskWindow.cpp src/kits/tracker/PoseView.cpp src/libs/print/libprint/Transport.cpp src/preferences/printers/AddPrinterDialog.cpp src/preferences/screensaver/ScreenSaverWindow.cpp src/servers/debug/DebugServer.cpp src/servers/input/AddOnManager.cpp src/servers/media_addon/MediaAddonServer.cpp src/system/boot/Jamfile src/system/boot/loader/Jamfile src/system/boot/loader/loader.cpp src/system/boot/loader/vfs.cpp src/system/kernel/fs/vfs.cpp src/system/kernel/fs/vfs_boot.cpp src/system/libroot/os/find_directory.cpp src/system/runtime_loader/runtime_loader.cpp src/tools/package/Jamfile
show more ...
|
#
77d95e1d |
| 18-Nov-2012 |
François Revol <revol@free.fr> |
Merge branch 'master' into sam460ex
Conflicts: src/system/boot/platform/u-boot/arch/ppc/Jamfile
|
#
30afb18c |
| 18-Nov-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Merge branch 'x86_64'
|
#
2997a191 |
| 06-Aug-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Fixed UHCI for x86_64.
|
#
8bcc50c3 |
| 12-Jun-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Added arch_debug_blue_screen_try_getchar() and arch_debug_serial_try_getchar() which don't wait for a character, but return -1 when no character is available ATM. Implemented correctly for x86
* Added arch_debug_blue_screen_try_getchar() and arch_debug_serial_try_getchar() which don't wait for a character, but return -1 when no character is available ATM. Implemented correctly for x86 only. * Changed the semantics of the debugger_module_info::debugger_getchar() hook. It is supposed to return immediately now. * Adjusted usb_keyboard accordingly. Hacked UHCI's debug_process_transfer() to achieve that. It does now start, check, or cancel a transfer. Split UHCI::ProcessDebugTransfer() into StartDebugTransfer(), and CheckDebugTransfer() accordingly, and also added a CancelDebugTransfer(). The latter seems to have issues. Michael, please have a look. I have no clue what I'm doing. :-) * Adjusted kgetc() to poll all possible inputs using the new functions/semantics. This allows to use any input (USB, PS/2, serial) in KDL. * Removed the no longer needed "serial_input" command. * read_line(): Also support 0x7f as backspace code. That's what xterm sends.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42126 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
38fc536e |
| 14-Apr-2010 |
Michael Lotz <mmlr@mlotz.ch> |
Some more constness.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36250 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
853e6be8 |
| 14-Apr-2010 |
Michael Lotz <mmlr@mlotz.ch> |
* Rename usb_p.h to usb_private.h. * Some automatic whitespace cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36247 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1393394b |
| 23-Sep-2009 |
Michael Lotz <mmlr@mlotz.ch> |
We need to guarantee that when cancel returns that the callback won't be called anymore. It could happen that the transfer was already in the process of being finished, so wasn't in the list of pendi
We need to guarantee that when cancel returns that the callback won't be called anymore. It could happen that the transfer was already in the process of being finished, so wasn't in the list of pending transfers anymore. Cancel would then return even though the callback wasn't called yet. This could lead to a callback being called after a driver was already unloaded (even after it cleaned up the pipes it used).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33239 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
527e6eef |
| 12-May-2009 |
Michael Lotz <mmlr@mlotz.ch> |
Do not free the descriptor chains and transfer queue head directly when finishing transfers. The host controller might still be using some of those structures. In the (unlikely) case that a freed mem
Do not free the descriptor chains and transfer queue head directly when finishing transfers. The host controller might still be using some of those structures. In the (unlikely) case that a freed memory chunk would be immediately re-used and filled with new values this would lead the controller to either find invalid values and assert a process error or it could follow invalid list links leading to host system errors. We have to wait with freeing until the controller processing the next frame to make sure this cannot happen. The unlikely case should also have been the cause of bug #2481.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30714 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
aaf77384 |
| 11-May-2009 |
Michael Lotz <mmlr@mlotz.ch> |
Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30713 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6eba0636 |
| 22-Feb-2009 |
Michael Lotz <mmlr@mlotz.ch> |
* Added simplified possibility to schedule UHCI transfers from within KDL. * Added debugger commands to resolve usb_ids to pipes. * Adjusted the physical memory allocator to be usable in a slimmed do
* Added simplified possibility to schedule UHCI transfers from within KDL. * Added debugger commands to resolve usb_ids to pipes. * Adjusted the physical memory allocator to be usable in a slimmed down mode when running inside the kernel debugger. * Implemented USB keyboard support for KDL through a kernel debugger add-on. * Added kgetc() and made use of it where previously individual methods were used to ensure that reading characters always goes through the kernel debugger add-ons and the other methods.
This has some preconditions to meet though: 1) The keyboard must be in the boot protocol (currently the case but needs to be revisited once we have a full usb_hid). 2) The keyboard must be attached to a UHCI root port (i.e. not use EHCI or OHCI, also not through hubs unless those are USB 1.1). 3) the usb_hid driver has to be opened for this to work. This means that for the time between initializing USB and when usb_hid is opened by the input_server there is no keyboard support.
Also note that this has no way of detecting hot-plug, meaning that you can't re-attach your USB keyboard from the hub to the root port once in KDL.
On the bright side of things, since this is a non-destructive mechanism it is possible to enter and leave KDL without loosing the USB state.
Tested OK in QEMU, not tested on real hardware yet, will see in a few minutes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29291 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
f14fe767 |
| 24-Jan-2009 |
Michael Lotz <mmlr@mlotz.ch> |
* Rework the USB tracing mechanism. Cleaned it up and make it more convenient to use. It will now print out the usb_ids of the objects that generate the trace messages. These IDs are unique compa
* Rework the USB tracing mechanism. Cleaned it up and make it more convenient to use. It will now print out the usb_ids of the objects that generate the trace messages. These IDs are unique compared to the device address used previously, because device addresses are per bus while usb_ids are global. This makes trace output from devices across multiple controllers distinguishable. * Some cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29002 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
b1385bc3 |
| 06-Jun-2008 |
Michael Lotz <mmlr@mlotz.ch> |
* When encountering an unrecoverable error at least turn off interrupts until we properly handle this case (cancel everything and reset the controller) to avoid flooding the system with interrupt
* When encountering an unrecoverable error at least turn off interrupts until we properly handle this case (cancel everything and reset the controller) to avoid flooding the system with interrupts. * Also only check for enabled interrupts to not steal potentially shared interrupts.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25823 a95241bf-73f2-0310-859d-f6bbb57e9c96
show more ...
|
#
2b07b8e0 |
| 29-May-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Replaced all instances of benaphores in the kernel code by mutexes. * Removed kernel benaphores.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25690 a95241bf-73f2-0310-859d-f6bbb57e9c96
|