diff options
| -rw-r--r-- | arch/powerpc/perf/hv-24x7.c | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/arch/powerpc/perf/hv-24x7.c b/arch/powerpc/perf/hv-24x7.c index f5bca73d92b8..3e8f60a1d53f 100644 --- a/arch/powerpc/perf/hv-24x7.c +++ b/arch/powerpc/perf/hv-24x7.c | |||
| @@ -155,16 +155,28 @@ static ssize_t read_offset_data(void *dest, size_t dest_len, | |||
| 155 | return copy_len; | 155 | return copy_len; |
| 156 | } | 156 | } |
| 157 | 157 | ||
| 158 | static unsigned long h_get_24x7_catalog_page(char page[static 4096], | 158 | static unsigned long h_get_24x7_catalog_page_(unsigned long phys_4096, |
| 159 | u32 version, u32 index) | 159 | unsigned long version, |
| 160 | unsigned long index) | ||
| 160 | { | 161 | { |
| 161 | WARN_ON(!IS_ALIGNED((unsigned long)page, 4096)); | 162 | pr_devel("h_get_24x7_catalog_page(0x%lx, %lu, %lu)", |
| 163 | phys_4096, | ||
| 164 | version, | ||
| 165 | index); | ||
| 166 | WARN_ON(!IS_ALIGNED(phys_4096, 4096)); | ||
| 162 | return plpar_hcall_norets(H_GET_24X7_CATALOG_PAGE, | 167 | return plpar_hcall_norets(H_GET_24X7_CATALOG_PAGE, |
| 163 | virt_to_phys(page), | 168 | phys_4096, |
| 164 | version, | 169 | version, |
| 165 | index); | 170 | index); |
| 166 | } | 171 | } |
| 167 | 172 | ||
| 173 | static unsigned long h_get_24x7_catalog_page(char page[static 4096], | ||
| 174 | u32 version, u32 index) | ||
| 175 | { | ||
| 176 | return h_get_24x7_catalog_page_(virt_to_phys(page), | ||
| 177 | version, index); | ||
| 178 | } | ||
| 179 | |||
| 168 | static ssize_t catalog_read(struct file *filp, struct kobject *kobj, | 180 | static ssize_t catalog_read(struct file *filp, struct kobject *kobj, |
| 169 | struct bin_attribute *bin_attr, char *buf, | 181 | struct bin_attribute *bin_attr, char *buf, |
| 170 | loff_t offset, size_t count) | 182 | loff_t offset, size_t count) |
