Vietnamese (machine translation)

Lưu ý

Mục đích của file này là để độc giả tiếng Việt có thể đọc và hiểu tài liệu nhân kernel dễ dàng hơn, không phải để tạo ra một nhánh tài liệu riêng. Nếu bạn có bất kỳ nhận xét hoặc cập nhật nào cho file này, vui lòng thử cập nhật file tiếng Anh gốc trước. Nếu bạn thấy có sự khác biệt giữa bản dịch và bản gốc, hoặc có vấn đề về bản dịch, vui lòng gửi góp ý hoặc patch cho người dịch của file này, hoặc nhờ người bảo trì và người review tài liệu tiếng Việt giúp đỡ.

Bản gốc:

ARM Virtual Generic Interrupt Controller v2 (VGIC)

Người dịch:

Google Translate (machine translation)

Phiên bản gốc:

8541d8f725c6

Cảnh báo

Tài liệu này được dịch tự động bằng máy và chưa được review bởi người dịch. Nội dung có thể không chính xác hoặc khó hiểu ở một số chỗ. Khi có sự khác biệt với bản gốc, bản gốc luôn là chuẩn. Bản dịch chất lượng cao (được review) được đặt trong thư mục vi_VN/.

Bộ điều khiển ngắt chung ảo ARM v2 (VGIC)

Các loại thiết bị được hỗ trợ:

  • Bộ điều khiển ngắt chung KVM_DEV_TYPE_ARM_VGIC_V2 ARM v2.0

Chỉ một phiên bản VGIC có thể được khởi tạo thông qua API này hoặc di sản KVM_CREATE_IRQCHIP API. VGIC được tạo sẽ đóng vai trò là ngắt VM bộ điều khiển, yêu cầu các thiết bị trong không gian người dùng được mô phỏng để đưa các ngắt vào VGIC thay vì trực tiếp vào CPU.

Việc triển khai GICv3 với sự hỗ trợ tương thích phần cứng cho phép tạo một khách GICv2 thông qua giao diện này. Để biết thông tin về cách tạo khách GICv3 thiết bị và thiết bị ITS khách, xem Bộ điều khiển ngắt chung ảo ARM v3 trở lên (VGICv3). Không thể tạo cả thiết bị GICv3 và GICv2 trên cùng một VM.

Nhóm:
KVM_DEV_ARM_VGIC_GRP_ADDR

Thuộc tính:

KVM_VGIC_V2_ADDR_TYPE_DIST (rw, 64-bit)

Địa chỉ cơ sở trong không gian địa chỉ vật lý của khách của nhà phân phối GIC đăng ký bản đồ. Chỉ hợp lệ cho KVM_DEV_TYPE_ARM_VGIC_V2. Địa chỉ này cần được căn chỉnh 4K và vùng có kích thước 4 KByte.

KVM_VGIC_V2_ADDR_TYPE_CPU (rw, 64-bit)

Địa chỉ cơ sở trong không gian địa chỉ vật lý của khách của CPU ảo GIC ánh xạ đăng ký giao diện. Chỉ hợp lệ cho KVM_DEV_TYPE_ARM_VGIC_V2. Địa chỉ này cần được căn chỉnh 4K và vùng có kích thước 8 KByte.

Lỗi:

-ENXIO Việc lấy hoặc thiết lập thanh ghi này chưa được hỗ trợ -EBUSY Một hoặc nhiều VCPU đang chạy -EINVAL Cung cấp vcpu_index không hợp lệ ======= ==========================================================

KVM_DEV_ARM_VGIC_GRP_CPU_REGS

Thuộc tính:

Trường attr của kvm_device_attr mã hóa hai giá trị:

bit: ZZ0000ZZ 39 .. 32 ZZ0001ZZ

giá trị: ZZ0002ZZ vcpu_index ZZ0003ZZ

Tất cả các quy định giao diện CPU là (rw, 32-bit)

Phần bù chỉ định phần bù từ “địa chỉ cơ sở giao diện CPU” là

được xác định trong thông số kỹ thuật GICv2. Việc lấy hoặc thiết lập một sổ đăng ký như vậy có tác dụng tương tự như đọc hoặc ghi thanh ghi trên phần cứng thực tế.

Các thanh ghi ưu tiên hoạt động APRn được xác định khi triển khai, vì vậy chúng tôi đặt

định dạng cố định để chúng tôi triển khai phù hợp với mô hình “GICv2 triển khai mà không có phần mở rộng bảo mật” mà chúng tôi trình bày cho khách. Giao diện này luôn hiển thị bốn thanh ghi APR[0-3] mô tả tối đa có thể là 128 cấp độ ưu tiên. Ngữ nghĩa của sổ đăng ký cho biết liệu có bất kỳ ngắt nào ở mức ưu tiên nhất định đang ở trạng thái hoạt động hay không trạng thái bằng cách thiết lập bit tương ứng.

Do đó, mức ưu tiên X có một hoặc nhiều ngắt hoạt động khi và chỉ khi:

APRn[X mod 32] == 0b1, trong đó n = X / 32

Các bit dành cho mức độ ưu tiên không xác định là RAZ/WI.

Lưu ý rằng điều này khác với quan điểm của CPU về APR trên phần cứng trong đó

GIC không có phần mở rộng bảo mật sẽ hiển thị nhóm 0 và nhóm 1 đang hoạt động mức độ ưu tiên trong các nhóm đăng ký riêng biệt, trong khi chúng tôi hiển thị chế độ xem kết hợp tương tự như GICH_APR của GICv2.

Vì lý do lịch sử và để cung cấp khả năng tương thích ABI với không gian người dùng, chúng tôi

xuất thanh ghi GICC_PMR theo định dạng GICH_VMCR.VMPriMask trường trong 5 bit thấp hơn của một từ, nghĩa là không gian người dùng phải luôn sử dụng 5 bit thấp hơn để liên lạc với thiết bị KVM và phải dịch chuyển giá trị còn lại 3 vị trí để có được mức mặt nạ ưu tiên thực tế.

Lỗi:

-EINVAL Bộ giá trị nằm ngoài phạm vi dự kiến -EBUSY Giá trị đã được đặt hoặc GIC đã được khởi tạo

với các giá trị mặc định.

KVM_DEV_ARM_VGIC_GRP_CTRL

Thuộc tính:

KVM_DEV_ARM_VGIC_CTRL_INIT

yêu cầu khởi tạo VGIC hoặc ITS, không có tham số bổ sung trong kvm_device_attr.addr.

Lỗi: