Sebastian Herbszt wrote:
Kevin O'Connor wrote:
On Thu, Jan 06, 2011 at 04:24:13PM +0200, Gleb Natapov wrote:
On Thu, Jan 06, 2011 at 09:00:00AM -0500, Kevin O'Connor wrote:
On Thu, Jan 06, 2011 at 03:53:57PM +0200, Gleb Natapov wrote:
On Thu, Jan 06, 2011 at 08:41:11AM -0500, Kevin O'Connor wrote:
On Thu, Jan 06, 2011 at 07:09:27AM +0200, Gleb Natapov wrote: > On Wed, Jan 05, 2011 at 09:32:33PM -0500, Kevin O'Connor wrote: > > > - SET_INT13DPT(regs, host_bus[3], 0); > > > + SET_INT13DPT(regs, host_bus[3], ' '); > > > > What if we're not in t13 mode? Should this be: > > u8 fillchar = t13 ? ' ' : 0; > > SET_INT13DPT(regs, host_bus[3], fillchar); > > > Phoenix does not specify padding. Are you sure phoenix has to have zero > padding?
I think RBIL documented 0s. It may not be important.
What is RBIL?
Sorry - Ralph Brown's interrupt list:
Ah, I have it, just didn't know it is called RBIL :).
Do you want me to resend with fillchar = t13 ? ' ' : 0; or space should be good enough?
I just tested winxp, and it doesn't seem to call 1348 with a size bigger than 26 bytes. So, thinking about it further, I'm not sure it matters - the spec isn't clear and I don't know of anything that would care. (To be clear, I think we should support the 66 byte buffer size, however I'm not sure the padding matters.)
Sebastian - do you know of anything that calls 1348 with a buffer size that could observe the difference?
I think syslinux and FreeDOS call 1348 - will check their buffers later.
I have tested 1348 on VMware Player 3.0.0 build-203739. It runs PhoenixBIOS 4.0 Release 6.0, VMware BIOS build 314. Results: Input Buffer length -> Output Buffer length 1a -> 1a 1e -> 1e 42 -> 1e (looks like it doesn't support 42!) 4a -> 4a (wrong output buffer length, should be 1e; uses space padding)
Will do more tests later.
AMIBIOS V3.02 Release 08/15/2007
1a 00: 1a 00 00 00 ff 3f 00 00 - 10 00 00 00 3f 00 00 00 10: 30 60 38 3a 00 00 00 00 - 00 02 -- -- -- -- -- --
1e 00: 1e 00 00 00 ff 3f 00 00 - 10 00 00 00 3f 00 00 00 10: 30 60 38 3a 00 00 00 00 - 00 02 c0 4e d0 ea -- --
42 00: 42 00 00 00 ff 3f 00 00 - 10 00 00 00 3f 00 00 00 10: 30 60 38 3a 00 00 00 00 - 00 02 c0 4e d0 ea dd be 20: 24 00 00 00 50 43 49 20 - 41 54 41 20 20 20 20 20 30: 00 1f 20 00 00 00 00 00 - 00 00 00 00 00 00 00 00 40: 00 ae -- -- -- -- -- -- - -- -- -- -- -- -- -- --
4a 00: 42 00 00 00 ff 3f 00 00 - 10 00 00 00 3f 00 00 00 10: 30 60 38 3a 00 00 00 00 - 00 02 c0 4e d0 ea dd be 20: 24 00 00 00 50 43 49 20 - 41 54 41 20 20 20 20 20 30: 00 1f 20 00 00 00 00 00 - 00 00 00 00 00 00 00 00 40: 00 ae -- -- -- -- -- -- - -- -- -- -- -- -- -- --
Sebastian