Alex Bervoets 3.29.2005
Actually, there are certain ring 3 user applications (PM fax for example) which use IOPL level (privilege level 2)
to access the machine hardware directly (IN/OUT, CLI/STI instructions). If we don't want to break compatibility
with these existing applications, then how are we going to address this issue ?
Some more reading stuff : http://www.howzatt.demon.co.uk/articles/28dec92.html
and http://www.edm2.com/0307/32-bit-io.html
Old messages (part II)
Re: Old messages (part II)
Samuel A. Falvo II 3.29.2005
Well, I tried to install OS/2 Warp 4 this evening using QEMU, and I am positively disappointed.
I created a 2GB hard-file, of which I created a 200MB partition for C:, leaving the remainder
unpartitioned. I selected advanced install, and formatted the partition as HPFS. After it went
through and installed the minimal PM on the system and asked to reboot, I got a "drive read error."
That was bizarre, so I restarted qemu, and got the same error. Well shucks -- so I restarted the
installation process, thinking it just fubar'ed on itself. This time, upon formatting the partition,
it tells me that there is an error: "The partition is larger than 100MB". Last time I checked,
OS/2 requires at least 175MB of disk space. I don't think 200MB was asking for too much.
So, it seems like it is not going to be possible for me to get OS/2 running on my system.
It appears to be thoroughly incompatible with QEmu 0.6.1, at the very least, and from
Googling around, it seems I'm not the only one. I've found a How-to on installing it, but
it just didn't work.
Well, I tried to install OS/2 Warp 4 this evening using QEMU, and I am positively disappointed.
I created a 2GB hard-file, of which I created a 200MB partition for C:, leaving the remainder
unpartitioned. I selected advanced install, and formatted the partition as HPFS. After it went
through and installed the minimal PM on the system and asked to reboot, I got a "drive read error."
That was bizarre, so I restarted qemu, and got the same error. Well shucks -- so I restarted the
installation process, thinking it just fubar'ed on itself. This time, upon formatting the partition,
it tells me that there is an error: "The partition is larger than 100MB". Last time I checked,
OS/2 requires at least 175MB of disk space. I don't think 200MB was asking for too much.
So, it seems like it is not going to be possible for me to get OS/2 running on my system.
It appears to be thoroughly incompatible with QEmu 0.6.1, at the very least, and from
Googling around, it seems I'm not the only one. I've found a How-to on installing it, but
it just didn't work.
Re: Old messages (part II)
Samuel A. Falvo II 3.29.2005
I should add that when I finally gave up trying to install it, I found my hard-file had *grown* to
128GiB (yes, that is 128 gibibytes -- aka 128GB for those who do not yet use IEC-approved binary
units of measure). This leads me to believe that qemu itself is inherently incompatible with OS/2,
and that OS/2's code causes qemu to execute some untested code that doesn't work.
I should add that when I finally gave up trying to install it, I found my hard-file had *grown* to
128GiB (yes, that is 128 gibibytes -- aka 128GB for those who do not yet use IEC-approved binary
units of measure). This leads me to believe that qemu itself is inherently incompatible with OS/2,
and that OS/2's code causes qemu to execute some untested code that doesn't work.
Re: Old messages (part II)
Alex Bervoets 3.29.2005
I haven't tried QEMU myself, but the problem could be the OS/2 IDE driver. I assume you're
installing OS/2 using the Warp 4 install disks ? Did you update disks 1 and 2 ? There's a known
issue with the old IDE driver.
See http://www-1.ibm.com/support/docview.ws ... &loc=en_US Or
better, use the dani1s506.add replacement IDE driver instead (available on hobbes).
I haven't tried QEMU myself, but the problem could be the OS/2 IDE driver. I assume you're
installing OS/2 using the Warp 4 install disks ? Did you update disks 1 and 2 ? There's a known
issue with the old IDE driver.
See http://www-1.ibm.com/support/docview.ws ... &loc=en_US Or
better, use the dani1s506.add replacement IDE driver instead (available on hobbes).
Re: Old messages (part II)
Cristiano Guadagnino 3.30.2005
To Yuri, Sergey: I wrote an email to Bart/2 (yahoo group owner) requesting the proposed changes.
I haven't received a reply until now... no return receipt either. I'll wait a few more days, then I'll
set up a new group and maybe request to close the old one because of the unavailability of the
owner. I'll keep you all posted.
To Yuri, Sergey: I wrote an email to Bart/2 (yahoo group owner) requesting the proposed changes.
I haven't received a reply until now... no return receipt either. I'll wait a few more days, then I'll
set up a new group and maybe request to close the old one because of the unavailability of the
owner. I'll keep you all posted.
Re: Old messages (part II)
Samuel A. Falvo II 3.30.2005
2AlexIOPL: L4 allows any task to have an associated "exception handler" task associated with it.
These tasks often handle CPU exceptions like divide-by-zero, etc. So when a GPF occurs, we can
trap that, and inspect the state of the task to determine if it was executing an I/O instruction.
If so, and if the process is marked as an IOPL process, we can emulate the instruction. How to
handle CLI/STI is still an open question however. I'm really not sure how OS/2 treats these
instructions with respect to the rest of the system. If the x86 is truely, honestly, 100% running in
ring 2 when those instructions are executed, then NO exception is generated, and the CPU really
truely does enable/disable interrupts. To me, that would seem to be positively dangerous.
2AlexIOPL: L4 allows any task to have an associated "exception handler" task associated with it.
These tasks often handle CPU exceptions like divide-by-zero, etc. So when a GPF occurs, we can
trap that, and inspect the state of the task to determine if it was executing an I/O instruction.
If so, and if the process is marked as an IOPL process, we can emulate the instruction. How to
handle CLI/STI is still an open question however. I'm really not sure how OS/2 treats these
instructions with respect to the rest of the system. If the x86 is truely, honestly, 100% running in
ring 2 when those instructions are executed, then NO exception is generated, and the CPU really
truely does enable/disable interrupts. To me, that would seem to be positively dangerous.
Re: Old messages (part II)
Samuel A. Falvo II 3.30.2005
2AlexDisks: Thanks for the references and the heads-up. I'll try again later tonight.
2AlexDisks: Thanks for the references and the heads-up. I'll try again later tonight.
Re: Old messages (part II)
Yuri Prokushev 3.31.2005
2Cristiano: Ok. Actually, we can ask Kim Haverblad for check is private maillist stil
works and reuse it again.
2Cristiano: Ok. Actually, we can ask Kim Haverblad for check is private maillist stil
works and reuse it again.
Re: Old messages (part II)
Yuri Prokushev 3.31.2005
2Samuel Actually, having L4, sigma0, os/3 kernel is also good for me. I don't think we need to
reimplement boot process exactly as on OS/2. Only thing preffer to have is reusage of IFS.
2Samuel Actually, having L4, sigma0, os/3 kernel is also good for me. I don't think we need to
reimplement boot process exactly as on OS/2. Only thing preffer to have is reusage of IFS.
Re: Old messages (part II)
Cristiano Guadagnino 3.31.2005
2Yuri: yes, it could be an option. But which private mailinglist? I don't remember...
or are you talking about our closed osFree-core mailing-list? In that case, we could
simply add Samuel and Alex to the members... but I'd like something more publically
visible (even if people wouldn't be able to freely join, we could let them *read* freely)
so that people could see that there *is* life in osFree.
2Yuri: yes, it could be an option. But which private mailinglist? I don't remember...
or are you talking about our closed osFree-core mailing-list? In that case, we could
simply add Samuel and Alex to the members... but I'd like something more publically
visible (even if people wouldn't be able to freely join, we could let them *read* freely)
so that people could see that there *is* life in osFree.