Message ID | 1435766793-26162-1-git-send-email-colin.king@canonical.com |
---|---|
State | Accepted |
Headers | show |
On 07/01/2015 09:06 AM, Colin King wrote: > From: Colin Ian King <colin.king@canonical.com> > > The OS/2 memory gap test is an ancient legacy test. I > believe it was an issue with BIOS of the previous millennium, > so it is time to remove this test. I don't know about this test, but OS/2 isn't dead yet. Arca Noae appears to be the current owner of OS. https://www.arcanoae.com/ They joined the UEFI Forum a few months ago, so perhaps a UEFI-enabled version of OS/2 may happen? :-) Thanks, Lee RSS: http://firmwaresecurity.com/feed/
On 01/07/15 17:36, Blibbet wrote: > On 07/01/2015 09:06 AM, Colin King wrote: >> From: Colin Ian King <colin.king@canonical.com> >> >> The OS/2 memory gap test is an ancient legacy test. I >> believe it was an issue with BIOS of the previous millennium, >> so it is time to remove this test. > > I don't know about this test, but OS/2 isn't dead yet. Arca Noae appears > to be the current owner of OS. Interesting. And I thought OS/2 was dead. Since this test pertains to really old firmware which has probably been recycled years ago, I'm hoping we can remove this old legacy test. I've not see any firmware exhibit this issue ever. > > https://www.arcanoae.com/ > > They joined the UEFI Forum a few months ago, so perhaps a UEFI-enabled > version of OS/2 may happen? :-) That will be bring them into the modern firmware era, so the os2gap test will be meaningless in that context. > > Thanks, > Lee > RSS: http://firmwaresecurity.com/feed/ > > >
On 2015年07月02日 00:06, Colin King wrote: > From: Colin Ian King <colin.king@canonical.com> > > The OS/2 memory gap test is an ancient legacy test. I > believe it was an issue with BIOS of the previous millennium, > so it is time to remove this test. > > Signed-off-by: Colin Ian King <colin.king@canonical.com> > --- > .../arg-show-tests-0001/arg-show-tests-0001.log | 1 - > .../arg-show-tests-full-0001.log | 4 +- > src/Makefile.am | 1 - > src/bios/os2gap/os2gap.c | 82 ---------------------- > 4 files changed, 1 insertion(+), 87 deletions(-) > delete mode 100644 src/bios/os2gap/os2gap.c > > diff --git a/fwts-test/arg-show-tests-0001/arg-show-tests-0001.log b/fwts-test/arg-show-tests-0001/arg-show-tests-0001.log > index 5ed488f..b3287b7 100644 > --- a/fwts-test/arg-show-tests-0001/arg-show-tests-0001.log > +++ b/fwts-test/arg-show-tests-0001/arg-show-tests-0001.log > @@ -85,7 +85,6 @@ Batch tests: > mtrr MTRR tests. > nx Test if CPU NX is disabled by the BIOS. > oops Scan kernel log for Oopses. > - os2gap OS/2 memory hole test. > osilinux Disassemble DSDT to check for _OSI("Linux"). > pcc Processor Clocking Control (PCC) test. > pciirq PCI IRQ Routing Table test. > diff --git a/fwts-test/arg-show-tests-full-0001/arg-show-tests-full-0001.log b/fwts-test/arg-show-tests-full-0001/arg-show-tests-full-0001.log > index d93b217..f6eb0ef 100644 > --- a/fwts-test/arg-show-tests-full-0001/arg-show-tests-full-0001.log > +++ b/fwts-test/arg-show-tests-full-0001/arg-show-tests-full-0001.log > @@ -569,8 +569,6 @@ Batch tests: > Test all CPUs have same msr setting in MSR 0x1a0. > oops (1 test): > Kernel log oops check. > - os2gap (1 test): > - Test the OS/2 15Mb memory hole is absent. > osilinux (1 test): > Disassemble DSDT to check for _OSI("Linux"). > pcc (1 test): > @@ -810,4 +808,4 @@ UEFI tests: > Test UEFI RT service query variable info interface stress test. > Test UEFI RT service get variable interface, invalid parameters. > > -Total of 659 tests > +Total of 658 tests > diff --git a/src/Makefile.am b/src/Makefile.am > index 539ff94..7cf5125 100644 > --- a/src/Makefile.am > +++ b/src/Makefile.am > @@ -91,7 +91,6 @@ fwts_SOURCES = main.c \ > bios/mtrr/mtrr.c \ > bios/multiproc/mpcheck.c \ > bios/multiproc/mpdump.c \ > - bios/os2gap/os2gap.c \ > bios/pciirq/pciirq.c \ > bios/pnp/pnp.c \ > bios/romdump/romdump.c \ > diff --git a/src/bios/os2gap/os2gap.c b/src/bios/os2gap/os2gap.c > deleted file mode 100644 > index 7426005..0000000 > --- a/src/bios/os2gap/os2gap.c > +++ /dev/null > @@ -1,82 +0,0 @@ > -/* > - * Copyright (C) 2006, Intel Corporation > - * Copyright (C) 2010-2015 Canonical > - * > - * This code was originally part of the Linux-ready Firmware Developer Kit > - * > - * This program is free software; you can redistribute it and/or > - * modify it under the terms of the GNU General Public License > - * as published by the Free Software Foundation; either version 2 > - * of the License, or (at your option) any later version. > - * > - * This program is distributed in the hope that it will be useful, > - * but WITHOUT ANY WARRANTY; without even the implied warranty of > - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > - * GNU General Public License for more details. > - * > - * You should have received a copy of the GNU General Public License > - * along with this program; if not, write to the Free Software > - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. > - * > - */ > - > -#include "fwts.h" > - > -#ifdef FWTS_ARCH_INTEL > - > -#define OS2_GAP_ADDRESS (15*1024*1024) > -#define OS2_GAP_SIZE (1024*1024) > - > -static fwts_list *os2gap_memory_map_info; > - > -static int os2gap_init(fwts_framework *fw) > -{ > - if ((os2gap_memory_map_info = fwts_memory_map_table_load(fw)) == NULL) { > - fwts_log_warning(fw, "No memory map table found"); > - return FWTS_ERROR; > - } > - return FWTS_OK; > -} > - > -static int os2gap_deinit(fwts_framework *fw) > -{ > - FWTS_UNUSED(fw); > - > - if (os2gap_memory_map_info) > - fwts_memory_map_table_free(os2gap_memory_map_info); > - > - return FWTS_OK; > -} > - > -static int os2gap_test1(fwts_framework *fw) > -{ > - if (fwts_memory_map_is_reserved(os2gap_memory_map_info, OS2_GAP_ADDRESS)) { > - fwts_failed(fw, LOG_LEVEL_HIGH, > - "OS2Gap", > - "The memory map has OS/2 memory hole of %dK at %p..%p.", > - OS2_GAP_SIZE / 1024, > - (void*)OS2_GAP_ADDRESS, > - (void*)(OS2_GAP_ADDRESS + OS2_GAP_SIZE)); > - fwts_log_nl(fw); > - fwts_memory_map_table_dump(fw, os2gap_memory_map_info); > - } else > - fwts_passed(fw, "No OS/2 memory hole found."); > - > - return FWTS_OK; > -} > - > -static fwts_framework_minor_test os2gap_tests[] = { > - { os2gap_test1, "Test the OS/2 15Mb memory hole is absent." }, > - { NULL, NULL } > -}; > - > -static fwts_framework_ops os2gap_ops = { > - .description = "OS/2 memory hole test.", > - .init = os2gap_init, > - .deinit = os2gap_deinit, > - .minor_tests = os2gap_tests > -}; > - > -FWTS_REGISTER("os2gap", &os2gap_ops, FWTS_TEST_ANYTIME, FWTS_FLAG_BATCH) > - > -#endif Acked-by: Ivan Hu<ivan.hu@canonical.com>
>> I don't know about this test, but OS/2 isn't dead yet. Arca Noae appears >> to be the current owner of OS. > > Interesting. And I thought OS/2 was dead. ... > That will be bring them into the modern firmware era, so the os2gap test > will be meaningless in that context. http://www.arcanoae.com/wiki/acpi/requirements/ "Your system must have a standards compliant BIOS. The PSD has workarounds for, and will work on systems with minor BIOS defects. However if certain critical pieces are missing or don’t work, you will not be able to boot." "Your system must have valid ACPI tables that properly describe the hardware. The PSD has workarounds for some common minor ACPI defects, so systems with these minor ACPI defects will work. Systems with seriously broken ACPI tables will not work properly." (no mention of UEFI on requirements page.) http://www.arcanoae.com/roadmap/ In the Long Term dev roadmap, they mention the need for GPT to replace MBR. (They don't mention the need for UEFI to replace BIOS.) "The MBR support in the BIOS has been replaced by the GPT disk layout which is part of the UEFI standard. Current research seems to indicate that we can provide GPT support via something called a hybrid MBR." http://www.arcanoae.com/arca-noae-joins-the-uefi-forum-as-an-adopting-member/ "Arca Noae develops and maintains the current ACPI implementation for the OS/2 and eComStation platform. Arca Noae is committed to running OS/2 on current hardware. UEFI, like ACPI, is a continuation of the trend to move more functions from the BIOS to the operating system. Arca Noae is looking into how this new technology can be supported under OS/2 in the future." Given ACPI comments in their UEFI Forum press release, and GPT is on their long term dev radar, I presume they're going to be BIOS/ACPI-based for a while, before they switch over to UEFI. I've emailed them and asked them for more specific info about their firmware plans, and about the need for this test.
On 07/04/2015 06:38 AM, Blibbet wrote: >>> I don't know about this test, but OS/2 isn't dead yet. Arca Noae appears >>> to be the current owner of OS. >> >> Interesting. And I thought OS/2 was dead. > ... >> That will be bring them into the modern firmware era, so the os2gap test >> will be meaningless in that context. > > http://www.arcanoae.com/wiki/acpi/requirements/ > > "Your system must have a standards compliant BIOS. The PSD has > workarounds for, and will work on systems with minor BIOS defects. > However if certain critical pieces are missing or don’t work, you will > not be able to boot." > > "Your system must have valid ACPI tables that properly describe the > hardware. The PSD has workarounds for some common minor ACPI defects, so > systems with these minor ACPI defects will work. Systems with seriously > broken ACPI tables will not work properly." > > (no mention of UEFI on requirements page.) > > http://www.arcanoae.com/roadmap/ > > In the Long Term dev roadmap, they mention the need for GPT to replace > MBR. (They don't mention the need for UEFI to replace BIOS.) > > "The MBR support in the BIOS has been replaced by the GPT disk layout > which is part of the UEFI standard. Current research seems to indicate > that we can provide GPT support via something called a hybrid MBR." > > http://www.arcanoae.com/arca-noae-joins-the-uefi-forum-as-an-adopting-member/ > > "Arca Noae develops and maintains the current ACPI implementation for > the OS/2 and eComStation platform. Arca Noae is committed to running > OS/2 on current hardware. UEFI, like ACPI, is a continuation of the > trend to move more functions from the BIOS to the operating system. Arca > Noae is looking into how this new technology can be supported under OS/2 > in the future." > > Given ACPI comments in their UEFI Forum press release, and GPT is on > their long term dev radar, I presume they're going to be BIOS/ACPI-based > for a while, before they switch over to UEFI. I've emailed them and > asked them for more specific info about their firmware plans, and about > the need for this test. > > Blibbet, Thanks for the information and helping contact arcanoae for clarification. I am also in favour of depreciating legacy tests, but we can always revert this patch if we find out that people out there are still using it.
On 07/02/2015 12:06 AM, Colin King wrote: > From: Colin Ian King <colin.king@canonical.com> > > The OS/2 memory gap test is an ancient legacy test. I > believe it was an issue with BIOS of the previous millennium, > so it is time to remove this test. > > Signed-off-by: Colin Ian King <colin.king@canonical.com> > --- > .../arg-show-tests-0001/arg-show-tests-0001.log | 1 - > .../arg-show-tests-full-0001.log | 4 +- > src/Makefile.am | 1 - > src/bios/os2gap/os2gap.c | 82 ---------------------- > 4 files changed, 1 insertion(+), 87 deletions(-) > delete mode 100644 src/bios/os2gap/os2gap.c > > diff --git a/fwts-test/arg-show-tests-0001/arg-show-tests-0001.log b/fwts-test/arg-show-tests-0001/arg-show-tests-0001.log > index 5ed488f..b3287b7 100644 > --- a/fwts-test/arg-show-tests-0001/arg-show-tests-0001.log > +++ b/fwts-test/arg-show-tests-0001/arg-show-tests-0001.log > @@ -85,7 +85,6 @@ Batch tests: > mtrr MTRR tests. > nx Test if CPU NX is disabled by the BIOS. > oops Scan kernel log for Oopses. > - os2gap OS/2 memory hole test. > osilinux Disassemble DSDT to check for _OSI("Linux"). > pcc Processor Clocking Control (PCC) test. > pciirq PCI IRQ Routing Table test. > diff --git a/fwts-test/arg-show-tests-full-0001/arg-show-tests-full-0001.log b/fwts-test/arg-show-tests-full-0001/arg-show-tests-full-0001.log > index d93b217..f6eb0ef 100644 > --- a/fwts-test/arg-show-tests-full-0001/arg-show-tests-full-0001.log > +++ b/fwts-test/arg-show-tests-full-0001/arg-show-tests-full-0001.log > @@ -569,8 +569,6 @@ Batch tests: > Test all CPUs have same msr setting in MSR 0x1a0. > oops (1 test): > Kernel log oops check. > - os2gap (1 test): > - Test the OS/2 15Mb memory hole is absent. > osilinux (1 test): > Disassemble DSDT to check for _OSI("Linux"). > pcc (1 test): > @@ -810,4 +808,4 @@ UEFI tests: > Test UEFI RT service query variable info interface stress test. > Test UEFI RT service get variable interface, invalid parameters. > > -Total of 659 tests > +Total of 658 tests > diff --git a/src/Makefile.am b/src/Makefile.am > index 539ff94..7cf5125 100644 > --- a/src/Makefile.am > +++ b/src/Makefile.am > @@ -91,7 +91,6 @@ fwts_SOURCES = main.c \ > bios/mtrr/mtrr.c \ > bios/multiproc/mpcheck.c \ > bios/multiproc/mpdump.c \ > - bios/os2gap/os2gap.c \ > bios/pciirq/pciirq.c \ > bios/pnp/pnp.c \ > bios/romdump/romdump.c \ > diff --git a/src/bios/os2gap/os2gap.c b/src/bios/os2gap/os2gap.c > deleted file mode 100644 > index 7426005..0000000 > --- a/src/bios/os2gap/os2gap.c > +++ /dev/null > @@ -1,82 +0,0 @@ > -/* > - * Copyright (C) 2006, Intel Corporation > - * Copyright (C) 2010-2015 Canonical > - * > - * This code was originally part of the Linux-ready Firmware Developer Kit > - * > - * This program is free software; you can redistribute it and/or > - * modify it under the terms of the GNU General Public License > - * as published by the Free Software Foundation; either version 2 > - * of the License, or (at your option) any later version. > - * > - * This program is distributed in the hope that it will be useful, > - * but WITHOUT ANY WARRANTY; without even the implied warranty of > - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > - * GNU General Public License for more details. > - * > - * You should have received a copy of the GNU General Public License > - * along with this program; if not, write to the Free Software > - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. > - * > - */ > - > -#include "fwts.h" > - > -#ifdef FWTS_ARCH_INTEL > - > -#define OS2_GAP_ADDRESS (15*1024*1024) > -#define OS2_GAP_SIZE (1024*1024) > - > -static fwts_list *os2gap_memory_map_info; > - > -static int os2gap_init(fwts_framework *fw) > -{ > - if ((os2gap_memory_map_info = fwts_memory_map_table_load(fw)) == NULL) { > - fwts_log_warning(fw, "No memory map table found"); > - return FWTS_ERROR; > - } > - return FWTS_OK; > -} > - > -static int os2gap_deinit(fwts_framework *fw) > -{ > - FWTS_UNUSED(fw); > - > - if (os2gap_memory_map_info) > - fwts_memory_map_table_free(os2gap_memory_map_info); > - > - return FWTS_OK; > -} > - > -static int os2gap_test1(fwts_framework *fw) > -{ > - if (fwts_memory_map_is_reserved(os2gap_memory_map_info, OS2_GAP_ADDRESS)) { > - fwts_failed(fw, LOG_LEVEL_HIGH, > - "OS2Gap", > - "The memory map has OS/2 memory hole of %dK at %p..%p.", > - OS2_GAP_SIZE / 1024, > - (void*)OS2_GAP_ADDRESS, > - (void*)(OS2_GAP_ADDRESS + OS2_GAP_SIZE)); > - fwts_log_nl(fw); > - fwts_memory_map_table_dump(fw, os2gap_memory_map_info); > - } else > - fwts_passed(fw, "No OS/2 memory hole found."); > - > - return FWTS_OK; > -} > - > -static fwts_framework_minor_test os2gap_tests[] = { > - { os2gap_test1, "Test the OS/2 15Mb memory hole is absent." }, > - { NULL, NULL } > -}; > - > -static fwts_framework_ops os2gap_ops = { > - .description = "OS/2 memory hole test.", > - .init = os2gap_init, > - .deinit = os2gap_deinit, > - .minor_tests = os2gap_tests > -}; > - > -FWTS_REGISTER("os2gap", &os2gap_ops, FWTS_TEST_ANYTIME, FWTS_FLAG_BATCH) > - > -#endif > Acked-by: Alex Hung <alex.hung@canonical.com>
diff --git a/fwts-test/arg-show-tests-0001/arg-show-tests-0001.log b/fwts-test/arg-show-tests-0001/arg-show-tests-0001.log index 5ed488f..b3287b7 100644 --- a/fwts-test/arg-show-tests-0001/arg-show-tests-0001.log +++ b/fwts-test/arg-show-tests-0001/arg-show-tests-0001.log @@ -85,7 +85,6 @@ Batch tests: mtrr MTRR tests. nx Test if CPU NX is disabled by the BIOS. oops Scan kernel log for Oopses. - os2gap OS/2 memory hole test. osilinux Disassemble DSDT to check for _OSI("Linux"). pcc Processor Clocking Control (PCC) test. pciirq PCI IRQ Routing Table test. diff --git a/fwts-test/arg-show-tests-full-0001/arg-show-tests-full-0001.log b/fwts-test/arg-show-tests-full-0001/arg-show-tests-full-0001.log index d93b217..f6eb0ef 100644 --- a/fwts-test/arg-show-tests-full-0001/arg-show-tests-full-0001.log +++ b/fwts-test/arg-show-tests-full-0001/arg-show-tests-full-0001.log @@ -569,8 +569,6 @@ Batch tests: Test all CPUs have same msr setting in MSR 0x1a0. oops (1 test): Kernel log oops check. - os2gap (1 test): - Test the OS/2 15Mb memory hole is absent. osilinux (1 test): Disassemble DSDT to check for _OSI("Linux"). pcc (1 test): @@ -810,4 +808,4 @@ UEFI tests: Test UEFI RT service query variable info interface stress test. Test UEFI RT service get variable interface, invalid parameters. -Total of 659 tests +Total of 658 tests diff --git a/src/Makefile.am b/src/Makefile.am index 539ff94..7cf5125 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -91,7 +91,6 @@ fwts_SOURCES = main.c \ bios/mtrr/mtrr.c \ bios/multiproc/mpcheck.c \ bios/multiproc/mpdump.c \ - bios/os2gap/os2gap.c \ bios/pciirq/pciirq.c \ bios/pnp/pnp.c \ bios/romdump/romdump.c \ diff --git a/src/bios/os2gap/os2gap.c b/src/bios/os2gap/os2gap.c deleted file mode 100644 index 7426005..0000000 --- a/src/bios/os2gap/os2gap.c +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Copyright (C) 2006, Intel Corporation - * Copyright (C) 2010-2015 Canonical - * - * This code was originally part of the Linux-ready Firmware Developer Kit - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - */ - -#include "fwts.h" - -#ifdef FWTS_ARCH_INTEL - -#define OS2_GAP_ADDRESS (15*1024*1024) -#define OS2_GAP_SIZE (1024*1024) - -static fwts_list *os2gap_memory_map_info; - -static int os2gap_init(fwts_framework *fw) -{ - if ((os2gap_memory_map_info = fwts_memory_map_table_load(fw)) == NULL) { - fwts_log_warning(fw, "No memory map table found"); - return FWTS_ERROR; - } - return FWTS_OK; -} - -static int os2gap_deinit(fwts_framework *fw) -{ - FWTS_UNUSED(fw); - - if (os2gap_memory_map_info) - fwts_memory_map_table_free(os2gap_memory_map_info); - - return FWTS_OK; -} - -static int os2gap_test1(fwts_framework *fw) -{ - if (fwts_memory_map_is_reserved(os2gap_memory_map_info, OS2_GAP_ADDRESS)) { - fwts_failed(fw, LOG_LEVEL_HIGH, - "OS2Gap", - "The memory map has OS/2 memory hole of %dK at %p..%p.", - OS2_GAP_SIZE / 1024, - (void*)OS2_GAP_ADDRESS, - (void*)(OS2_GAP_ADDRESS + OS2_GAP_SIZE)); - fwts_log_nl(fw); - fwts_memory_map_table_dump(fw, os2gap_memory_map_info); - } else - fwts_passed(fw, "No OS/2 memory hole found."); - - return FWTS_OK; -} - -static fwts_framework_minor_test os2gap_tests[] = { - { os2gap_test1, "Test the OS/2 15Mb memory hole is absent." }, - { NULL, NULL } -}; - -static fwts_framework_ops os2gap_ops = { - .description = "OS/2 memory hole test.", - .init = os2gap_init, - .deinit = os2gap_deinit, - .minor_tests = os2gap_tests -}; - -FWTS_REGISTER("os2gap", &os2gap_ops, FWTS_TEST_ANYTIME, FWTS_FLAG_BATCH) - -#endif