diff options
author | Yuji Shimada <shimada-yxb@necst.nec.co.jp> | 2009-03-16 04:13:39 -0400 |
---|---|---|
committer | Jesse Barnes <jbarnes@virtuousgeek.org> | 2009-03-20 13:48:15 -0400 |
commit | 32a9a682bef2f6fce7026bd94d1ce20028b0e52d (patch) | |
tree | a93225b3039585e8364ae3d411b22f63eebc8d70 /Documentation | |
parent | 1c8d7b0a562da06d3ebe83f01b1ed553205d1ae4 (diff) |
PCI: allow assignment of memory resources with a specified alignment
This patch allows memory resources to be assigned with a specified
alignment at boot-time or run-time. The patch is useful when we use PCI
pass-through, because page-aligned memory resources are required to
securely share PCI resources with guest drivers.
If you want to assign the resource at boot time, please set
"pci=resource_alignment=" boot parameter.
This is format of "pci=resource_alignment=" boot parameter:
[<order of align>@][<domain>:]<bus>:<slot>.<func>[; ...]
Specifies alignment and device to reassign
aligned memory resources.
If <order of align> is not specified, PAGE_SIZE is
used as alignment.
PCI-PCI bridge can be specified, if resource
windows need to be expanded.
This is example:
pci=resource_alignment=20@07:00.0;18@0f:00.0;00:1d.7
If you want to assign the resource at run-time, please set
"/sys/bus/pci/resource_alignment" file, and hot-remove the device and
hot-add the device. For this purpose, fakephp or PCI hotplug interfaces
can be used.
The format of "/sys/bus/pci/resource_alignment" file is the same with
boot parameter. You can use "," instead of ";".
For example:
# cd /sys/bus/pci
# echo -n 20@12:00.0 > resource_alignment
# echo 1 > devices/0000:12:00.0/remove
# echo 1 > rescan
Reviewed-by: Alex Chiang <achiang@hp.com>
Reviewed-by: Yu Zhao <yu.zhao@intel.com>
Signed-off-by: Yuji Shimada <shimada-yxb@necst.nec.co.jp>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/kernel-parameters.txt | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index c7c441e7930e..1754fedc531c 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt | |||
@@ -1760,6 +1760,15 @@ and is between 256 and 4096 characters. It is defined in the file | |||
1760 | cbmemsize=nn[KMG] The fixed amount of bus space which is | 1760 | cbmemsize=nn[KMG] The fixed amount of bus space which is |
1761 | reserved for the CardBus bridge's memory | 1761 | reserved for the CardBus bridge's memory |
1762 | window. The default value is 64 megabytes. | 1762 | window. The default value is 64 megabytes. |
1763 | resource_alignment= | ||
1764 | Format: | ||
1765 | [<order of align>@][<domain>:]<bus>:<slot>.<func>[; ...] | ||
1766 | Specifies alignment and device to reassign | ||
1767 | aligned memory resources. | ||
1768 | If <order of align> is not specified, | ||
1769 | PAGE_SIZE is used as alignment. | ||
1770 | PCI-PCI bridge can be specified, if resource | ||
1771 | windows need to be expanded. | ||
1763 | 1772 | ||
1764 | pcie_aspm= [PCIE] Forcibly enable or disable PCIe Active State Power | 1773 | pcie_aspm= [PCIE] Forcibly enable or disable PCIe Active State Power |
1765 | Management. | 1774 | Management. |