Hi-
> +#define EHEA_MEM_START 0xc000000000000000
You probably don't want to hardcode this. Maybe KERNELBASE from page.h?
> +
> +int ehea_reg_mr_adapter(struct ehea_adapter *adapter)
> +{
> + int i;
> + u64 hret;
> + u64 start = EHEA_MEM_START;
> + u64 end = (u64) high_memory;
> + u64 nr_pages = (end - start) / PAGE_SIZE;
> + u32 acc_ctrl = EHEA_MEM_ACC_CTRL;
> +
> + EDEB_EN(7, "adapter=%p", adapter);
> +
> + hret = ehea_h_alloc_resource_mr(adapter->handle,
> + start,
> + end - start,
> + acc_ctrl,
> + adapter->pd,
> + &adapter->mr_handle,
> + &adapter->lkey);
> + if (hret != H_SUCCESS) {
> + EDEB_EX(4, "Error: hret=%lX\n", hret);
> + return -EINVAL;
> + }
> +
> + for (i = 0; i < nr_pages; i++) {
> + hret = ehea_h_register_rpage_mr(adapter->handle,
> + adapter->mr_handle,
> + 0,
> + 0,
> + virt_to_abs(
> + (void *)(((u64) start)
> + + (i * PAGE_SIZE))),
> + 1);
> +
> + if (((hret != H_SUCCESS) && (hret != H_PAGE_REGISTERED))) {
> + ehea_h_free_resource_mr(adapter->handle,
> adapter->mr_handle);
> + EDEB_EX(4, " register rpage_mr: hret=%lX\n", hret);
> + return -EINVAL;
> + }
> + }
This creates DMA mappings for the entirety of kernel memory, right? Has
this been run by the ppc64 folks for possible impacts?
Thanks-
John
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html