Commit c4854544 authored by David Matlack's avatar David Matlack Committed by Alex Williamson
Browse files

vfio: selftests: Prefix logs with device BDF where relevant



Prefix log messages with the device's BDF where relevant. This will help
understanding VFIO selftests logs when tests are run with multiple
devices.

Reviewed-by: default avatarAlex Mastro <amastro@fb.com>
Tested-by: default avatarAlex Mastro <amastro@fb.com>
Reviewed-by: default avatarRaghavendra Rao Ananta <rananta@google.com>
Signed-off-by: default avatarDavid Matlack <dmatlack@google.com>
Link: https://lore.kernel.org/r/20251126231733.3302983-9-dmatlack@google.com


Signed-off-by: default avatarAlex Williamson <alex@shazbot.org>
parent 6c74d983
Loading
Loading
Loading
Loading
+17 −17
Original line number Diff line number Diff line
@@ -70,7 +70,7 @@ static int dsa_probe(struct vfio_pci_device *device)
		return -EINVAL;

	if (dsa_int_handle_request_required(device)) {
		printf("Device requires requesting interrupt handles\n");
		dev_info(device, "Device requires requesting interrupt handles\n");
		return -EINVAL;
	}

@@ -91,23 +91,23 @@ static void dsa_check_sw_err(struct vfio_pci_device *device)
			return;
	}

	fprintf(stderr, "SWERR: 0x%016lx 0x%016lx 0x%016lx 0x%016lx\n",
	dev_err(device, "SWERR: 0x%016lx 0x%016lx 0x%016lx 0x%016lx\n",
		err.bits[0], err.bits[1], err.bits[2], err.bits[3]);

	fprintf(stderr, "  valid: 0x%x\n", err.valid);
	fprintf(stderr, "  overflow: 0x%x\n", err.overflow);
	fprintf(stderr, "  desc_valid: 0x%x\n", err.desc_valid);
	fprintf(stderr, "  wq_idx_valid: 0x%x\n", err.wq_idx_valid);
	fprintf(stderr, "  batch: 0x%x\n", err.batch);
	fprintf(stderr, "  fault_rw: 0x%x\n", err.fault_rw);
	fprintf(stderr, "  priv: 0x%x\n", err.priv);
	fprintf(stderr, "  error: 0x%x\n", err.error);
	fprintf(stderr, "  wq_idx: 0x%x\n", err.wq_idx);
	fprintf(stderr, "  operation: 0x%x\n", err.operation);
	fprintf(stderr, "  pasid: 0x%x\n", err.pasid);
	fprintf(stderr, "  batch_idx: 0x%x\n", err.batch_idx);
	fprintf(stderr, "  invalid_flags: 0x%x\n", err.invalid_flags);
	fprintf(stderr, "  fault_addr: 0x%lx\n", err.fault_addr);
	dev_err(device, "  valid: 0x%x\n", err.valid);
	dev_err(device, "  overflow: 0x%x\n", err.overflow);
	dev_err(device, "  desc_valid: 0x%x\n", err.desc_valid);
	dev_err(device, "  wq_idx_valid: 0x%x\n", err.wq_idx_valid);
	dev_err(device, "  batch: 0x%x\n", err.batch);
	dev_err(device, "  fault_rw: 0x%x\n", err.fault_rw);
	dev_err(device, "  priv: 0x%x\n", err.priv);
	dev_err(device, "  error: 0x%x\n", err.error);
	dev_err(device, "  wq_idx: 0x%x\n", err.wq_idx);
	dev_err(device, "  operation: 0x%x\n", err.operation);
	dev_err(device, "  pasid: 0x%x\n", err.pasid);
	dev_err(device, "  batch_idx: 0x%x\n", err.batch_idx);
	dev_err(device, "  invalid_flags: 0x%x\n", err.invalid_flags);
	dev_err(device, "  fault_addr: 0x%lx\n", err.fault_addr);

	VFIO_FAIL("Software Error Detected!\n");
}
@@ -256,7 +256,7 @@ static int dsa_completion_wait(struct vfio_pci_device *device,
	if (status == DSA_COMP_SUCCESS)
		return 0;

	printf("Error detected during memcpy operation: 0x%x\n", status);
	dev_info(device, "Error detected during memcpy operation: 0x%x\n", status);
	return -1;
}

+8 −8
Original line number Diff line number Diff line
@@ -51,7 +51,7 @@ static int ioat_probe(struct vfio_pci_device *device)
		r = 0;
		break;
	default:
		printf("ioat: Unsupported version: 0x%x\n", version);
		dev_info(device, "ioat: Unsupported version: 0x%x\n", version);
		r = -EINVAL;
	}
	return r;
@@ -135,7 +135,7 @@ static void ioat_handle_error(struct vfio_pci_device *device)
{
	void *registers = ioat_channel_registers(device);

	printf("Error detected during memcpy operation!\n"
	dev_info(device, "Error detected during memcpy operation!\n"
		 "  CHANERR: 0x%x\n"
		 "  CHANERR_INT: 0x%x\n"
		 "  DMAUNCERRSTS: 0x%x\n",
+4 −0
Original line number Diff line number Diff line
@@ -50,6 +50,9 @@
	VFIO_LOG_AND_EXIT(_fmt, ##__VA_ARGS__);			\
} while (0)

#define dev_info(_dev, _fmt, ...) printf("%s: " _fmt, (_dev)->bdf, ##__VA_ARGS__)
#define dev_err(_dev, _fmt, ...) fprintf(stderr, "%s: " _fmt, (_dev)->bdf, ##__VA_ARGS__)

struct iommu_mode {
	const char *name;
	const char *container_path;
@@ -172,6 +175,7 @@ struct iommu {
};

struct vfio_pci_device {
	const char *bdf;
	int fd;
	int group_fd;

+1 −0
Original line number Diff line number Diff line
@@ -843,6 +843,7 @@ struct vfio_pci_device *vfio_pci_device_init(const char *bdf, struct iommu *iomm

	VFIO_ASSERT_NOT_NULL(iommu);
	device->iommu = iommu;
	device->bdf = bdf;

	if (iommu->mode->container_path)
		vfio_pci_container_setup(device, bdf);