Re: [coreboot] Dont filter supported CPUs on a mainboard by the CPUID
How about just changing the die() into a printk(BIOS_ALERT, ...) and an assert(0)? Then people could use CONFIG_FATAL_ASSERTS to select whether they would rather fail fast or try to keep booting as far as possible. On Fri, Feb 24, 2017 at 7:46 AM, ron minnichwrote: > For those of us working on boards that don't ship in a product, the die() > is probably not appropriate. But if you intend to ship a real product then > you definitely want to die() if someone tries to use a CPU that's not > tested on the board. > > Or at least that's the way it seems to me. > > On Fri, Feb 24, 2017 at 7:42 AM Aaron Durbin via coreboot < > coreboot@coreboot.org> wrote: > >> On Fri, Feb 24, 2017 at 5:04 AM, wrote: >> > Yes, this die() is what i mean. Try to get maybe some functionality is i >> > think better then just stopping there and providing zero functionality. >> > >> > I also know, that there is a message when the CPUID is not known. Its >> about >> > the die() afterwards. >> >> Patches always welcome. Did you try removing the die() and seeing if >> things actually booted? >> >> > >> > >> > 23. Feb 2017 14:31 by coreboot@coreboot.org: >> > >> > On Thu, Feb 23, 2017 at 2:39 AM, Nico Huber wrote: >> > >> > On 23.02.2017 00:07, i1w5d7gf38...@tutanota.com wrote: >> > >> > There is a Filter to stop booting when the CPUID is not in a list of >> > supported CPUs. This filter does not make sense in the real world usage. >> > >> > >> > It's not a filter. It's a measure to know which code to run for which >> > CPU. Please dig a little deeper before making such useless complaints. >> > >> > >> > To add to Nico's point: the cpuid list is a way to bind code code to >> > run for certain devices -- including CPUs. If the cpuid is not listed >> > then the match on device->code to run is not met. Therefore, the code >> > necessary to make that CPU work won't ever be ran. src/arch/x86/cpu.c >> > has the cpu driver binding. And there already is message printed. See >> > the callers of set_cpu_ops() in that file. The issue is that we die() >> > when no match is found. We could attempt to boot further, but there's >> > no guarantee it'd actually succeed. >> > >> > >> > Nico >> > >> > -- >> > coreboot mailing list: coreboot@coreboot.org >> > https://www.coreboot.org/mailman/listinfo/coreboot >> > >> > >> > -- >> > coreboot mailing list: coreboot@coreboot.org >> > https://www.coreboot.org/mailman/listinfo/coreboot >> >> -- >> coreboot mailing list: coreboot@coreboot.org >> https://www.coreboot.org/mailman/listinfo/coreboot >> > > -- > coreboot mailing list: coreboot@coreboot.org > https://www.coreboot.org/mailman/listinfo/coreboot > -- coreboot mailing list: coreboot@coreboot.org https://www.coreboot.org/mailman/listinfo/coreboot
Re: [coreboot] Dont filter supported CPUs on a mainboard by the CPUID
For those of us working on boards that don't ship in a product, the die() is probably not appropriate. But if you intend to ship a real product then you definitely want to die() if someone tries to use a CPU that's not tested on the board. Or at least that's the way it seems to me. On Fri, Feb 24, 2017 at 7:42 AM Aaron Durbin via coreboot < coreboot@coreboot.org> wrote: > On Fri, Feb 24, 2017 at 5:04 AM,wrote: > > Yes, this die() is what i mean. Try to get maybe some functionality is i > > think better then just stopping there and providing zero functionality. > > > > I also know, that there is a message when the CPUID is not known. Its > about > > the die() afterwards. > > Patches always welcome. Did you try removing the die() and seeing if > things actually booted? > > > > > > > 23. Feb 2017 14:31 by coreboot@coreboot.org: > > > > On Thu, Feb 23, 2017 at 2:39 AM, Nico Huber wrote: > > > > On 23.02.2017 00:07, i1w5d7gf38...@tutanota.com wrote: > > > > There is a Filter to stop booting when the CPUID is not in a list of > > supported CPUs. This filter does not make sense in the real world usage. > > > > > > It's not a filter. It's a measure to know which code to run for which > > CPU. Please dig a little deeper before making such useless complaints. > > > > > > To add to Nico's point: the cpuid list is a way to bind code code to > > run for certain devices -- including CPUs. If the cpuid is not listed > > then the match on device->code to run is not met. Therefore, the code > > necessary to make that CPU work won't ever be ran. src/arch/x86/cpu.c > > has the cpu driver binding. And there already is message printed. See > > the callers of set_cpu_ops() in that file. The issue is that we die() > > when no match is found. We could attempt to boot further, but there's > > no guarantee it'd actually succeed. > > > > > > Nico > > > > -- > > coreboot mailing list: coreboot@coreboot.org > > https://www.coreboot.org/mailman/listinfo/coreboot > > > > > > -- > > coreboot mailing list: coreboot@coreboot.org > > https://www.coreboot.org/mailman/listinfo/coreboot > > -- > coreboot mailing list: coreboot@coreboot.org > https://www.coreboot.org/mailman/listinfo/coreboot > -- coreboot mailing list: coreboot@coreboot.org https://www.coreboot.org/mailman/listinfo/coreboot
Re: [coreboot] Dont filter supported CPUs on a mainboard by the CPUID
On Fri, Feb 24, 2017 at 5:04 AM,wrote: > Yes, this die() is what i mean. Try to get maybe some functionality is i > think better then just stopping there and providing zero functionality. > > I also know, that there is a message when the CPUID is not known. Its about > the die() afterwards. Patches always welcome. Did you try removing the die() and seeing if things actually booted? > > > 23. Feb 2017 14:31 by coreboot@coreboot.org: > > On Thu, Feb 23, 2017 at 2:39 AM, Nico Huber wrote: > > On 23.02.2017 00:07, i1w5d7gf38...@tutanota.com wrote: > > There is a Filter to stop booting when the CPUID is not in a list of > supported CPUs. This filter does not make sense in the real world usage. > > > It's not a filter. It's a measure to know which code to run for which > CPU. Please dig a little deeper before making such useless complaints. > > > To add to Nico's point: the cpuid list is a way to bind code code to > run for certain devices -- including CPUs. If the cpuid is not listed > then the match on device->code to run is not met. Therefore, the code > necessary to make that CPU work won't ever be ran. src/arch/x86/cpu.c > has the cpu driver binding. And there already is message printed. See > the callers of set_cpu_ops() in that file. The issue is that we die() > when no match is found. We could attempt to boot further, but there's > no guarantee it'd actually succeed. > > > Nico > > -- > coreboot mailing list: coreboot@coreboot.org > https://www.coreboot.org/mailman/listinfo/coreboot > > > -- > coreboot mailing list: coreboot@coreboot.org > https://www.coreboot.org/mailman/listinfo/coreboot -- coreboot mailing list: coreboot@coreboot.org https://www.coreboot.org/mailman/listinfo/coreboot
Re: [coreboot] Dont filter supported CPUs on a mainboard by the CPUID
Yes, this die() is what i mean. Try to get maybe some functionality is i think better then just stopping there and providing zero functionality. I also know, that there is a message when the CPUID is not known. Its about the die() afterwards. 23. Feb 2017 14:31 by coreboot@coreboot.org: > On Thu, Feb 23, 2017 at 2:39 AM, Nico Huber <> nic...@gmx.de> > wrote: >> On 23.02.2017 00:07, >> i1w5d7gf38...@tutanota.com>> wrote: >> >>> There is a Filter to stop booting when the CPUID is not in a list of >>> supported CPUs. This filter does not make sense in the real world usage. >> >> It's not a filter. It's a measure to know which code to run for which >> CPU. Please dig a little deeper before making such useless complaints. > > To add to Nico's point: the cpuid list is a way to bind code code to > run for certain devices -- including CPUs. If the cpuid is not listed > then the match on device->code to run is not met. Therefore, the code > necessary to make that CPU work won't ever be ran. src/arch/x86/cpu.c > has the cpu driver binding. And there already is message printed. See > the callers of set_cpu_ops() in that file. The issue is that we die() > when no match is found. We could attempt to boot further, but there's > no guarantee it'd actually succeed. > >> >> Nico >> >> -- >> coreboot mailing list: >> coreboot@coreboot.org >> https://www.coreboot.org/mailman/listinfo/coreboot > > -- > coreboot mailing list: > coreboot@coreboot.org > https://www.coreboot.org/mailman/listinfo/coreboot-- coreboot mailing list: coreboot@coreboot.org https://www.coreboot.org/mailman/listinfo/coreboot
Re: [coreboot] Dont filter supported CPUs on a mainboard by the CPUID
On Thu, Feb 23, 2017 at 2:39 AM, Nico Huberwrote: > On 23.02.2017 00:07, i1w5d7gf38...@tutanota.com wrote: > >> There is a Filter to stop booting when the CPUID is not in a list of >> supported CPUs. This filter does not make sense in the real world usage. > > It's not a filter. It's a measure to know which code to run for which > CPU. Please dig a little deeper before making such useless complaints. To add to Nico's point: the cpuid list is a way to bind code code to run for certain devices -- including CPUs. If the cpuid is not listed then the match on device->code to run is not met. Therefore, the code necessary to make that CPU work won't ever be ran. src/arch/x86/cpu.c has the cpu driver binding. And there already is message printed. See the callers of set_cpu_ops() in that file. The issue is that we die() when no match is found. We could attempt to boot further, but there's no guarantee it'd actually succeed. > > Nico > > -- > coreboot mailing list: coreboot@coreboot.org > https://www.coreboot.org/mailman/listinfo/coreboot -- coreboot mailing list: coreboot@coreboot.org https://www.coreboot.org/mailman/listinfo/coreboot
Re: [coreboot] Dont filter supported CPUs on a mainboard by the CPUID
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 02/22/2017 05:49 PM, i1w5d7gf38...@tutanota.com wrote: > Thanks for the information. Then maybe just dont stop booting when > CPUID is missing. Just add a line to the coreboot log. Something like: > "WARNING: Unknown CPU ID detected. Please report to the coreboot mailing > lists if the machine is working fine" > > Then you still have the same functionality as you told. CPUs that > require different handling on different revisions can still be > maintained different. > > People are also way more motivated to report some unstable working CPUs > then when they flash coreboot and the system simply didnt work at all > and without reading the logfiles it looks like its completely dead (no > screen, nothing, just fans are on). And with that, I'll turn this over for the other members on the list to comment on this suggestion. I don't care strongly one way or another, provided the warning is at ALERT status so it shows up even with logging mostly disabled. - -- Timothy Pearson Raptor Engineering +1 (415) 727-8645 (direct line) +1 (512) 690-0200 (switchboard) https://www.raptorengineering.com -BEGIN PGP SIGNATURE- Version: GnuPG v1 Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iQEcBAEBAgAGBQJYriQiAAoJEK+E3vEXDOFbKWcIAIQgDNEdbmh3nTy5rleMlakF 0kph3iwnvAXWynNq8hPu+4iHqbHWpPgUF9GFJly0O3P2gQ23Buo0slLPd6Eq7Xra fDxHZQWegWM07NPOLi94wtDe0KRMMPmr2M8b4ZVyyIPeRTPW4Dw2UpK4sAbUWaiu H30Jzb4EaUOjMYo1j9bqn9Mf0mclgbnsLCkDLUnN9f/Va98a+m9KvQ55AwIkn3SX PReHQ273RRQMIYgCm0qwyySeUovxGWO4bKkViuGE4NkqkA+yXKpPsdMMsw7oTMpY N4MfISLexn2ZeBR2kxW5gPqoL4gr3ofnivVqLfaKmd2SWMeeua+mXB4EFKurUyk= =B4xv -END PGP SIGNATURE- -- coreboot mailing list: coreboot@coreboot.org https://www.coreboot.org/mailman/listinfo/coreboot
Re: [coreboot] Dont filter supported CPUs on a mainboard by the CPUID
Thanks for the information. Then maybe just dont stop booting when CPUID is missing. Just add a line to the coreboot log. Something like: "WARNING: Unknown CPU ID detected. Please report to the coreboot mailing lists if the machine is working fine" Then you still have the same functionality as you told. CPUs that require different handling on different revisions can still be maintained different. People are also way more motivated to report some unstable working CPUs then when they flash coreboot and the system simply didnt work at all and without reading the logfiles it looks like its completely dead (no screen, nothing, just fans are on). 22. Feb 2017 23:35 by tpear...@raptorengineering.com: > -BEGIN PGP SIGNED MESSAGE- > Hash: SHA1 > > On 02/22/2017 05:31 PM, > i1w5d7gf38...@tutanota.com> wrote: >> What is the benefit of such a list? I cant see any benefit. Its only >> additional work that is useless. > > Example: Certain CPUs require special cache handling / setup to avoid > unusual faults or security vulnerabilities at runtime. The original > setup code properly configures model 1 stepping 1 CPUs, but stepping 2 > CPUs require special setup. User installs coreboot and uses it with a > stepping 2 CPU without adding in the new setup code -- it seems to run, > but crashes every once in a while. User (possibly) figures out coreboot > is the problem and is very unhappy. > > Again, this is very low level stuff; mistakes do not always show up as > "failure to boot". If you want to verify your CPUs and add them to the > list please do so! > > - -- > Timothy Pearson > Raptor Engineering > +1 (415) 727-8645 (direct line) > +1 (512) 690-0200 (switchboard) > https://www.raptorengineering.com > -BEGIN PGP SIGNATURE- > Version: GnuPG v1 > Comment: Using GnuPG with Mozilla - > http://enigmail.mozdev.org > > iQEcBAEBAgAGBQJYriA+AAoJEK+E3vEXDOFbHt4H/ikXwMUu+XJ7cDsb8fx6ivcZ > RjyiNL3i7hIjIUYRxRbWcKau7FelLVypYtvLAnxqqDgSdZRfR+/oLrfFYpjAEXRG > A/d9eGq6HPKkF/HmxxkpY4RPLQEB4y85u1vheFXJnmg2AEdtaXG0iAlerPw5qZDL > bi20R4CQqyT6JL7vRLBawRiozZSpWHUllhbPq1XO2vgRohk78Lb9LlXSOWxBKHlL > obSL71Q46KJsKIQ3ovWfKgj1Pz+VA/+qhlXsFGp7S9NkHrAXFKPofBTLP4zzz/Nm > KqUWVn7ehCWFtsdt1rZqNWGtG9xgkPpe90V2f90BfsXJ9xhSVCVMud0EHsqDM6A= > =tl55 > -END PGP SIGNATURE- > > -- > coreboot mailing list: > coreboot@coreboot.org > https://www.coreboot.org/mailman/listinfo/coreboot-- coreboot mailing list: coreboot@coreboot.org https://www.coreboot.org/mailman/listinfo/coreboot
Re: [coreboot] Dont filter supported CPUs on a mainboard by the CPUID
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 02/22/2017 05:31 PM, i1w5d7gf38...@tutanota.com wrote: > What is the benefit of such a list? I cant see any benefit. Its only > additional work that is useless. Example: Certain CPUs require special cache handling / setup to avoid unusual faults or security vulnerabilities at runtime. The original setup code properly configures model 1 stepping 1 CPUs, but stepping 2 CPUs require special setup. User installs coreboot and uses it with a stepping 2 CPU without adding in the new setup code -- it seems to run, but crashes every once in a while. User (possibly) figures out coreboot is the problem and is very unhappy. Again, this is very low level stuff; mistakes do not always show up as "failure to boot". If you want to verify your CPUs and add them to the list please do so! - -- Timothy Pearson Raptor Engineering +1 (415) 727-8645 (direct line) +1 (512) 690-0200 (switchboard) https://www.raptorengineering.com -BEGIN PGP SIGNATURE- Version: GnuPG v1 Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iQEcBAEBAgAGBQJYriA+AAoJEK+E3vEXDOFbHt4H/ikXwMUu+XJ7cDsb8fx6ivcZ RjyiNL3i7hIjIUYRxRbWcKau7FelLVypYtvLAnxqqDgSdZRfR+/oLrfFYpjAEXRG A/d9eGq6HPKkF/HmxxkpY4RPLQEB4y85u1vheFXJnmg2AEdtaXG0iAlerPw5qZDL bi20R4CQqyT6JL7vRLBawRiozZSpWHUllhbPq1XO2vgRohk78Lb9LlXSOWxBKHlL obSL71Q46KJsKIQ3ovWfKgj1Pz+VA/+qhlXsFGp7S9NkHrAXFKPofBTLP4zzz/Nm KqUWVn7ehCWFtsdt1rZqNWGtG9xgkPpe90V2f90BfsXJ9xhSVCVMud0EHsqDM6A= =tl55 -END PGP SIGNATURE- -- coreboot mailing list: coreboot@coreboot.org https://www.coreboot.org/mailman/listinfo/coreboot
Re: [coreboot] Dont filter supported CPUs on a mainboard by the CPUID
What is the benefit of such a list? I cant see any benefit. Its only additional work that is useless. A example for CPUID-List blocking functionality is commit I63d308477a22a9e55ceed1b6b36e63a3044c2354 22. Feb 2017 23:15 by tpear...@raptorengineering.com: > -BEGIN PGP SIGNED MESSAGE- > Hash: SHA1 > > On 02/22/2017 05:07 PM, > i1w5d7gf38...@tutanota.com> wrote: >> There is a Filter to stop booting when the CPUID is not in a list of >> supported CPUs. This filter does not make sense in the real world usage. >> For example socket 775: >> When you enter a working cpu, then it boots. In some cases the coreboot >> code didnt work with a CPU where it should. For example some Pentium-4 >> CPUs. Then it crashes even before raminit. >> But when you add a CPU that "would" work but is not listed in the CPUID >> lists from coreboot, the machine didnt boot. If you simply add the CPUID >> to the list everything works fine. >> >> In short: The only thing this CPUID list is doing is blocking >> functionality and adding work (a list that have to be maintained). >> Nothing else. If a CPU is not supported, it crashes after 4-5 lines of >> logfile - even before the raminit. Thats before this CPUID list is been >> checked. >> >> Please remove those CPUID lists. >> > > I would recommend the lists be retained. Presumably the individual(s) > that wrote the CPU / northbridge support code are aware of the CPUs that > the code is designed to work with, and using CPUs that were never > intended with that code does entail a certain amount of risk. > Individuals capable of mitigating this risk / verifying processor > functionality are also capable of modifying the CPUID list. > > - -- > Timothy Pearson > Raptor Engineering > +1 (415) 727-8645 (direct line) > +1 (512) 690-0200 (switchboard) > https://www.raptorengineering.com > -BEGIN PGP SIGNATURE- > Version: GnuPG v1 > Comment: Using GnuPG with Mozilla - > http://enigmail.mozdev.org > > iQEcBAEBAgAGBQJYrht0AAoJEK+E3vEXDOFb/S0H/17w88+kNxBcPm+V+hPkpMDE > r6FcyfSO4tm96b/lPgkhK78jxqighQHD7sR2keFWAO+5hwRQfuZwHYVsPa1WmrUN > u3J08Mgl5r/xTyoBEp/CRxAGD5FaN+NOYQgBVFh8J6IGLBeYJxcmv/PdQmctvi+J > lXuqepsei5TLDIn+9hE3U2Dbh0H/6m8+YFFRbeYbcoNfyuRFE5APks3s+QOjqa4w > wBR30fafSBkj4DyGMSzD5yZbOLl/SJDhT1FjvWlx5H4YwKv/vltAPYhq1enaJkRf > 61cpl2Prfin4DvpWGU/geTi94bskBo8D8sE1SHumoGXIQ+maICPh/ndtIRNUJIQ= > =UsCc > -END PGP SIGNATURE--- coreboot mailing list: coreboot@coreboot.org https://www.coreboot.org/mailman/listinfo/coreboot
Re: [coreboot] Dont filter supported CPUs on a mainboard by the CPUID
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 02/22/2017 05:07 PM, i1w5d7gf38...@tutanota.com wrote: > There is a Filter to stop booting when the CPUID is not in a list of > supported CPUs. This filter does not make sense in the real world usage. > For example socket 775: > When you enter a working cpu, then it boots. In some cases the coreboot > code didnt work with a CPU where it should. For example some Pentium-4 > CPUs. Then it crashes even before raminit. > But when you add a CPU that "would" work but is not listed in the CPUID > lists from coreboot, the machine didnt boot. If you simply add the CPUID > to the list everything works fine. > > In short: The only thing this CPUID list is doing is blocking > functionality and adding work (a list that have to be maintained). > Nothing else. If a CPU is not supported, it crashes after 4-5 lines of > logfile - even before the raminit. Thats before this CPUID list is been > checked. > > Please remove those CPUID lists. > I would recommend the lists be retained. Presumably the individual(s) that wrote the CPU / northbridge support code are aware of the CPUs that the code is designed to work with, and using CPUs that were never intended with that code does entail a certain amount of risk. Individuals capable of mitigating this risk / verifying processor functionality are also capable of modifying the CPUID list. - -- Timothy Pearson Raptor Engineering +1 (415) 727-8645 (direct line) +1 (512) 690-0200 (switchboard) https://www.raptorengineering.com -BEGIN PGP SIGNATURE- Version: GnuPG v1 Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iQEcBAEBAgAGBQJYrht0AAoJEK+E3vEXDOFb/S0H/17w88+kNxBcPm+V+hPkpMDE r6FcyfSO4tm96b/lPgkhK78jxqighQHD7sR2keFWAO+5hwRQfuZwHYVsPa1WmrUN u3J08Mgl5r/xTyoBEp/CRxAGD5FaN+NOYQgBVFh8J6IGLBeYJxcmv/PdQmctvi+J lXuqepsei5TLDIn+9hE3U2Dbh0H/6m8+YFFRbeYbcoNfyuRFE5APks3s+QOjqa4w wBR30fafSBkj4DyGMSzD5yZbOLl/SJDhT1FjvWlx5H4YwKv/vltAPYhq1enaJkRf 61cpl2Prfin4DvpWGU/geTi94bskBo8D8sE1SHumoGXIQ+maICPh/ndtIRNUJIQ= =UsCc -END PGP SIGNATURE- -- coreboot mailing list: coreboot@coreboot.org https://www.coreboot.org/mailman/listinfo/coreboot
[coreboot] Dont filter supported CPUs on a mainboard by the CPUID
There is a Filter to stop booting when the CPUID is not in a list of supported CPUs. This filter does not make sense in the real world usage. For example socket 775: When you enter a working cpu, then it boots. In some cases the coreboot code didnt work with a CPU where it should. For example some Pentium-4 CPUs. Then it crashes even before raminit. But when you add a CPU that "would" work but is not listed in the CPUID lists from coreboot, the machine didnt boot. If you simply add the CPUID to the list everything works fine. In short: The only thing this CPUID list is doing is blocking functionality and adding work (a list that have to be maintained). Nothing else. If a CPU is not supported, it crashes after 4-5 lines of logfile - even before the raminit. Thats before this CPUID list is been checked. Please remove those CPUID lists. -- coreboot mailing list: coreboot@coreboot.org https://www.coreboot.org/mailman/listinfo/coreboot