VirtualBox

source: vbox/trunk/src/VBox/Devices/Storage/PIIX3ATABmDma.h@ 5881

Last change on this file since 5881 was 4071, checked in by vboxsync, 17 years ago

Biggest check-in ever. New source code headers for all (C) innotek files.

  • Property svn:eol-style set to native
File size: 1.9 KB
Line 
1/** @file
2 *
3 * VBox storage devices:
4 * PIIX3 ATA busmaster controller definitions
5 */
6
7/*
8 * Copyright (C) 2006-2007 innotek GmbH
9 *
10 * This file is part of VirtualBox Open Source Edition (OSE), as
11 * available from http://www.virtualbox.org. This file is free software;
12 * you can redistribute it and/or modify it under the terms of the GNU
13 * General Public License as published by the Free Software Foundation,
14 * in version 2 as it comes in the "COPYING" file of the VirtualBox OSE
15 * distribution. VirtualBox OSE is distributed in the hope that it will
16 * be useful, but WITHOUT ANY WARRANTY of any kind.
17 */
18
19#ifndef __PIIX3ATABmDma_h__
20#define __PIIX3ATABmDma_h__
21
22
23/** @defgroup grp_piix3atabmdma PIIX3 ATA Bus Master DMA
24 * @{
25 */
26
27/** @name BM_STATUS
28 * @{
29 */
30/** Currently performing a DMA operation. */
31#define BM_STATUS_DMAING 0x01
32/** An error occurred during the DMA operation. */
33#define BM_STATUS_ERROR 0x02
34/** The DMA unit has raised the IDE interrupt line. */
35#define BM_STATUS_INT 0x04
36/** User-defined bit 0, commonly used to signal that drive 0 supports DMA. */
37#define BM_STATUS_D0DMA 0x20
38/** User-defined bit 1, commonly used to signal that drive 1 supports DMA. */
39#define BM_STATUS_D1DMA 0x40
40/** @} */
41
42/** @name BM_CMD
43 * @{
44 */
45/** Start the DMA operation. */
46#define BM_CMD_START 0x01
47/** Data transfer direction: from device to memory if set. */
48#define BM_CMD_WRITE 0x08
49/** @} */
50
51
52/** PIIX3 Bus Master DMA unit state. */
53typedef struct BMDMAState {
54 /** Command register. */
55 uint8_t u8Cmd;
56 /** Status register. */
57 uint8_t u8Status;
58 /** Address of the MMIO region in the guest's memory space. */
59 RTGCPHYS pvAddr;
60} BMDMAState;
61
62
63/** PIIX3 Bus Master DMA descriptor entry. */
64typedef struct BMDMADesc {
65 /** Address of the DMA source/target buffer. */
66 RTGCPHYS pBuffer;
67 /** Size of the DMA source/target buffer. */
68 uint32_t cbBuffer;
69} BMDMADesc;
70
71/** @} */
72
73
74#endif /* !__PIIX3ATABmDma_h__ */
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette