Re: [Qemu-devel] [PATCH v5 0/6] i386: expose floppy-related objects in SSDT
On Wed, Jan 13, 2016 at 03:36:18PM +0100, Laszlo Ersek wrote: > On 12/30/15 21:11, Roman Kagan wrote: > > Windows on UEFI systems is only capable of detecting the presence and > > the type of floppy drives via corresponding ACPI objects. > > I'm late to the party, but please allow me a question: > > how did you figure out that UEFI Windows requires this? > > In general, what the ACPI specification says is at best a "guideline" > for Windows. So how did you prove this was a requirement for Windows? Well, my statement above that Windows on UEFI can detect floppies *only* via ACPI is probably a bit stronger than I can actually prove but - Windows on OVMF didn't see floppies before the patch, while Linux did (by querying CMOS) - a number of sources on the internet hinted that Windows needed ACPI assistance for that, e.g.: https://www.reactos.org/wiki/UEFI#Floppy https://social.technet.microsoft.com/Forums/windows/en-US/f17db175-d146-4518-b2e9-c12a15031222/legacy-floppy-compatibility-with-uefi-boot?forum=w7itprohardware https://social.technet.microsoft.com/Forums/windows/en-US/e91ec27b-0c2d-44a3-b949-e77fa810a4c0/windows-7-uefi-fdd-how-to?forum=w7itprohardware - the links mentioned the need in _FDE object but indicated it only allowed for successful enumeration of floppies, not the actual access; I proved that experimentally - the ACPI spec stated that _FDE went in concert with _FDI so I tried it and it worked out Voila. Besides, I later discovered that a similar research had been carried out for Parallels proprietary hypervisor, with a similar outcome. Roman.
Re: [Qemu-devel] [PATCH v5 0/6] i386: expose floppy-related objects in SSDT
On 01/13/16 16:49, Roman Kagan wrote: > On Wed, Jan 13, 2016 at 03:36:18PM +0100, Laszlo Ersek wrote: >> On 12/30/15 21:11, Roman Kagan wrote: >>> Windows on UEFI systems is only capable of detecting the presence and >>> the type of floppy drives via corresponding ACPI objects. >> >> I'm late to the party, but please allow me a question: >> >> how did you figure out that UEFI Windows requires this? >> >> In general, what the ACPI specification says is at best a "guideline" >> for Windows. So how did you prove this was a requirement for Windows? > > Well, my statement above that Windows on UEFI can detect floppies *only* > via ACPI is probably a bit stronger than I can actually prove but > > - Windows on OVMF didn't see floppies before the patch, while Linux did > (by querying CMOS) Indeed. https://bugzilla.redhat.com/show_bug.cgi?id=1212317 > > - a number of sources on the internet hinted that Windows needed ACPI > assistance for that, e.g.: > > https://www.reactos.org/wiki/UEFI#Floppy > > https://social.technet.microsoft.com/Forums/windows/en-US/f17db175-d146-4518-b2e9-c12a15031222/legacy-floppy-compatibility-with-uefi-boot?forum=w7itprohardware > > https://social.technet.microsoft.com/Forums/windows/en-US/e91ec27b-0c2d-44a3-b949-e77fa810a4c0/windows-7-uefi-fdd-how-to?forum=w7itprohardware Right, I found these. (The last two anyway.) I also found technet comments that plainly stated "it would never work". (Under your first link, I can read as well: "There have been reports that Windows does not properly support motherboard floppy controllers when booting from UEFI. The cause is not definitively known though a couple of pieces of data have emerged, one pointing to an issue with ACPI".) > - the links mentioned the need in _FDE object but indicated it only > allowed for successful enumeration of floppies, not the actual access; > I proved that experimentally > > - the ACPI spec stated that _FDE went in concert with _FDI so I tried it > and it worked out Thank you for confirming. So, improving Windows compat in QEMU remains trial-and-error-based, and occasionally reverse-engineering-based. Deplorable. > Voila. Besides, I later discovered that a similar research had been > carried out for Parallels proprietary hypervisor, with a similar > outcome. That is, large amounts of work are being duplicated between participants in this industry segment, because Microsoft doesn't give a flying fsck about documenting their exact platform requirements. (The fact that _FDE and _FDI are described in the ACPI spec means exactly zilch, because Microsoft have ignored e.g. DataTableRegion from the same spec, since ACPI 2.0 -- the year 2000.) I'm quite sure this obscurity is intentional, and meant to spread uncertainty and waste competitors' resources. Whereas they are having a field day whenever they look at open source components in a hybrid virt stack. Nothing to see here, move along. Thanks again. Laszlo
Re: [Qemu-devel] [PATCH v5 0/6] i386: expose floppy-related objects in SSDT
On Wed, Jan 13, 2016 at 06:49:44PM +0300, Roman Kagan wrote: > On Wed, Jan 13, 2016 at 03:36:18PM +0100, Laszlo Ersek wrote: > > On 12/30/15 21:11, Roman Kagan wrote: > > > Windows on UEFI systems is only capable of detecting the presence and > > > the type of floppy drives via corresponding ACPI objects. > > > > I'm late to the party, but please allow me a question: > > > > how did you figure out that UEFI Windows requires this? > > > > In general, what the ACPI specification says is at best a "guideline" > > for Windows. So how did you prove this was a requirement for Windows? > > Well, my statement above that Windows on UEFI can detect floppies *only* > via ACPI is probably a bit stronger than I can actually prove but > > - Windows on OVMF didn't see floppies before the patch, while Linux did > (by querying CMOS) > > - a number of sources on the internet hinted that Windows needed ACPI > assistance for that, e.g.: > > https://www.reactos.org/wiki/UEFI#Floppy > > https://social.technet.microsoft.com/Forums/windows/en-US/f17db175-d146-4518-b2e9-c12a15031222/legacy-floppy-compatibility-with-uefi-boot?forum=w7itprohardware > > https://social.technet.microsoft.com/Forums/windows/en-US/e91ec27b-0c2d-44a3-b949-e77fa810a4c0/windows-7-uefi-fdd-how-to?forum=w7itprohardware > > - the links mentioned the need in _FDE object but indicated it only > allowed for successful enumeration of floppies, not the actual access; > I proved that experimentally > > - the ACPI spec stated that _FDE went in concert with _FDI so I tried it > and it worked out > > Voila. Besides, I later discovered that a similar research had been > carried out for Parallels proprietary hypervisor, with a similar > outcome. Ah, I wish I saw your comment https://bugzilla.redhat.com/show_bug.cgi?id=1212317#c5 I'd probably proceed directly to trying _FDI :) Roman.
Re: [Qemu-devel] [PATCH v5 0/6] i386: expose floppy-related objects in SSDT
Hi Roman, On 12/30/15 21:11, Roman Kagan wrote: > Windows on UEFI systems is only capable of detecting the presence and > the type of floppy drives via corresponding ACPI objects. I'm late to the party, but please allow me a question: how did you figure out that UEFI Windows requires this? In general, what the ACPI specification says is at best a "guideline" for Windows. So how did you prove this was a requirement for Windows? Thanks Laszlo > > Those objects are added in patch 5; the preceding ones pave the way to > it, by making the necessary data public and by moving the whole > floppy drive controller description into runtime-generated SSDT. > > Note that the series conflicts with Igor's patchset for dynamic DSDT, in > particular, with "[PATCH v2 27/51] pc: acpi: move FDC0 device from DSDT > to SSDT"; I haven't managed to avoid that while trying to meet > maintainer's comments. > > Roman Kagan (6): > i386/pc: expose identifying the floppy controller > i386/acpi: make floppy controller object dynamic > tests/acpi: update test data > expose floppy drive geometry and CMOS type > i386: populate floppy drive information in SSDT > tests/acpi: update test data > > Signed-off-by: Roman Kagan> Cc: "Michael S. Tsirkin" > Cc: Eduardo Habkost > Cc: Igor Mammedov > Cc: John Snow > Cc: Kevin Wolf > Cc: Paolo Bonzini > Cc: Richard Henderson > Cc: qemu-bl...@nongnu.org > Cc: qemu-sta...@nongnu.org > --- > changes since v4: > - re-split out code changes from test data updates > > changes since v3: > - make FDC object fully dynamic in a separate patch > - split out support patches > - include test data updates with the respective patches to maintain >bisectability > > changes since v2: > - explicit endianness for buffer data > - reorder code to reduce conflicts with dynamic DSDT patchset > - update test data > > hw/block/fdc.c | 11 + > hw/i386/acpi-build.c| 92 > > hw/i386/acpi-dsdt-isa.dsl | 18 --- > hw/i386/acpi-dsdt.dsl | 1 - > hw/i386/pc.c| 46 ++ > hw/i386/q35-acpi-dsdt.dsl | 7 +-- > include/hw/block/fdc.h | 2 + > include/hw/i386/pc.h| 3 ++ > tests/acpi-test-data/pc/DSDT| Bin 3028 -> 2946 bytes > tests/acpi-test-data/pc/SSDT| Bin 2486 -> 2635 bytes > tests/acpi-test-data/pc/SSDT.bridge | Bin 4345 -> 4494 bytes > tests/acpi-test-data/q35/DSDT | Bin 7666 -> 7578 bytes > 12 files changed, 137 insertions(+), 43 deletions(-) >
Re: [Qemu-devel] [PATCH v5 0/6] i386: expose floppy-related objects in SSDT
On Wed, 30 Dec 2015 23:11:50 +0300 Roman Kaganwrote: > Windows on UEFI systems is only capable of detecting the presence and > the type of floppy drives via corresponding ACPI objects. > > Those objects are added in patch 5; the preceding ones pave the way to > it, by making the necessary data public and by moving the whole > floppy drive controller description into runtime-generated SSDT. > > Note that the series conflicts with Igor's patchset for dynamic DSDT, in > particular, with "[PATCH v2 27/51] pc: acpi: move FDC0 device from DSDT > to SSDT"; I haven't managed to avoid that while trying to meet > maintainer's comments. Hello Roman, I've rebased/rewrote this series on top of current PCI tree. Could you tell me if I should keep your Author/SoB on following patches or change/drop it and if it's the case please specify what should be changed: i386/acpi: make floppy controller object dynamic https://github.com/imammedo/qemu/commit/f0a3a4761f8f9698d0f0117d47e2353505de37bf i386: populate floppy drive information in DSDT https://github.com/imammedo/qemu/commit/97578d32e0a0b1cea0b6229f5ef51f8e104b7fdb > > Roman Kagan (6): > i386/pc: expose identifying the floppy controller > i386/acpi: make floppy controller object dynamic > tests/acpi: update test data > expose floppy drive geometry and CMOS type > i386: populate floppy drive information in SSDT > tests/acpi: update test data > > Signed-off-by: Roman Kagan > Cc: "Michael S. Tsirkin" > Cc: Eduardo Habkost > Cc: Igor Mammedov > Cc: John Snow > Cc: Kevin Wolf > Cc: Paolo Bonzini > Cc: Richard Henderson > Cc: qemu-bl...@nongnu.org > Cc: qemu-sta...@nongnu.org > --- > changes since v4: > - re-split out code changes from test data updates > > changes since v3: > - make FDC object fully dynamic in a separate patch > - split out support patches > - include test data updates with the respective patches to maintain >bisectability > > changes since v2: > - explicit endianness for buffer data > - reorder code to reduce conflicts with dynamic DSDT patchset > - update test data > > hw/block/fdc.c | 11 + > hw/i386/acpi-build.c| 92 > > hw/i386/acpi-dsdt-isa.dsl | 18 --- > hw/i386/acpi-dsdt.dsl | 1 - > hw/i386/pc.c| 46 ++ > hw/i386/q35-acpi-dsdt.dsl | 7 +-- > include/hw/block/fdc.h | 2 + > include/hw/i386/pc.h| 3 ++ > tests/acpi-test-data/pc/DSDT| Bin 3028 -> 2946 bytes > tests/acpi-test-data/pc/SSDT| Bin 2486 -> 2635 bytes > tests/acpi-test-data/pc/SSDT.bridge | Bin 4345 -> 4494 bytes > tests/acpi-test-data/q35/DSDT | Bin 7666 -> 7578 bytes > 12 files changed, 137 insertions(+), 43 deletions(-) >
Re: [Qemu-devel] [PATCH v5 0/6] i386: expose floppy-related objects in SSDT
On Mon, Jan 11, 2016 at 02:51:15PM +0100, Igor Mammedov wrote: > On Wed, 30 Dec 2015 23:11:50 +0300 > Roman Kaganwrote: > > > Windows on UEFI systems is only capable of detecting the presence and > > the type of floppy drives via corresponding ACPI objects. > > > > Those objects are added in patch 5; the preceding ones pave the way to > > it, by making the necessary data public and by moving the whole > > floppy drive controller description into runtime-generated SSDT. > > > > Note that the series conflicts with Igor's patchset for dynamic DSDT, in > > particular, with "[PATCH v2 27/51] pc: acpi: move FDC0 device from DSDT > > to SSDT"; I haven't managed to avoid that while trying to meet > > maintainer's comments. > > > Hello Roman, > > I've rebased/rewrote this series on top of current PCI tree. > Could you tell me if I should keep your Author/SoB on following > patches or change/drop it and if it's the case please specify what > should be changed: > > i386/acpi: make floppy controller object dynamic > > https://github.com/imammedo/qemu/commit/f0a3a4761f8f9698d0f0117d47e2353505de37bf > i386: populate floppy drive information in DSDT > > https://github.com/imammedo/qemu/commit/97578d32e0a0b1cea0b6229f5ef51f8e104b7fdb Both patches look good to me (I just noticed an excessive "to" in the log message of the second one, in "QEMU doesn't _to_ provide those objects in its ACPI tables", you may want to delete it before propagating the patch upstream). Now what are the plans re. stable branches? I think the problem of the floppy being unavaliable in Windows on UEFI/OVMF justifies porting it there (we are interested, in particular, in stable-2.3), but I'm now confused as to what state to use as the base. (As a matter of fact I'd been hoping that my patches made it in before your dynamic DSDT rework so the backport would be trivial cherry-pick; as this is no longer the case I'd appreciate your (or anybody else's) advice on how to move on with stable.) Thanks, Roman.
Re: [Qemu-devel] [PATCH v5 0/6] i386: expose floppy-related objects in SSDT
On Mon, 11 Jan 2016 17:26:26 +0300 Roman Kaganwrote: > On Mon, Jan 11, 2016 at 02:51:15PM +0100, Igor Mammedov wrote: > > On Wed, 30 Dec 2015 23:11:50 +0300 > > Roman Kagan wrote: > > > > > Windows on UEFI systems is only capable of detecting the presence and > > > the type of floppy drives via corresponding ACPI objects. > > > > > > Those objects are added in patch 5; the preceding ones pave the way to > > > it, by making the necessary data public and by moving the whole > > > floppy drive controller description into runtime-generated SSDT. > > > > > > Note that the series conflicts with Igor's patchset for dynamic DSDT, in > > > particular, with "[PATCH v2 27/51] pc: acpi: move FDC0 device from DSDT > > > to SSDT"; I haven't managed to avoid that while trying to meet > > > maintainer's comments. > > > > > > Hello Roman, > > > > I've rebased/rewrote this series on top of current PCI tree. > > Could you tell me if I should keep your Author/SoB on following > > patches or change/drop it and if it's the case please specify what > > should be changed: > > > > i386/acpi: make floppy controller object dynamic > > > > https://github.com/imammedo/qemu/commit/f0a3a4761f8f9698d0f0117d47e2353505de37bf > > i386: populate floppy drive information in DSDT > > > > https://github.com/imammedo/qemu/commit/97578d32e0a0b1cea0b6229f5ef51f8e104b7fdb > > > > Both patches look good to me (I just noticed an excessive "to" in the > log message of the second one, in "QEMU doesn't _to_ provide those > objects in its ACPI tables", you may want to delete it before > propagating the patch upstream). Just to confirm, so you are agree with me keeping you as Author on above patches and your SoB on them as well? > Now what are the plans re. stable branches? I think the problem of the > floppy being unavaliable in Windows on UEFI/OVMF justifies porting it > there (we are interested, in particular, in stable-2.3), but I'm now > confused as to what state to use as the base. > > (As a matter of fact I'd been hoping that my patches made it in before > your dynamic DSDT rework so the backport would be trivial cherry-pick; > as this is no longer the case I'd appreciate your (or anybody else's) > advice on how to move on with stable.) Stable could use reviewed v5 if Michael agrees to take fix. > > Thanks, > Roman.
Re: [Qemu-devel] [PATCH v5 0/6] i386: expose floppy-related objects in SSDT
On Mon, Jan 11, 2016 at 03:47:24PM +0100, Igor Mammedov wrote: > On Mon, 11 Jan 2016 17:26:26 +0300 > Roman Kaganwrote: > > > On Mon, Jan 11, 2016 at 02:51:15PM +0100, Igor Mammedov wrote: > > > I've rebased/rewrote this series on top of current PCI tree. > > > Could you tell me if I should keep your Author/SoB on following > > > patches or change/drop it and if it's the case please specify what > > > should be changed: > > > > > > i386/acpi: make floppy controller object dynamic > > > > > > https://github.com/imammedo/qemu/commit/f0a3a4761f8f9698d0f0117d47e2353505de37bf > > > i386: populate floppy drive information in DSDT > > > > > > https://github.com/imammedo/qemu/commit/97578d32e0a0b1cea0b6229f5ef51f8e104b7fdb > > > > > > > Both patches look good to me (I just noticed an excessive "to" in the > > log message of the second one, in "QEMU doesn't _to_ provide those > > objects in its ACPI tables", you may want to delete it before > > propagating the patch upstream). > Just to confirm, so you are agree with me keeping you as Author on > above patches and your SoB on them as well? Yes, sure. Sorry I haven't made it clear. > > Now what are the plans re. stable branches? I think the problem of the > > floppy being unavaliable in Windows on UEFI/OVMF justifies porting it > > there (we are interested, in particular, in stable-2.3), but I'm now > > confused as to what state to use as the base. > > > > (As a matter of fact I'd been hoping that my patches made it in before > > your dynamic DSDT rework so the backport would be trivial cherry-pick; > > as this is no longer the case I'd appreciate your (or anybody else's) > > advice on how to move on with stable.) > Stable could use reviewed v5 if Michael agrees to take fix. OK thanks! Roman.
Re: [Qemu-devel] [PATCH v5 0/6] i386: expose floppy-related objects in SSDT
On Wed, Jan 06, 2016 at 03:04:40PM +0100, Igor Mammedov wrote: > On Wed, 30 Dec 2015 23:11:50 +0300 > Roman Kaganwrote: > > > Windows on UEFI systems is only capable of detecting the presence and > > the type of floppy drives via corresponding ACPI objects. > > > > Those objects are added in patch 5; the preceding ones pave the way to > > it, by making the necessary data public and by moving the whole > > floppy drive controller description into runtime-generated SSDT. > > > > Note that the series conflicts with Igor's patchset for dynamic DSDT, in > > particular, with "[PATCH v2 27/51] pc: acpi: move FDC0 device from DSDT > > to SSDT"; I haven't managed to avoid that while trying to meet > > maintainer's comments. > > Tested with XPsp3 WS2008R2 WS2012R2, no regressions so far it boots fine and > can read floppy. > > So for whole series: > Reviewed-by: Igor Mammedov > Igor, could you pls rebase this on top of your patches? I've merged them in my tree. > > Roman Kagan (6): > > i386/pc: expose identifying the floppy controller > > i386/acpi: make floppy controller object dynamic > > tests/acpi: update test data > > expose floppy drive geometry and CMOS type > > i386: populate floppy drive information in SSDT > > tests/acpi: update test data > > > > Signed-off-by: Roman Kagan > > Cc: "Michael S. Tsirkin" > > Cc: Eduardo Habkost > > Cc: Igor Mammedov > > Cc: John Snow > > Cc: Kevin Wolf > > Cc: Paolo Bonzini > > Cc: Richard Henderson > > Cc: qemu-bl...@nongnu.org > > Cc: qemu-sta...@nongnu.org > > --- > > changes since v4: > > - re-split out code changes from test data updates > > > > changes since v3: > > - make FDC object fully dynamic in a separate patch > > - split out support patches > > - include test data updates with the respective patches to maintain > >bisectability > > > > changes since v2: > > - explicit endianness for buffer data > > - reorder code to reduce conflicts with dynamic DSDT patchset > > - update test data > > > > hw/block/fdc.c | 11 + > > hw/i386/acpi-build.c| 92 > > > > hw/i386/acpi-dsdt-isa.dsl | 18 --- > > hw/i386/acpi-dsdt.dsl | 1 - > > hw/i386/pc.c| 46 ++ > > hw/i386/q35-acpi-dsdt.dsl | 7 +-- > > include/hw/block/fdc.h | 2 + > > include/hw/i386/pc.h| 3 ++ > > tests/acpi-test-data/pc/DSDT| Bin 3028 -> 2946 bytes > > tests/acpi-test-data/pc/SSDT| Bin 2486 -> 2635 bytes > > tests/acpi-test-data/pc/SSDT.bridge | Bin 4345 -> 4494 bytes > > tests/acpi-test-data/q35/DSDT | Bin 7666 -> 7578 bytes > > 12 files changed, 137 insertions(+), 43 deletions(-) > >
Re: [Qemu-devel] [PATCH v5 0/6] i386: expose floppy-related objects in SSDT
On Thu, 7 Jan 2016 12:56:58 +0200 "Michael S. Tsirkin"wrote: > On Thu, Jan 07, 2016 at 12:56:09PM +0200, Michael S. Tsirkin wrote: > > On Wed, Jan 06, 2016 at 03:04:40PM +0100, Igor Mammedov wrote: > > > On Wed, 30 Dec 2015 23:11:50 +0300 > > > Roman Kagan wrote: > > > > > > > Windows on UEFI systems is only capable of detecting the presence and > > > > the type of floppy drives via corresponding ACPI objects. > > > > > > > > Those objects are added in patch 5; the preceding ones pave the way to > > > > it, by making the necessary data public and by moving the whole > > > > floppy drive controller description into runtime-generated SSDT. > > > > > > > > Note that the series conflicts with Igor's patchset for dynamic DSDT, in > > > > particular, with "[PATCH v2 27/51] pc: acpi: move FDC0 device from DSDT > > > > to SSDT"; I haven't managed to avoid that while trying to meet > > > > maintainer's comments. > > > > > > Tested with XPsp3 WS2008R2 WS2012R2, no regressions so far it boots fine > > > and can read floppy. > > > > > > So for whole series: > > > Reviewed-by: Igor Mammedov > > > > > > > Igor, could you pls rebase this on top of your patches? > > I've merged them in my tree. > > Pls remember to keep the author information intact though. Sure, I'll usually do it or when in doubt I just ask original authors before changing it. > > > > > Roman Kagan (6): > > > > i386/pc: expose identifying the floppy controller > > > > i386/acpi: make floppy controller object dynamic > > > > tests/acpi: update test data > > > > expose floppy drive geometry and CMOS type > > > > i386: populate floppy drive information in SSDT > > > > tests/acpi: update test data > > > > > > > > Signed-off-by: Roman Kagan > > > > Cc: "Michael S. Tsirkin" > > > > Cc: Eduardo Habkost > > > > Cc: Igor Mammedov > > > > Cc: John Snow > > > > Cc: Kevin Wolf > > > > Cc: Paolo Bonzini > > > > Cc: Richard Henderson > > > > Cc: qemu-bl...@nongnu.org > > > > Cc: qemu-sta...@nongnu.org > > > > --- > > > > changes since v4: > > > > - re-split out code changes from test data updates > > > > > > > > changes since v3: > > > > - make FDC object fully dynamic in a separate patch > > > > - split out support patches > > > > - include test data updates with the respective patches to maintain > > > >bisectability > > > > > > > > changes since v2: > > > > - explicit endianness for buffer data > > > > - reorder code to reduce conflicts with dynamic DSDT patchset > > > > - update test data > > > > > > > > hw/block/fdc.c | 11 + > > > > hw/i386/acpi-build.c| 92 > > > > > > > > hw/i386/acpi-dsdt-isa.dsl | 18 --- > > > > hw/i386/acpi-dsdt.dsl | 1 - > > > > hw/i386/pc.c| 46 ++ > > > > hw/i386/q35-acpi-dsdt.dsl | 7 +-- > > > > include/hw/block/fdc.h | 2 + > > > > include/hw/i386/pc.h| 3 ++ > > > > tests/acpi-test-data/pc/DSDT| Bin 3028 -> 2946 bytes > > > > tests/acpi-test-data/pc/SSDT| Bin 2486 -> 2635 bytes > > > > tests/acpi-test-data/pc/SSDT.bridge | Bin 4345 -> 4494 bytes > > > > tests/acpi-test-data/q35/DSDT | Bin 7666 -> 7578 bytes > > > > 12 files changed, 137 insertions(+), 43 deletions(-) > > > >
Re: [Qemu-devel] [PATCH v5 0/6] i386: expose floppy-related objects in SSDT
On Wed, 30 Dec 2015 23:11:50 +0300 Roman Kaganwrote: > Windows on UEFI systems is only capable of detecting the presence and > the type of floppy drives via corresponding ACPI objects. > > Those objects are added in patch 5; the preceding ones pave the way to > it, by making the necessary data public and by moving the whole > floppy drive controller description into runtime-generated SSDT. > > Note that the series conflicts with Igor's patchset for dynamic DSDT, in > particular, with "[PATCH v2 27/51] pc: acpi: move FDC0 device from DSDT > to SSDT"; I haven't managed to avoid that while trying to meet > maintainer's comments. Tested with XPsp3 WS2008R2 WS2012R2, no regressions so far it boots fine and can read floppy. So for whole series: Reviewed-by: Igor Mammedov > Roman Kagan (6): > i386/pc: expose identifying the floppy controller > i386/acpi: make floppy controller object dynamic > tests/acpi: update test data > expose floppy drive geometry and CMOS type > i386: populate floppy drive information in SSDT > tests/acpi: update test data > > Signed-off-by: Roman Kagan > Cc: "Michael S. Tsirkin" > Cc: Eduardo Habkost > Cc: Igor Mammedov > Cc: John Snow > Cc: Kevin Wolf > Cc: Paolo Bonzini > Cc: Richard Henderson > Cc: qemu-bl...@nongnu.org > Cc: qemu-sta...@nongnu.org > --- > changes since v4: > - re-split out code changes from test data updates > > changes since v3: > - make FDC object fully dynamic in a separate patch > - split out support patches > - include test data updates with the respective patches to maintain >bisectability > > changes since v2: > - explicit endianness for buffer data > - reorder code to reduce conflicts with dynamic DSDT patchset > - update test data > > hw/block/fdc.c | 11 + > hw/i386/acpi-build.c| 92 > > hw/i386/acpi-dsdt-isa.dsl | 18 --- > hw/i386/acpi-dsdt.dsl | 1 - > hw/i386/pc.c| 46 ++ > hw/i386/q35-acpi-dsdt.dsl | 7 +-- > include/hw/block/fdc.h | 2 + > include/hw/i386/pc.h| 3 ++ > tests/acpi-test-data/pc/DSDT| Bin 3028 -> 2946 bytes > tests/acpi-test-data/pc/SSDT| Bin 2486 -> 2635 bytes > tests/acpi-test-data/pc/SSDT.bridge | Bin 4345 -> 4494 bytes > tests/acpi-test-data/q35/DSDT | Bin 7666 -> 7578 bytes > 12 files changed, 137 insertions(+), 43 deletions(-) >