|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
[OSDev] Interrupt handler: chiarimenti
Come i frequentatori più assidui di questa sezione del forum sapranno, sto provando a creare un mio sistema operativo. Dopo tante ricerche su Internet e sui manuali della Intel, alla fine sono riuscito ad abilitare gli interrupt. Solo che ora mi restano alcuni dubbi:
- da ora gli interrupt funzioneranno senza dover fare un lavoraccio per ognuno? Ad esempio, se uso una qualsiasi INT 10h (o INT 0x10, se sei uno GNU Ho ancora alcuni dubbi e/o problemi, magari poi ve li posto qualche altra volta.
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
|
Re: [OSDev] Interrupt handler: chiarimenti
Quote:
In realtà sotto GNU/Linux INT 0x10 non esiste, dato che l'interfaccia interrupt del kernel per GNU/Linux è sempre 0x80 . Comunque per il tuo kernel ti gestisci gli Interrupt che vuoi . 10h è una chiamata del bios , in generis non necessiti di gestire gli interrupt del bios tramite il kernel (DOS non lo fa, Linux mi sembra lo faccia e che non permetta chiamate dirette al BIOS ) . Poi ovviamente devi farti un tuo set di INTERRUPT SOFTWARE da accedere tramite dispatcher e argomenti passati tramite i registri del processore Ciao
__________________
GPU Compiler Engineer |
|
|
|
|
|
|
#3 | |||
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Re: Re: [OSDev] Interrupt handler: chiarimenti
Quote:
Quote:
Quote:
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|||
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Whhops... avevo un floating point error semplicemente perchè l'exception handler numero 16 (hex 0x10) corrisponde al floating point error... in pratica mi generavo da solo l'errore. Comunque, in modalità protetta, devo caricare un IDT vuota perchè il kernel non interferisca col BIOS? Altrimenti non riesco a chiamare alcun interrupt del BIOS.
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
|
|
|
|
#5 |
|
Member
Iscritto dal: Jul 2003
Città: pisa
Messaggi: 141
|
mi pare che in modalità protetta gli interrupt del BIOS non si possano chiamare (per quello serve la modalità virtual 8086 oppure devi tornare in real mode)
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Come si passa alla modalità v8086? So come si fa a passare dalla modalità reale a quella protetta e viceversa [mov cr0, eax; (x)or eax, 1; mov eax, cr0], ma quella virtuale non so proprio.
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 19:00.


















