2013-05-08 7 views
6

पर काम नहीं कर रहा है मैं x86 के लिए एक स्कूल प्रोजेक्ट के रूप में एक कर्नेल (अनुकरण करने के लिए qemu का उपयोग कर) लिख रहा हूं और मैं अजीब समस्या में भाग गया। हालांकि मैंने eflags रजिस्टर में इंटरप्ट फ्लैग सेट किया है, फिर भी मुझे कोई घड़ी इंटरप्ट नहीं मिल रहा है (मैंने qemu जानकारी रजिस्टर कमांड के साथ जांच की है और मैं eflag = 0x292 देखता हूं जिसका अर्थ है कि यह सेट है)।x86 हार्डवेयर इंटरप्ट qemu

उपयोगकर्ता मोड में स्पिन टेस्ट (जबकि (1); प्रोग्राम) चलाते समय सटीक होने के लिए, मुझे एक घड़ी में बाधा आती है, लेकिन उसके बाद, यह रुक जाती है, क्यूमु अधिक अनुकरण नहीं करता है! क्या यह किसी और के साथ हुआ? क्या कोई और तंत्र है जो इंटरप्ट को प्रभावित कर सकता है? किसी के पास कोई सुराग है?
शाई।

उत्तर

3

स्पष्ट रूप से x86 में, आपको प्रत्येक के बाद घड़ी इंटरप्ट को स्वीकार करना होगा। I. प्रत्येक घड़ी में बाधा डालने के बाद मुझे किसी को लैपिक को एक पावती भेजनी होगी।

0

यदि आप आरटीसी से हस्तक्षेप की उम्मीद कर रहे हैं, तो आपको आरईजी_C (सीएमओएस रजिस्टर 0x0 सी) से पढ़कर पहले पिछली बाधा को स्वीकार करना होगा।