2013-05-08 28 views
6

Tôi đang viết một hạt nhân (sử dụng qemu để mô phỏng) cho x86 như một dự án trường học và tôi gặp phải vấn đề lạ. Mặc dù tôi đã đặt cờ ngắt trong thanh ghi eflags, tôi sẽ không nhận bất kỳ ngắt xung nhịp nào (tôi đã kiểm tra bằng lệnh đăng ký thông tin qemu và tôi thấy eflag = 0x292 có nghĩa là nó được đặt). Để được chính xác khi tôi chạy một thử nghiệm spin (trong khi (1); chương trình) trong chế độ người dùng, tôi nhận được một đồng hồ ngắt, nhưng sau đó, nó dừng lại, qemu dường như không mô phỏng nhiều hơn nữa! nó có xảy ra với ai khác không? Có cơ chế nào khác có thể ảnh hưởng đến ngắt không? Bất cứ ai cũng có một đầu mối?
Shai.x86 phần cứng Ngắt không hoạt động trên qemu

Trả lời

3

Dường như trong x86, bạn phải xác nhận ngắt đồng hồ sau mỗi lần ngắt. I.Một người phải gửi một xác nhận đến lapic sau mỗi lần ngắt đồng hồ.

0

Nếu bạn đang mong đợi ngắt từ RTC, bạn phải xác nhận trước ngắt trước bằng cách đọc từ REG_C (CMOS register 0x0C).

Các vấn đề liên quan