aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorYuji Shimada <shimada-yxb@necst.nec.co.jp>2009-03-16 04:13:39 -0400
committerJesse Barnes <jbarnes@virtuousgeek.org>2009-03-20 13:48:15 -0400
commit32a9a682bef2f6fce7026bd94d1ce20028b0e52d (patch)
treea93225b3039585e8364ae3d411b22f63eebc8d70 /Documentation
parent1c8d7b0a562da06d3ebe83f01b1ed553205d1ae4 (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.txt9
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.