[coreboot] Re: Recent disciplinary action taken

2024-10-02 Thread Angel Pons
Hello list,

On Wed, Oct 2, 2024 at 7:40 AM David Hendricks via coreboot <
coreboot@coreboot.org> wrote:

> Dear coreboot community members,
>
> Recently there was some unpleasant activity on Gerrit which violated our
> community’s guidelines regarding respectful conduct. In this case the
> coreboot leadership team determined that the behavior in question fit a
> long pattern about which the individual had been previously warned. As a
> result we have decided to remove Nico from our community for a period of 1
> year. We hope this will be a sufficient cooling off period and that we will
> not need to take more drastic steps in the future.
>
David, I see you are one of the three members of the leadership team [1].
Could you please provide the following, privately if necessary?

 - the minutes for the meeting in which the decision was made (which might
contain references to the documents below; if the meeting minutes are not
available, I would like to know why)
 - links to the aforementioned "unpleasant activity on Gerrit"
 - the guidelines from [2] or [3] (I could not find a document called
"community guidelines") that were violated

Not knowing what happened nor why makes me afraid to contribute, lest the
same fate befall me as well. Especially considering that Nico has been a
role model for me as I was learning the ropes of firmware development, so
most of the things about coreboot as well as authoring and reviewing
changes I have learned from him.

> As we've said in the past, we trust that developers in our community are
> acting in good faith and can generally resolve issues on their own. In
> cases where two sides cannot reach an agreement, for example in a code
> review, we expect all engagement to be respectful and to help drive toward
> a solution. For technical matters this often means starting a mailing list
> discussion, bringing an issue up during the coreboot leadership meeting,
> starting a task force to tackle a large problem, or other means of
> gathering input and collaborating.
>
> Personal matters should be brought to the leadership team directly. We'll
> listen to any complaints or frustrations, but cannot tolerate personal
> attacks made on Gerrit, the mailing list, or other forums. It is always
> required that we treat others in a professional manner and communicate with
> respect, regardless of how strongly we may feel about a particular issue.
>
A tiny remark about professional manner: when interacting with others I
know, I like sprinkling a bit of humour in my messages, but without being
disrespectful towards anyone (no dark humour and no making fun of others)
or compromising my knowledge/abilities (do not overdo it and consider that
not everyone might get it). I believe this does not make me unprofessional,
but I am happy to listen in case anyone disagrees.

Other than that, I agree with the above, but I also believe it is important
to be aware that misunderstandings can and will happen, especially
considering that people from all over the world can contribute, each with
their own culture and tradition. Not everyone is a native English speaker
(even if it does not seem like it, I am not). Not everyone is capable of
noticing when a discussion is getting too heated/tense, let alone do
something to end it before it is too late (I am trying to get better at
this). Not everyone communicates the same way, e.g. autistic people tend to
communicate in direct and literal ways that can be misinterpreted by
non-autistic people [4] (I am autistic, I have had this happen before),
whereas other autistic people have no issues with this communication style.

I believe that the information in [4] (especially the list of 12 rules) is
valuable and I would appreciate having them integrated into our own
guidelines, although I agree they should be guidelines rather than
strictly-enforced rules: misunderstandings are *still* inevitable and will
happen. In case of a misunderstanding, I think the most sensible way to
proceed is for someone (preferably one of the participants) to notice that
"something feels wrong" and remain calm, disengaging from the discussion if
needed (e.g. wait before replying to an email or review comment). If
possible, try to bring it up without pointing fingers, e.g. "I feel this
discussion is heating up: is there anything I can do to help, or am I
reading into things?" or (quoting a response) "This sounded quite rude to
me, was it intentional?". This requires being able to recognise that
tension is building up and restraining one's impulses; I understand this is
not trivial to accomplish, especially if one is susceptible to getting
angry (e.g. me).

> If anybody feels that a discussion has become too heated, or that somebody
> is not being treated respectfully, or are simply unsure of how to proceed
> in a difficult situation, please reach out to the coreboot leadership and
> we will chart a path forward together.
> ___
> coreboot mailin

[coreboot] Re: links for "board-status" not found

2024-09-23 Thread Angel Pons
Hi lödur,

Gitiles is disabled (I forget the reason, but it was severe enough to
require disabling Gitiles in the meantime). So you would have to clone the
relevant repository or use a mirror.

For the first Gitiles link, you can look at the GitHub mirror instead:
https://github.com/coreboot/coreboot/tree/main/util/board_status

On Mon, Sep 23, 2024 at 6:31 PM lödur via coreboot 
wrote:

> Hello,
>
> on page:
> https://coreboot.org/status/board-status.html
> the both links for
> "a tool in the coreboot repository"
>
> https://review.coreboot.org/plugins/gitiles/coreboot/+/HEAD/util/board_status/
> "board status repository"
> https://review.coreboot.org/plugins/gitiles/board-status/
> point to
> "Not Found"
>
> Could you repair these links, please.
>
> Thanks,
>
> loedur
> ___
> coreboot mailing list -- coreboot@coreboot.org
> To unsubscribe send an email to coreboot-le...@coreboot.org
>

Best regards,
Angel
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: Enforcing coreboot as lowercase

2024-07-04 Thread Angel Pons
Hi,

On Thu, Jul 4, 2024 at 3:48 PM Arthur Heymans  wrote:
>
> Hi
>
> The coreboot trademark is registered as lowercase.
> We enforce this in for instance commits, even when normal grammar would 
> dictate uppercase at the start of a sentence.
>
> This makes sense for very well known brands, companies and products like 
> "eBay", "iPhone", "AMD". They are all very well known trademarks and they 
> have some uppercase letter in them in atypical places. For these words 
> grammar exceptions seems reasonable.
>
> Coreboot is a reasonably well known as a project, but little people know 
> about the specificity of the trademark. This often causes confusion on people 
> either reading "coreboot" at the start of a sense, where it looks 
> grammatically wrong, making it even look unprofessional in the eyes of some. 
> This is because there is no other uppercase letter inside coreboot that would 
> make it a typical exception to regular grammar rules.
>
> People getting into the project making the mistake at the start of a 
> sentence, might get the wrong impression of too many idiosyncrasies. On top 
> of that it takes a non zero amount of effort on people in the project to 
> educate others on this trademark thing.
>
> Also trademark are typically a bit more broad than exactly how they are 
> registered. I cannot start a company called iNTel or aMD that makes chips. I 
> cannot put a product on the market called "IPHoNE". I think the same applies 
> to "coreboot".
>
> So my question is: can we relax the trademark in lowercase enforcement? I 
> would suggest to simply allow both ways.

I am not sure if I understood you correctly.

Are you proposing to give up trying to defend the spelling of the
project's name because too many people write it wrong and educating
them is too much effort? If so, I think this is a self-defeating
attitude and I completely disagree with it.

Or is it that the trademark only covers the all-lowercase "coreboot"
spelling, so one can use a name like "CoReboot" (e.g. for something
unrelated) without infringing the "coreboot" trademark? In that case,
making the trademark case-insensitive makes sense.

Or is it something else? Then... *confused noises*

> Arthur Heymans
> ___
> coreboot mailing list -- coreboot@coreboot.org
> To unsubscribe send an email to coreboot-le...@coreboot.org

Best regards,
Angel
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: 2024-06-26 - coreboot Leadership Meeting Minutes

2024-06-27 Thread Angel Pons
Hi list,

On Thu, Jun 27, 2024 at 2:00 PM mina--- via coreboot
 wrote:
>
> # 2024-06-26 - coreboot Leadership Meeting

*snip*

> ### [Martin] Merge SLOs
>   * Can we define objectives for timeframes to get patches merged to 
> different areas in the codebase?
> An individual mainboard that doesn’t affect the rest of the codebase doesn’t 
> need as much scrutiny
> as core code that affects every platform.
>
>   * Mainboard: 1 week?
> * FelixH: So what do we do if we get past this timeframe? Just merging 
> anything because it’s passed
> the SLO period seems like a bad idea.
> * David: This is designed to help people who are new to the project. We 
> don’t just want to merge
> stuff, but for isolated code, maybe we can look the other way at 
> imperfections.
> * FelixH: Frequently add comments and mark as resolved.
> * David: SoC code still needs to be held to higher standards.
> * David: We still expect authors to be responsive to feedback.
> * FelixH: We still need reasonable patches as well - one logical change 
> per patch.
>   * Martin: Do we want any areas besides Mainboards? What about SIOs?
> * Werner: Maybe drivers?
> * Max: Everything other than mainboards can be used by multiple vendors?
> * Martin: It doesn’t seem unreasonable to try to get things merged in a 
> month.
> * FelixH: It would be good to have a list of things to look at.
>   * Martin: Send out an email with a list of patches which will be looked at 
> in the next meeting?
> (Yes)
>   * Add a month SLO for drivers & SIOs initially.

Would it make more sense to aim for timely replies, i.e. avoid patches
sitting unreviewed for an indefinite amount of time? IMHO, aiming to
submit mainboard ports after 1 week sounds unrealistic: authors won't
necessarily be active on Gerrit every day, and some mainboard ports
(e.g. laptops) may take more time to review; mainly because EC
support, but if possible one could do an initial port and add EC
support in a follow-up (and hope said follow-up also gets through).

About helping newcomers, I think what would help the most is to
streamline the review process. For example, be less nitpicky about
style. I know, I myself am guilty of that. Also, instead of asking
everyone to manually change stuff that autoport or intelp2m generated,
fix the tool in question. It took me too long to gather the resolve to
make https://review.coreboot.org/82401 (good thing it's submitted).
Yes, that comment is likely wrong on most of the boards in the tree.
And yes, I remember seeing a relatively new mainboard port with an
unreasonably low DSDT revision number, with that bloody comment...

In addition, having an up-to-date mainboard porting guide (tutorial,
part 4) that helps guide people through the process would be
fantastic, as there have been a few times where pointing others to
such a guide would've been very useful. Plus, I've seen many people
make less-than-ideal decisions in the past, e.g. edit existing boards
instead of adding a new one (even if it's a copy of an existing
board), "cross-flash" a coreboot build for a different board (oh no,
the GPIOs), or using Intel RVPs (Reference and Validation Platforms)
as a reference.

Clarification regarding RVPs: the code for newer RVPs is quite
convoluted for a beginner because variants, ChromeOS support and EC
firmware SKU selection; older RVPs (CML and earlier) are mostly
untested and unmaintained these days, so they're not great to use as a
reference. Plus, most newcomers are retrofitting coreboot onto
commercially available devices: they do not always have access to
board documentation (schematics and/or boardviews), which makes
configuring things like PCIe clock source/request mapping
substantially harder; some boards don't even have a proper console
(and having to rely on flashconsole for porting is last-resort
misery). Because of this, the porting process differs from that used
for the RVPs, where board documentation is available, there's at least
one (if not more) UARTs to get coreboot logs out of, and one may even
have access to blobs' source code.

> ___
> coreboot mailing list -- coreboot@coreboot.org
> To unsubscribe send an email to coreboot-le...@coreboot.org

Best regards,
Angel
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] [coreboot - Feature #461] (In Progress) Replacing Haswell mrc.bin blob with free software

2024-05-23 Thread Angel Pons
Issue #461 has been updated by Angel Pons.

Category changed from board support to chipset configuration
Status changed from New to In Progress
Start date changed from 02/16/2023 to 04/01/2020
% Done changed from 0 to 30
Related links updated
Affected hardware changed from T440p and other to All Haswell mainboards

# Current state of the meme magic (Haswell NRI)

## Done
- Native non-raminit stuff (already submitted): needed for 9-series boards with 
Broadwell MRC.bin e.g. https://review.coreboot.org/68188
- Bare minimum memory initialisation (just enough meme magic to be able to 
boot): patch train up until https://review.coreboot.org/64198
- S3 suspend/resume and fast boot support: https://review.coreboot.org/81897
- Sense amplifier offset training: https://review.coreboot.org/81948

## Implemented internally in the giant bowl of spaghetti, but in need to clean 
up the code before publishing
- 1D margin centering algorithms (used for various training steps)
- Setting non-training command rate (to 1N or 2N, we currently remain at 3T) 
and LCT (Late Command Training)
- 2D margin centering algorithms (used for various training steps)
- Power training (optimisation meme magic to reduce power consumption)
- TAT (Turnaround Training, a performance improvement)
- The raminit console (a half-arsed thing that allows playing around with 
settings over UART/usbdebug)

## Not implemented or not working yet
- Broadwell support (I once got a Broadwell ULT system to boot without MRC, but 
I had to commit unspeakable horrors to the already messy codebase)
- Properly programming some registers about DIMM energy (doesn't seem to be 
required, but the logic to program these is horribly convoluted and I haven't 
felt like figuring out how it works)
- Automatic overclocking support (will require redesigning how the MPLL 
handling works, because it currently stinks)

# TL;DR
- With what's currently submitted, choosing Haswell NRI in menuconfig **WILL 
NOT BOOT**. It says "NOT WORKING" in the prompt.
- Current top of tree (what you should use if you want to try Haswell NRI) is 
https://review.coreboot.org/81948
- With the aforementioned changes from Gerrit, booting should work. S3 resume 
should also work, but please test in advance.
- **BACK UP YOUR STUFF!** I will NOT be held responsible by any data losses 
arising from the use of the current state of Haswell NRI.
- Because not all training steps are ready yet, performance and power 
consumption are not optimal. Fix is to finish upstreaming them.
- Also, do NOT try to overclock the RAM under any circumstances. You will only 
make your system much more unstable for no reason.


Feature #461: Replacing Haswell mrc.bin blob with free software
https://ticket.coreboot.org/issues/461#change-1854

* Author: akjuxr3 akjuxr3
* Status: In Progress
* Priority: Normal
* Assignee: Angel Pons
* Category: chipset configuration
* Target version: none
* Start date: 2020-04-01
* Related links: https://review.coreboot.org/q/topic:haswell-nri
* Affected hardware: All Haswell mainboards

Currently in case of the ability to run as less amount of closed source 
software as possible and still have Microcode updates the reduced Intel ME with 
disabled bit in IFD and the lga1155 or the mobile versions of those cpus are 
the only option for x86_64 out there.
The next cpu generation (Haswell) inside for example T440p and W541 require the 
binary blob mrc.bin

Are there any plans of replacing the Haswell mrc.bin with free software? Or 
have the x86_64 platform be given up when the goal is to run just free software 
and the people should move to aarch64 or risc-v?



-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
https://ticket.coreboot.org/my/account
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] [coreboot - Feature #540] Support for Lenovo ThinkPad X250 - the competitor to the shortly added HP EliteBook 820 G2

2024-05-22 Thread Angel Pons
Issue #540 has been updated by Angel Pons.


Even though bypassing Boot Guard is possible on Skylake, the ME on Broadwell 
uses a completely different ISA for its CPU core (Skylake uses a mini-x86 core, 
Broadwell and earlier use some ARCompact thing?). So backporting the bootguard 
bypass thing is significantly more complicated because of that.


Feature #540: Support for Lenovo ThinkPad X250 - the competitor to the shortly 
added HP EliteBook 820 G2
https://ticket.coreboot.org/issues/540#change-1853

* Author: akjuxr3 akjuxr3
* Status: New
* Priority: Normal
* Category: board support
* Target version: none
* Start date: 2024-05-22
* Affected hardware: Lenovo Thinkpad X250

Coreboot now have support for the HP EliteBook 820 G2. This is great, but sadly 
the keyboard is for a person using Thinkpad keyboards forever not usable.
The Thinkpad X250 is the competitor to the HP EliteBook 820 G2. 
https://www.notebookcheck.net/Face-Off-HP-EliteBook-820-G2-vs-Lenovo-ThinkPad-X250-vs-Dell-Latitude-12-E7250.144831.0.html

The X250 also have a Full-HD IPS screen. This would also fix the problems many 
people have with the X230 and spend much time and effort to get a Full-HD IPS 
screen running in the X230.

Nico Huber have(had?) such a X250: 
https://review.coreboot.org/c/coreboot/+/23820/7#message-04cf9f804c1292f457c61c71e63eaddaff083202

Other coreboot developer also seem to have a X250: 
https://review.coreboot.org/c/coreboot/+/51179

Have someone taken a deeper look into the Thinkpad X250? Is there something 
special why suddenly the HP EliteBook 820 G2 got supported instead of a typical 
Thinkpad like it was the case for years at coreboot?



-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
https://ticket.coreboot.org/my/account
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: Found how to work some LEDs on P8Z77-M. Looking for implementation guidance.

2024-04-15 Thread Angel Pons
Hi Keith,

On Mon, Apr 15, 2024 at 12:49 AM Keith Hui  wrote:
>
> What an eye opener.
>
> Yesterday I stumbled upon some boardviews for my board, and the pro
> variant. That could also let me sort out the pro's serial port without
> one actually on hand, but that's for another time.

Nice! Serial console is always nice to have.

> The power button have never blinked while in S3 like it's supposed to.
> I found that it is connected to GPIO27 on the PCH. I could adjust the
> PCH GPIO config to make it blink. What is the best approach if I want
> it to blink before entering S3, and stop it blinking after coming out
> of?

IIRC, the first 32 GPIOs of the PCH natively support a "blink" mode by
setting a bit in a register. You can easily test this by enabling
blink for GPIO27 in your board's `gpio.c` (this should make the power
LED blink all the time). In order to make it blink only in sleep mode,
you should set that "blink bit" when the board goes to sleep. In order
of preference, this can be done in the DSDT (`_PTS` method; check if
southbridge ACPI already has definitions for the GPIO registers) or in
the SMI handler.

> Thanks
> Keith
> ___
> coreboot mailing list -- coreboot@coreboot.org
> To unsubscribe send an email to coreboot-le...@coreboot.org

Best regards,
Angel
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: How to best handle new Intel Saphire Rapids server boards based on Intel Archer City?

2023-06-19 Thread Angel Pons
Hi Paul, list,

On Thu, Jun 8, 2023, 16:16 Paul Menzel  wrote:

> [Annie, Yiwei, I only added you to Cc. It’d be great if you made sure
> that all involved people are subscribed to the coreboot mailing list.]
>
> Dear coreboot folks,
>
>
> Two server boards based on Intel Archer City board, commit 30e743e7cc7f
> (mb/ibm: Add 4 SPR sockets server board IBM SBP1) [1], were pushed to
> Gerrit for review:
>
> 1.  mb/inventec: Add Intel SPR server board Inventec Transformers [2]
>  Change-Id: Ic9d99c3aadaa9f69e6d14d4b1a6c5157f5590684
> 2.  bytedance/bd_egs (Eaglestream) [3]
>  Change-Id: I091bc78e39cd76b3c6b9a10a1fcf58e9d671ef5d
>
> Some code seems to be copied – like bootblock.c [4] – and almost
> identical to the reference platform. To avoid future maintenance burden,
> could more knowledgeable people comment, if server boards differ
> drastically so separate boards are justified or if they should be made
> variants.
>

A variant setup with boards from different vendors sounds like a
maintenance nightmare. We still have a common place to put the redundant
code, though: in chipset (SoC) code. The bootblock LPC decode can
definitely be factored out.

That being said, it may be easier to factor things out after these three
board ports have been submitted. The boot

I also noticed `mainboard_config_iio()`. Should that be moved to the
> devicetree?
>

If the settings are only used in ramstage (where the devicetree is R/W),
they could be moved to the devicetree. However, if these settings are used
in romstage, the devicetree would negatively impact runtime-dependent
configuration (e.g. when using straps to control IIO bifurcation depending
on slot occupancy), as the devicetree cannot be updated at runtime in
romstage (or earlier).

Kind regards,
>
> Paul
>
>
> [1]: https://review.coreboot.org/c/coreboot/+/73392
>   "mb/ibm: Add 4 SPR sockets server board IBM SBP1"
> [2]: https://review.coreboot.org/c/coreboot/+/75598
>   "mb/inventec: Add Intel SPR server board Inventec Transformers"
> [3]: https://review.coreboot.org/c/coreboot/+/75722
>   "mb/bytedance: Add 2 SPR sockets server board bd_egs"
> [4]:
>
> https://review.coreboot.org/c/coreboot/+/75598/5/src/mainboard/inventec/transformers/bootblock.c#18
> ___
> coreboot mailing list -- coreboot@coreboot.org
> To unsubscribe send an email to coreboot-le...@coreboot.org


Best regards,
Angel
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] [coreboot - Refactoring #460] Make mainboards using the variant concept

2023-03-09 Thread Angel Pons
Issue #460 has been updated by Angel Pons.


akjuxr3 akjuxr3 wrote in #note-5:
> > The xNx naming scheme also doesn't work in the general case. 
> 
> I know. In x4x the best example is the Intel X48 chipset. Its not supported 
> by coreboot. Reason for not supporting it is that its completely different 
> generation. Its x3x-generation (X38) renamed and tuned by intel. But still 
> collide into the x4x coreboot naming.
> But my point is, that naming x4x like its named is better, then if it were 
> named for example c2d (for core 2 duo) or c2q (for core 2 quad). You can 
> stick your socket 771 hardwaremodded intel xeon (the CPU) in this boards 
> without any modification to the x4x board. Also different generations of cpu 
> codenames work with the x4x codebase.

The most precise name for the set of northbridges supported by 
`northbridge/intel/x4x` is "eaglelake", the codename. Even "4-series" can be 
confusing, because there's X48 (codename "bearlake", which includes 3-series 
desktop northbridges) as well as the mobile northbridges 
(`northbridge/intel/gm45`, officially known as "Mobile 4-series" and codename 
"cantiga") which are different beasts.

That being said, we don't usually rename chipsets. We did rename "nehalem" to 
"ironlake", however, as the original name was incorrect. The code does not 
support any 45nm Nehalem CPUs, but rather Arrandale mobile processors 
consisting of a 32nm Westmere dual-core CPU die and a 45nm integrated 
northbridge die (we've tested the code on a desktop Clarkdale processor, 
raminit isn't happy about it). See 
https://en.wikipedia.org/wiki/Westmere_(microarchitecture) 
https://en.wikipedia.org/wiki/Arrandale and 
https://en.wikipedia.org/wiki/Clarkdale_(microprocessor) for more information.

> > There's also chipsets that share an architecture (and thus share a 
> > codebase) but do not share the naming scheme, such as Q77 and C216 
> > chipsets. Both of these are Panther Point chipsets but the x7x naming 
> > scheme does not capture this. 
> 
> Yes, you are correct. Thanks for mentioning this.

And the codebase is also shared with 6-series PCHs, which include "UP server" 
(uniprocessor server, the term Intel uses to refer to servers using the same 
technology as "client" desktops) PCHs. It's hard to pick a name in such cases. 
Typically, the name for the older generation is used because support for the 
newer generation gets added later. This is the case for `cpu/intel/haswell`, 
which now supports Broadwell as well.

> > otherwise we would need to resort to absurdly long names that accurately 
> > captures everything or duplicate code by forcing separate directories to be 
> > created for parts with incompatible names but otherwise compatible code. 
> 
> My point was not about the naming-lenght. It is about naming it about 
> something that is not a general part of the thing the code is written for.

Naming can be difficult. There's several HP laptops supported under 
`mainboard/hp/snb_ivb_laptops` for lack of a better name. Besides the CPU and 
chipset, the only other thing they have in common is the SMSC KBC1126 EC.

> > Yes, it makes things more confusing to navigate using the folder structure 
> > but I think that's already been accepted as a reality given the naming of 
> > the chipset directories and usage of the variant scheme for mainboards.
> 
> My point is not about the simplicity of navigation in the folders. It was 
> about naming it about something that is not a general hardwarepart(cpu) of 
> the thing the code is written for(the mainboard).

Simplicity of navigation doesn't change much when using variants, it's more 
that the specific supported models are less visible. This can be compensated by 
improving the supported boards list. Given that board-status got a rewrite in 
Go recently, it should be easier than ever to add proper support for variants 
(per-variant `board_info.txt` parsing, for instance).

> > It's actually quite simple to put an accurate name on it: Use something 
> > that is soldered to the mainboard. In case of platform code that supports 
> > multiple chipsets, it's usually the CPU socket that they have in common. 
> > lga1155 should work here and similar names are used already in the tree.
> 
> Perfect! This also include the C216 chipsets. The coreboot codebase is then 
> in general understandable (not naming it after parts (CPUs) that are not part 
> of the hardwareproduct the code is written for) again like it is in x4x and 
> like its wished its combined in one directory.

It's reasonable, but there's some pitfalls. First of all, there's two 
incompatible types of LGA1151 socket: the Skylake/Kaby

[coreboot] [coreboot - Bug #455] superiotool recognizes the wrong chip and doesn't work.

2023-02-07 Thread Angel Pons
Issue #455 has been updated by Angel Pons.





Have you tried running `sudo superiotool -d`? This should show the register 
dump for the Nuvoton Super I/O on your board. The AST2400 detection procedure 
is delusional (read random registers, if any returns non-zero then we have an 
AST2400), so it often results in false positives.





Bug #455: superiotool recognizes the wrong chip and doesn't work.

https://ticket.coreboot.org/issues/455#change-1399



* Author: shen Liu

* Status: New

* Priority: Normal

* Category: userspace utilities

* Target version: master

* Start date: 2023-02-07

* Affected versions: master

* Needs backport to: none

* Related links: More discussion:

https://www.reddit.com/r/coreboot/comments/10ud7tk/is_b85me45_ms7817_supported_by_coreboot/



https://wiki.archlinux.org/title/Debuginfod

* Affected hardware: MSI B85M-E45

* Affected OS: Manjaro Linux 22.0.2 (Kernel ver:6.1.9-1)



``` shell

sudo ./superiotool 

Found Aspeed AST2400 (id=0x00) at 0x4e

sudo ./superiotool

superiotool r4.19-306-g12ec7901b7

No Super I/O found

```

Does superiotool provide debug symbols?

Without debug symbols I can't use gdb to provide more useful information.







-- 

You have received this notification because you have either subscribed to it, 
or are involved in it.

To change your notification preferences, please click here: 
https://ticket.coreboot.org/my/account

___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] [coreboot - Bug #449] ThinkPad T440p fail to start, continous beeping & LED blinking

2023-02-07 Thread Angel Pons
Issue #449 has been updated by Angel Pons.


https://review.coreboot.org/72806 fixes the UBSAN errors, please review. Note 
that UBSAN-enabled coreboot still dies later on:

```
Loading module at 0x0003 with entry 0x0003. filesize: 0x178 memsize: 
0x178
Processing 16 relocs. Offset value of 0x0003
unaligned access src/lib/rmodule.c:152:27
ubsan: unrecoverable error.
```

So, any users that desire to have a bootable system should keep UBSAN disabled 
when building coreboot.


Bug #449: ThinkPad T440p fail to start, continous beeping & LED blinking
https://ticket.coreboot.org/issues/449#change-1394

* Author: Crazy Fox
* Status: In Progress
* Priority: Normal
* Assignee: Angel Pons
* Category: board support
* Target version: 4.18
* Start date: 2023-01-14
* Affected versions: 4.19
* Related links: The USBAN error is:

```
[ERROR]  shift out of bounds src/northbridge/intel/haswell/pcie.c:85:22
[EMERG]  ubsan: unrecoverable error.
```
* Affected hardware: haswell

Hi, Team
Being corebooted before and works fine on 4.17.

After flashing 4.18 my t440p wont startup (black screen, constant beeping & LED 
blinking). I've tried and retried different nconfigs but result is the same. I 
know that it is lack of information, but I need to recover the laptop first to 
grab some logs from it.

Log from FT232H's debug is attached, the rest of info (defconfig, flashrom 
command etc. will upload soon)

---Files
coreboot_t440p_emerg.log (7.85 KB)


-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
https://ticket.coreboot.org/my/account
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] [coreboot - Bug #449] (In Progress) ThinkPad T440p fail to start, continous beeping & LED blinking

2023-01-14 Thread Angel Pons
Issue #449 has been updated by Angel Pons.

Assignee set to Angel Pons
Status changed from New to In Progress
Category changed from coreboot common code to board support

Looks like coreboot dies because UBSAN encounters a bug. Please disable UBSAN 
and try again. Note that things like ASAN and UBSAN are meant to be used for 
debugging purposes; for "production" use-cases, it's better to keep these 
options disabled.


Bug #449: ThinkPad T440p fail to start, continous beeping & LED blinking
https://ticket.coreboot.org/issues/449#change-1344

* Author: Crazy Fox
* Status: In Progress
* Priority: Normal
* Assignee: Angel Pons
* Category: board support
* Target version: 4.18
* Start date: 2023-01-14
* Affected versions: 4.18
* Affected hardware: haswell

Hi, Team
Being corebooted before and works fine on 4.17.

After flashing 4.18 my t440p wont startup (black screen, constant beeping & LED 
blinking). I've tried and retried different nconfigs but result is the same. I 
know that it is lack of information, but I need to recover the laptop first to 
grab some logs from it.

Log from FT232H's debug is attached, the rest of info (defconfig, flashrom 
command etc. will upload soon)

---Files
coreboot_t440p_emerg.log (7.85 KB)


-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
https://ticket.coreboot.org/my/account
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] [coreboot - Bug #432] t440p reboots on suspend

2022-10-21 Thread Angel Pons
Issue #432 has been updated by Angel Pons.

File osboot_t440p_ifd_bin_is_also_borked.log added

Yes, it's definitely an osboot problem... Please report the issue to osboot 
folks, and point them to this ticket.

After grabbing the T440p IFD.bin that osboot uses and using `util/ifdtool`'s 
`-d` option on it (after manually padding to 12 MiB; you can just use the 
osboot image you built), it's clear why coreboot thinks the flash chip is much 
larger...

```
  Component 2 Density: 32MB
  Component 1 Density: 8MB
```

Component 2 Density should be "4MB" (technically, 4 MiB) instead. No clue where 
the IFD.bin that osboot uses comes from, but it's broken. See attached log for 
the complete `ifdtool -d` output.


Bug #432: t440p reboots on suspend
https://ticket.coreboot.org/issues/432#change-1218

* Author: Josh R
* Status: Response Needed
* Priority: Normal
* Target version: none
* Start date: 2022-10-21
* Affected versions: 4.15
* Related links: https://ticket.coreboot.org/issues/412


* Affected hardware: Lenovo ThinkPad T440p
* Affected OS: Ubuntu 22.04 (Pop OS)

Per request, adding new ticket for an issue with my t440p where attempting to 
resume on suspend results in a reboot (or at least, not resuming from DRAM).

My t440p already has coreboot installed (via osbmk). Following instructions 
from issue #412, I have attempted the following:

`sudo flashrom -p internal --ifd -i bios -w the_full_12MiB_osbmk.rom 
--noverify-all`

...but that did not seem to do the trick (still "restarts" without resuming 
from RAM).

Note that I am using the "full" 12MB osbmk rom (not split by 4MiB and 8MiB, as 
that seemed intended for the hardware flashing instructions).

coreboot version looks like 4.15.204, and flashrom version 1.2-640.

If it helps, attached cbmem -1 output with a "normal boot" followed by a later 
resume from suspend (that resulted in a restart).

Thanks in advance. I guess you don't realize how much you use suspend until it 
doesn't work anymore :)

---Files
cbmem.20221019195923.normal_boot.log (36.2 KB)
cbmem.20221019200724.from_suspend.log (36.3 KB)
osboot_t440p_ifd_bin_is_also_borked.log (10.2 KB)


-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
https://ticket.coreboot.org/my/account
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] [coreboot - Bug #432] t440p reboots on suspend

2022-10-21 Thread Angel Pons
Issue #432 has been updated by Angel Pons.


*sigh* where is the "Edit" button?

Looks like the issue happens because something is messed up with the "ROM 
size"...

```
flash size 0x280 bytes
SF: Detected 00  with sector size 0x1000, total 0x280
SF size 0x280 does not correspond to CONFIG_ROM_SIZE 0xc0!!
```

This seems like a bug in osboot.


Bug #432: t440p reboots on suspend
https://ticket.coreboot.org/issues/432#change-1216

* Author: Josh R
* Status: Response Needed
* Priority: Normal
* Target version: none
* Start date: 2022-10-21
* Affected versions: 4.15
* Related links: https://ticket.coreboot.org/issues/412


* Affected hardware: Lenovo ThinkPad T440p
* Affected OS: Ubuntu 22.04 (Pop OS)

Per request, adding new ticket for an issue with my t440p where attempting to 
resume on suspend results in a reboot (or at least, not resuming from DRAM).

My t440p already has coreboot installed (via osbmk). Following instructions 
from issue #412, I have attempted the following:

`sudo flashrom -p internal --ifd -i bios -w the_full_12MiB_osbmk.rom 
--noverify-all`

...but that did not seem to do the trick (still "restarts" without resuming 
from RAM).

Note that I am using the "full" 12MB osbmk rom (not split by 4MiB and 8MiB, as 
that seemed intended for the hardware flashing instructions).

coreboot version looks like 4.15.204, and flashrom version 1.2-640.

If it helps, attached cbmem -1 output with a "normal boot" followed by a later 
resume from suspend (that resulted in a restart).

Thanks in advance. I guess you don't realize how much you use suspend until it 
doesn't work anymore :)

---Files
cbmem.20221019195923.normal_boot.log (36.2 KB)
cbmem.20221019200724.from_suspend.log (36.3 KB)


-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
https://ticket.coreboot.org/my/account
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] [coreboot - Bug #432] t440p reboots on suspend

2022-10-21 Thread Angel Pons
Issue #432 has been updated by Angel Pons.


Hmmm, looks like the issue happens because the MRC cache 


Bug #432: t440p reboots on suspend
https://ticket.coreboot.org/issues/432#change-1215

* Author: Josh R
* Status: Response Needed
* Priority: Normal
* Target version: none
* Start date: 2022-10-21
* Affected versions: 4.15
* Related links: https://ticket.coreboot.org/issues/412


* Affected hardware: Lenovo ThinkPad T440p
* Affected OS: Ubuntu 22.04 (Pop OS)

Per request, adding new ticket for an issue with my t440p where attempting to 
resume on suspend results in a reboot (or at least, not resuming from DRAM).

My t440p already has coreboot installed (via osbmk). Following instructions 
from issue #412, I have attempted the following:

`sudo flashrom -p internal --ifd -i bios -w the_full_12MiB_osbmk.rom 
--noverify-all`

...but that did not seem to do the trick (still "restarts" without resuming 
from RAM).

Note that I am using the "full" 12MB osbmk rom (not split by 4MiB and 8MiB, as 
that seemed intended for the hardware flashing instructions).

coreboot version looks like 4.15.204, and flashrom version 1.2-640.

If it helps, attached cbmem -1 output with a "normal boot" followed by a later 
resume from suspend (that resulted in a restart).

Thanks in advance. I guess you don't realize how much you use suspend until it 
doesn't work anymore :)

---Files
cbmem.20221019195923.normal_boot.log (36.2 KB)
cbmem.20221019200724.from_suspend.log (36.3 KB)


-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
https://ticket.coreboot.org/my/account
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] [coreboot - Bug #432] (Response Needed) t440p reboots on suspend

2022-10-21 Thread Angel Pons
Issue #432 has been updated by Angel Pons.

Affected hardware changed from Lenovo t440p to Lenovo ThinkPad T440p
Status changed from New to Response Needed

Hi, osboot is not the same as coreboot. Have you asked the people responsible 
for osboot to provide support?

It would be great if you could test with upstream coreboot, to make sure the 
issue is in coreboot and not about something the osboot people did.


Bug #432: t440p reboots on suspend
https://ticket.coreboot.org/issues/432#change-1214

* Author: Josh R
* Status: Response Needed
* Priority: Normal
* Target version: none
* Start date: 2022-10-21
* Affected versions: 4.15
* Related links: https://ticket.coreboot.org/issues/412


* Affected hardware: Lenovo ThinkPad T440p
* Affected OS: Ubuntu 22.04 (Pop OS)

Per request, adding new ticket for an issue with my t440p where attempting to 
resume on suspend results in a reboot (or at least, not resuming from DRAM).

My t440p already has coreboot installed (via osbmk). Following instructions 
from issue #412, I have attempted the following:

`sudo flashrom -p internal --ifd -i bios -w the_full_12MiB_osbmk.rom 
--noverify-all`

...but that did not seem to do the trick (still "restarts" without resuming 
from RAM).

Note that I am using the "full" 12MB osbmk rom (not split by 4MiB and 8MiB, as 
that seemed intended for the hardware flashing instructions).

coreboot version looks like 4.15.204, and flashrom version 1.2-640.

If it helps, attached cbmem -1 output with a "normal boot" followed by a later 
resume from suspend (that resulted in a restart).

Thanks in advance. I guess you don't realize how much you use suspend until it 
doesn't work anymore :)

---Files
cbmem.20221019195923.normal_boot.log (36.2 KB)
cbmem.20221019200724.from_suspend.log (36.3 KB)


-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
https://ticket.coreboot.org/my/account
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] [coreboot - Bug #412] x230 reboots on suspend

2022-10-20 Thread Angel Pons
Issue #412 has been updated by Angel Pons.


Josh, could you please open a separate issue? Thanks.


Bug #412: x230 reboots on suspend
https://ticket.coreboot.org/issues/412#change-1204

* Author: Carson A.
* Status: New
* Priority: Normal
* Target version: none
* Start date: 2022-09-02
* Affected versions: master
* Related links: https://ticket.coreboot.org/issues/393
* Affected hardware: x230
* Affected OS: windows/arch linux

Very similar to issue 393 where the x230 reboots when suspended to RAM. Seems 
to be an issue with coreboot v4.16 & 4.17 or something is missing in the config 
(attached). Any insight on this would be appreciated!

---Files
coreboot_config.txt (18.8 KB)
normal_boot.txt (48.1 KB)
suspend_boot.txt (48 KB)
12mb_boot.txt (47.6 KB)
cbmem.20221019200724.from_suspend.log (36.3 KB)
cbmem.20221019195923.normal_boot.log (36.2 KB)


-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
https://ticket.coreboot.org/my/account
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] [coreboot - Bug #310] (Resolved) Coreboot 4.14 fails on a Lenvovo T440p

2022-10-14 Thread Angel Pons
Issue #310 has been updated by Angel Pons.

Affected OS set to All (coreboot bug)
Affected hardware set to ThinkPad T440p
Status changed from Response Needed to Resolved


Bug #310: Coreboot 4.14 fails on a Lenvovo T440p
https://ticket.coreboot.org/issues/310#change-1160

* Author: David Hoelscher
* Status: Resolved
* Priority: Normal
* Assignee: Angel Pons
* Start date: 2021-06-02
* Affected hardware: ThinkPad T440p
* Affected OS: All (coreboot bug)

Hi all,

coreboot 4.14 dies on early boot. The T440p ended with led blinking and beep 
sound. 

This was my first try - so i think it was maybe a problem with mrc.bin or 
vga.rom. But if I skip back to version 4.13, everything works fine (4.13 
working config is appended). I don't know how to get debug information on this 
early stage of boot. Does anyone has a hint? A Raspberry Pi as an external 
flasher is available. 

Further - is it possible to flash only the 4 MB BIOS chip? This IC is very easy 
accessible. I am afraid to disassemble the complete backplate to access the 
other 8MB chip again. Initially I flashed the complete Rom without ME on both 
chips.



---Files
Coreboot_4.13.config (23.6 KB)
descriptor.bin (4 KB)


-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
https://ticket.coreboot.org/my/account
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] [coreboot - Bug #427] x200: Two battery charging issues

2022-10-14 Thread Angel Pons
Issue #427 has been updated by Angel Pons.


Hi,

Yes, the EC should be reset by unplugging all power supplies, as it loses 
power. The RTC/CMOS battery shouldn't matter, but it would be a good idea to 
disconnect it as well if it's easy to do so.


Bug #427: x200: Two battery charging issues
https://ticket.coreboot.org/issues/427#change-1156

* Author: Akura Ryu
* Status: New
* Priority: High
* Category: board support
* Target version: master
* Start date: 2022-10-14
* Affected versions: master
* Needs backport to: master
* Affected hardware: ThinkPad X200
* Affected OS: Linux

I've flashed my ThinkPad X200 with coreboot. Currently it has trouble when 
charging.

## 1. Charge state mismatch
When I plug in my AC adapter, system always reports " **Not charging** ". 

Here's the output from the `acpi` utility:
```
Battery 0: Not charging, 23%
Adapter 0: on-line
```
 
But weirdly, battery level is still increasing as the AC adapter is on-line.

What's more, it still reports "Not charging" when AC adapter is detached 
(normally it should be "Discharging").

## 2. Battery threshold doesn't seem to work.

Since tp_smapi is unusable without stock firmware, I use `tpacpi-bat` to 
configure battery threshold. My KDE battery indicator can recognize these 
thresholds.

```sh
sudo tpacpi-bat -s ST 1 88# Start threshold
sudo tpacpi-bat -s SP 1 90# Stop threshold
```

But no matter how I charge, battery will always be fully charged.

## Revision
- **OS**: Arch Linux with KDE
- **Coreboot revision**: 93781523a
- **Configuration**: See attachment

---Files
.config (18.8 KB)


-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
https://ticket.coreboot.org/my/account
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] [coreboot - Bug #427] x200: Two battery charging issues

2022-10-14 Thread Angel Pons
Issue #427 has been updated by Angel Pons.


Could you please check if the "battery not charging" issues are still present 
when *not* using any software to mess with the thresholds? To properly test, 
please make sure the EC (Embedded Controller) gets reset: power off the laptop 
and remove all batteries and the AC adapter.


Bug #427: x200: Two battery charging issues
https://ticket.coreboot.org/issues/427#change-1154

* Author: Akura Ryu
* Status: New
* Priority: High
* Category: board support
* Target version: master
* Start date: 2022-10-14
* Affected versions: master
* Needs backport to: master
* Affected hardware: ThinkPad X200
* Affected OS: Linux

I've flashed my ThinkPad X200 with coreboot. Currently it has trouble when 
charging.

## 1. Charge state mismatch
When I plug in my AC adapter, system always reports " **Not charging** ". 

Here's the output from the `acpi` utility:
```
Battery 0: Not charging, 23%
Adapter 0: on-line
```
 
But weirdly, battery level is still increasing as the AC adapter is on-line.

What's more, it still reports "Not charging" when AC adapter is detached 
(normally it should be "Discharging").

## 2. Battery threshold doesn't seem to work.

Since tp_smapi is unusable without stock firmware, I use `tpacpi-bat` to 
configure battery threshold. My KDE battery indicator can recognize these 
thresholds.

```sh
sudo tpacpi-bat -s ST 1 88# Start threshold
sudo tpacpi-bat -s SP 1 90# Stop threshold
```

But no matter how I charge, battery will always be fully charged.

## Revision
- **OS**: Arch Linux with KDE
- **Coreboot revision**: 93781523a
- **Configuration**: See attachment

---Files
.config (18.8 KB)


-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
https://ticket.coreboot.org/my/account
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: New Defects reported by Coverity Scan for coreboot

2022-10-12 Thread Angel Pons
Hi all,

On Tue, Oct 11, 2022 at 7:03 PM Angel Pons  wrote:
>
> Hi Patrick,
>
> On Tue, Oct 11, 2022 at 6:43 PM Patrick Georgi  wrote:
> >
> > "Angel Pons"  schrieb:
> >
> > > We made the patches that made Coverity angry about this `format_pn()`
> > > function. However, this is not an actual bug: the
> > > `eeprom_read_serial()` function returns a buffer that is at most 32
> > > (`HERMES_SN_PN_LENGTH`) characters long, and the length of the
> > > `prefix` string is known at build-time (it's a string literal in both
> > > call sites) to be less than 32 characters long.
> >
> > There's no guarantee that the string returned by eeprom_read_serial() is 
> > 0-terminated (not even in its implementation) and strcpy proceeds until the 
> > first 0 it sees, even if that's only 2GB later. Use strncpy instead to 
> > prevent out of bound copies.
>
> Oh, we wanted to use `strncat()` but it doesn't exist in coreboot.
> Then we considered `strcat()` and it didn't exist either, and we ended
> up using `strcpy()`. Will use `strncpy()`, thank you!

After some discussion on IRC, we ended up making
https://review.coreboot.org/68322 and
https://review.coreboot.org/68323 to address the issues. Thank you
all.

> > Patrick
>
> Best regards,
> Angel

Best regards,
Angel
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: New Defects reported by Coverity Scan for coreboot

2022-10-11 Thread Angel Pons
Hi Patrick,

On Tue, Oct 11, 2022 at 6:43 PM Patrick Georgi  wrote:
>
> "Angel Pons"  schrieb:
>
> > We made the patches that made Coverity angry about this `format_pn()`
> > function. However, this is not an actual bug: the
> > `eeprom_read_serial()` function returns a buffer that is at most 32
> > (`HERMES_SN_PN_LENGTH`) characters long, and the length of the
> > `prefix` string is known at build-time (it's a string literal in both
> > call sites) to be less than 32 characters long.
>
> There's no guarantee that the string returned by eeprom_read_serial() is 
> 0-terminated (not even in its implementation) and strcpy proceeds until the 
> first 0 it sees, even if that's only 2GB later. Use strncpy instead to 
> prevent out of bound copies.

Oh, we wanted to use `strncat()` but it doesn't exist in coreboot.
Then we considered `strcat()` and it didn't exist either, and we ended
up using `strcpy()`. Will use `strncpy()`, thank you!

> Patrick

Best regards,
Angel
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: New Defects reported by Coverity Scan for coreboot

2022-10-11 Thread Angel Pons
Hi list,

We made the patches that made Coverity angry about this `format_pn()`
function. However, this is not an actual bug: the
`eeprom_read_serial()` function returns a buffer that is at most 32
(`HERMES_SN_PN_LENGTH`) characters long, and the length of the
`prefix` string is known at build-time (it's a string literal in both
call sites) to be less than 32 characters long.

Does anyone have any ideas to make Coverity shut up without making the
code unnecessarily ugly?

Thanks in advance,
Angel
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] [coreboot - Bug #412] x230 reboots on suspend

2022-09-02 Thread Angel Pons
Issue #412 has been updated by Angel Pons.


I concur with Nico's assessment. I imagine you changed the "ROM chip size" 
option to get a 4 MiB file to flash to the second flash chip (4 MiB).

Instead of doing that, 
https://doc.coreboot.org/mainboard/lenovo/Ivy_Bridge_series.html#splitting-the-coreboot-rom
 provides the commands to split a 12 MiB image into 8 MiB and 4 MiB parts. 
You'd want to use `dd of=top.rom bs=1M if=build/coreboot.rom skip=8` to obtain 
a 4 MiB image.

As you've already installed coreboot, you can also flash internally with `sudo 
flashrom -p internal --ifd -i bios -w build/coreboot.rom --noverify-all`. This 
tells flashrom to write `build/coreboot.rom` to the flash chip(s) using the 
internal programmer, but only the "bios" region as described by the IFD of the 
system. The `--noverify-all` option tells flashrom to not verify the entire 
flash chip (to make sure other regions did not change), but only the written 
regions. This is needed when flashrom cannot read the entire flash chip, and 
the ME region is not readable by default.


Bug #412: x230 reboots on suspend
https://ticket.coreboot.org/issues/412#change-1083

* Author: Carson Alberding
* Status: New
* Priority: Normal
* Target version: none
* Start date: 2022-09-02
* Affected versions: master
* Related links: https://ticket.coreboot.org/issues/393
* Affected hardware: x230
* Affected OS: windows/arch linux

Very similar to issue 393 where the x230 reboots when suspended to RAM. Seems 
to be an issue with coreboot v4.16 & 4.17 or something is missing in the config 
(attached). Any insight on this would be appreciated!

---Files
coreboot_config.txt (18.8 KB)
normal_boot.txt (48.1 KB)
suspend_boot.txt (48 KB)


-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
https://ticket.coreboot.org/my/account
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: RFC: Deprecating VBOOT_VBNV_CMOS

2022-08-14 Thread Angel Pons
Hi,

On Mon, Aug 1, 2022 at 2:59 AM Yu-Ping Wu  wrote:

> Thanks for the feedback.
>
> I'm pretty sure Broadwell supports early flash writes: flashconsole
>> works and it writes to flash as early as bootblock. I'm not sure why
>> CB:45740 selected BOOT_DEVICE_SPI_FLASH_NO_EARLY_WRITES for platforms
>> older than Skylake/Apollo Lake, but I guess it's because it couldn't
>> be tested.
>>
>
> Thanks. I've made a revert
> <https://review.coreboot.org/c/coreboot/+/66300> for the broadwell patch.
> In addition to haswell, BOOT_DEVICE_SPI_FLASH_NO_EARLY_WRITES is also
> enabled for:
>
>- CPU_INTEL_MODEL_206AX
>- CPU_INTEL_MODEL_2065X
>- NORTHBRIDGE_INTEL_X4X
>- SOC_INTEL_BAYTRAIL
>- SOC_INTEL_BRASWELL
>
> Do you know offhand whether these platforms support early flash writes or
> not? If not, who might know the answer?
>

These platforms should also support early writes, but it would be nice to
test them. I'd suggest making one change for each platform, so that it's
easier to keep track of the test status for each. I'll try to add reviewers
to the changes who may be able to test them.


> On Mon, Jul 18, 2022 at 5:13 PM Angel Pons  wrote:
>
>> Hi,
>>
>> On Mon, Jul 18, 2022 at 8:34 AM Yu-Ping Wu via coreboot
>>  wrote:
>> >
>> > Hi,
>> >
>> > There's an ongoing effort to expand vboot nvdata (nvstorage) from 16 to
>> 64 bytes [issue]. To reduce unnecessary complexity of our firmware code
>> accessing nvdata, we'd like to drop 16-byte nvdata support from the
>> firmware codebase (crossystem still needs to support both though).
>>
>> Sounds good.
>>
>> > One obstacle is the CMOS nvdata backend (VBOOT_VBNV_CMOS). We're not
>> sure if there would be enough CMOS space for all boards using that. In
>> addition, because CMOS loses state when the battery is removed, newer
>> boards usually select VBOOT_VBNV_CMOS_BACKUP_TO_FLASH to backup nvdata to
>> flash. Considering that, this seems like a good opportunity to migrate CMOS
>> to flash nvdata [issue].
>>
>> The new 64-byte nvdata would require 512 bits of CMOS. On most
>> systems, CMOS has two banks, each of which holds 1024 bits. One could
>> try using the upper bank to store nvdata, but it still has the problem
>> of CMOS losing its contents when RTC battery power is lost. So I'd
>> strongly recommend deprecating support for nvdata in CMOS as well.
>>
>> > One problem we faced is that many old platforms such as broadwell don't
>> support writing to the flash in early stages
>> (BOOT_DEVICE_SPI_FLASH_NO_EARLY_WRITES). Therefore it looks like we'd need
>> to drop vboot support on them (for example CB:65782). An alternative would
>> be to keep the CMOS backend around as "deprecated" and not allow 64-byte
>> nvdata for it, but that would at best be a transitory solution for a couple
>> of years, not forever.
>>
>> I'm pretty sure Broadwell supports early flash writes: flashconsole
>> works and it writes to flash as early as bootblock. I'm not sure why
>> CB:45740 selected BOOT_DEVICE_SPI_FLASH_NO_EARLY_WRITES for platforms
>> older than Skylake/Apollo Lake, but I guess it's because it couldn't
>> be tested.
>>
>> For Intel platforms with native raminit using MRC cache, I'd suggest
>> selecting MRC_WRITE_NV_LATE when unselecting
>> BOOT_DEVICE_SPI_FLASH_NO_EARLY_WRITES just to be safe. Should native
>> raminit produce training results that are at the limit of instability
>> and ramstage crashes because of it, saving the training results in
>> romstage could potentially result in a boot loop until something is
>> done to invalidate the MRC cache data. Granted, the chances of this
>> ocurring are extremely low, but native raminit isn't perfect (I'm
>> pretty sure MRC isn't perfect either, but we can't really fix the
>> blobs).
>>
>> > If there's any concern, please let me know. We have firmware branches
>> for ChromeOS devices, so modifying ToT code wouldn't affect old devices in
>> any way. However, I'm not sure how non-ChromeOS boards (such as
>> mainboard/lenovo/haswell) would be affected by this. Please cc more people
>> if needed.
>>
>> There are several Lenovo mainboards which use VBOOT_VBNV_CMOS, but I
>> think it's possible to switch to SPI flash for nvdata on all of them.
>> One thing to keep in mind is that vboot users will have to update
>> everything as these changes won't be backwards-compatible.
>>
>> > --
>> >
>> > Yu-Ping Wu | Software Engineer | yupin...@google.com | +886 937 057 080
>> <+886%20937%20057%20080>
>>
>> Best regards,
>> Angel
>>
>
>
> --
>
> Yu-Ping Wu |  Software Engineer |  yupin...@google.com |  +886 937 057 080
>

Best regards,
Angel
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: [flashrom] Intel Kaby Lake Y w/ iHDCP2.2 Prem ERASE_FAILED

2022-07-22 Thread Angel Pons
Hi Craft,

Looks like you only replied to me, so the mailing list hasn't received
your message. In the future, remember to use "Reply to all" so that
the mailing list also gets a copy of your message.

On Fri, Jul 22, 2022 at 12:10 AM J. Craft  wrote:
>
> Appreciate you getting back to me, Angel. Write Protection had been disabled, 
> but I hadn't rebooted for it to take effect. :)

Yes, a reboot is needed for the write-protect settings to be updated.

> However, after rebooting and flashing properly, it appears that there is a 
> bug in the bios that causes an ACIP BIOS ERROR when trying to install Windows 
> 10. Any suggestions on what to do in this situation?

Hmmm, 
https://www.reddit.com/r/chrultrabook/comments/aufp1q/getting_started_read_this_first/
says that Nocturne should be able to boot Windows... I presume it's a
regression of some sort.

> Kind regards,
> Craft
>
> On Thu, Jul 21, 2022 at 3:59 AM Angel Pons  wrote:
>>
>> Hi,
>>
>> On Thu, Jul 21, 2022 at 2:23 AM J. Craft  wrote:
>> >
>> > Let me know if there's anything else needed and what might be suggested in 
>> > this situation.
>>
>> *snip*
>>
>> > 0x84: 0x89ef09d0 PR0: Warning: 0x009d-0x009e is read-only.
>>
>> flashrom errors out because this region is read-only. I'm pretty sure
>> that's the MRC cache region. You have to disable write-protect by
>> either removing the "WP screw" or by disconnecting the internal
>> battery, then you will be able to flash coreboot successfully.
>>
>> > Good, writing to the flash chip apparently didn't do anything.
>>
>> You can safely reboot.
>>
>> Best regards,
>> Angel

Best regards,
Angel
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: Intel Quark - a quick update

2022-07-19 Thread Angel Pons
Hi Andy,

On Tue, Jul 19, 2022 at 2:19 PM Andy Pont  wrote:
>
> Ron wrote…
>
> >so how's it going?
> Slowly! The day job has got in the way a bit but I have been struggling
> to build the FSP binaries based on the instructions at [1].  I’m not
> sure whether that is down to me not fully understanding the instructions
> (always possible) or whether there is work-in-progress that needs to be
> completed.
>
> I managed to build the FSP 1.1 binary using the six year old version of
> edk2 that Lee also has on his GitHub using an Ubuntu 16.04 development
> machine.  I haven’t yet managed to find a way to successful build the
> FSP 2.0 binary.  Trying to build EDK2 BaseTools throws a pile of Python
> syntax errors which may or may not be critical.  I’ve assumed they
> aren’t for now and am working on getting the binary to build.

Instructions on how to build QuarkFsp were added here:
https://review.coreboot.org/29029

> -Andy.
>
> 1 - https://github.com/LeeLeahy/quarkfsp

Best regards,
Angel
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: RFC: Deprecating VBOOT_VBNV_CMOS

2022-07-18 Thread Angel Pons
Hi,

On Mon, Jul 18, 2022 at 8:34 AM Yu-Ping Wu via coreboot
 wrote:
>
> Hi,
>
> There's an ongoing effort to expand vboot nvdata (nvstorage) from 16 to 64 
> bytes [issue]. To reduce unnecessary complexity of our firmware code 
> accessing nvdata, we'd like to drop 16-byte nvdata support from the firmware 
> codebase (crossystem still needs to support both though).

Sounds good.

> One obstacle is the CMOS nvdata backend (VBOOT_VBNV_CMOS). We're not sure if 
> there would be enough CMOS space for all boards using that. In addition, 
> because CMOS loses state when the battery is removed, newer boards usually 
> select VBOOT_VBNV_CMOS_BACKUP_TO_FLASH to backup nvdata to flash. Considering 
> that, this seems like a good opportunity to migrate CMOS to flash nvdata 
> [issue].

The new 64-byte nvdata would require 512 bits of CMOS. On most
systems, CMOS has two banks, each of which holds 1024 bits. One could
try using the upper bank to store nvdata, but it still has the problem
of CMOS losing its contents when RTC battery power is lost. So I'd
strongly recommend deprecating support for nvdata in CMOS as well.

> One problem we faced is that many old platforms such as broadwell don't 
> support writing to the flash in early stages 
> (BOOT_DEVICE_SPI_FLASH_NO_EARLY_WRITES). Therefore it looks like we'd need to 
> drop vboot support on them (for example CB:65782). An alternative would be to 
> keep the CMOS backend around as "deprecated" and not allow 64-byte nvdata for 
> it, but that would at best be a transitory solution for a couple of years, 
> not forever.

I'm pretty sure Broadwell supports early flash writes: flashconsole
works and it writes to flash as early as bootblock. I'm not sure why
CB:45740 selected BOOT_DEVICE_SPI_FLASH_NO_EARLY_WRITES for platforms
older than Skylake/Apollo Lake, but I guess it's because it couldn't
be tested.

For Intel platforms with native raminit using MRC cache, I'd suggest
selecting MRC_WRITE_NV_LATE when unselecting
BOOT_DEVICE_SPI_FLASH_NO_EARLY_WRITES just to be safe. Should native
raminit produce training results that are at the limit of instability
and ramstage crashes because of it, saving the training results in
romstage could potentially result in a boot loop until something is
done to invalidate the MRC cache data. Granted, the chances of this
ocurring are extremely low, but native raminit isn't perfect (I'm
pretty sure MRC isn't perfect either, but we can't really fix the
blobs).

> If there's any concern, please let me know. We have firmware branches for 
> ChromeOS devices, so modifying ToT code wouldn't affect old devices in any 
> way. However, I'm not sure how non-ChromeOS boards (such as 
> mainboard/lenovo/haswell) would be affected by this. Please cc more people if 
> needed.

There are several Lenovo mainboards which use VBOOT_VBNV_CMOS, but I
think it's possible to switch to SPI flash for nvdata on all of them.
One thing to keep in mind is that vboot users will have to update
everything as these changes won't be backwards-compatible.

> --
>
> Yu-Ping Wu | Software Engineer | yupin...@google.com | +886 937 057 080

Best regards,
Angel
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] [coreboot - Bug #318] (Resolved) denverton_ns: Fix MRC cache write

2022-06-18 Thread Angel Pons
Issue #318 has been updated by Angel Pons.

Status changed from Response Needed to Resolved

Marked as resolved, I don't know if backports are done yet.


Bug #318: denverton_ns: Fix MRC cache write
https://ticket.coreboot.org/issues/318#change-967

* Author: King Sumo
* Status: Resolved
* Priority: Normal
* Start date: 2021-09-02

The RW_MRC_CACHE write is broken in denverton_ns platforms.
More info:
https://mail.coreboot.org/hyperkitty/list/coreboot@coreboot.org/message/26YJ22Z64DZXPAK2VMT6L3FNANNLHMDQ/
https://review.coreboot.org/c/coreboot/+/57033 (patch set as abandoned, it was 
already agreed with Mariusz to proceed the codereview process).




-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
https://ticket.coreboot.org/my/account
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: NULL pointer deref in soc/intel/skylake/irq.c

2022-06-18 Thread Angel Pons
Hi Benjamin,

On Wed, Jun 15, 2022 at 9:23 PM Benjamin Doron
 wrote:
>
> Hi all,
> `src/soc/intel/skylake/irq.c:soc_irq_settings()` dereferences NULL by 
> memcpy'ing devintconfig to params->DevIntConfigPtr. As far as I can tell, 
> this happens because we're copying a structure onto a UPD that's actually 
> just the pointer, rather than assigning the UPD to the buffer.

Yes, this code stinks. It makes no sense, where does `DevIntConfigPtr`
originally point to? It might not even be pointing to RAM depending on
how much RAM is installed!

> devintconfig is static, so will `params->DevIntConfigPtr = devintconfig` 
> work? It would point inside the data section, as I understand. Alternatively, 
> calling `malloc()` first should work.

Newer platforms simply do an assignment (with some casts) so I expect
this to work. They also use a dynamically-allocated buffer because the
data is generated at runtime from a coreboot-specific structure.

I made https://review.coreboot.org/65217 but I haven't boot-tested it.

> I'm away from my computer now, so I can't test these alternatives yet.
>
> Best regards,
> Benjamin
> ___
> coreboot mailing list -- coreboot@coreboot.org
> To unsubscribe send an email to coreboot-le...@coreboot.org

Best regards,
Angel
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: [RFC] #pragma once

2022-05-16 Thread Angel Pons
Hi Arthur, list,

On Sun, May 15, 2022 at 6:56 PM Arthur Heymans  wrote:
>
> Hi
>
> To make sure headers don't create conflicts, guards are added to all of them.
> But the guard needs to be correct: e.g. 
> https://review.coreboot.org/c/coreboot/+/64360/2
> Most compilers implement '#pragma once ' as an alternative.
> Should we use this instead across the tree, as it is less error prone and 
> less code?

Given that coreboot is built with a very specific toolchain, it seems
very reasonable. The only thing that worries me are headers used to
build stuff with the system toolchain, e.g. util/ and src/commonlib/
headers. Still, it's highly unlikely that the system toolchain doesn't
know about #pragma once provided that it is able to build crossgcc.

> Sidenote: clang warns about wrong header guards.
> https://review.coreboot.org/c/coreboot/+/62173/23 hooks up clang to our CI 
> for some platforms ;-).

And mismatched names in #ifndef and #define is not the only problem. I
recently pondered about the scenario in which a compilation unit
includes two different header files that use the same name in their
guard. Using #pragma once would fundamentally eliminate both problems.

> Kind regards
> Arthur

Best regards,
Angel
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: [RFC] i945 problematic code for IGD device enable, BUG?

2022-04-25 Thread Angel Pons
Hi Petr,

On Sun, Apr 24, 2022 at 7:33 AM Petr Cvek  wrote:
>
> Hello again :-D,
>
> I'm working on a code for a simultaneous use of IGD (GMA950) and x16 PCIe 
> slot GPU. I've made some success, but the code which handles the IGD 
> initialization is really weird.

If your PCIe device is a graphics card, you could try removing this
condition in early_init.c:

if (reg32 == 0x03) {
printk(BIOS_DEBUG, "PCIe device is VGA. Disabling IGD.\n");
reg16 = (1 << 1);
pci_write_config16(HOST_BRIDGE, GGC, reg16);

pci_and_config32(HOST_BRIDGE, DEVEN, ~(DEVEN_D2F0 | DEVEN_D2F1));
}

> The IGD is initialized by DEVEN register (DEVEN_D2F0 and DEVEN_D2F1 bits), 
> which is first written in i945_setup_pci_express_x16(). Few times before that 
> the DEVEN_D2F0 and DEVEN_D2F1 bits are already tested during 
> sdram_initialize() code. Also after the reset these bits are initialized to 
> 1. This will cause the test from:
>
> https://elixir.bootlin.com/coreboot/4.16/source/src/northbridge/intel/i945/raminit.c#L2127
>
> if (!(pci_read_config8(HOST_BRIDGE, DEVEN) & (DEVEN_D2F0 | 
> DEVEN_D2F1)))
> integrated_graphics = false;
>
> to be effectively always -> if (0)

Well, there are i945 versions without integrated graphics (82945P,
82945PL, 82945PM). I haven't tested it, but I'm pretty sure the
DEVEN_D2F0 and DEVEN_D2F1 bits are always zero on these northbridges.

> also even when DEVEN_D2F0 is zeroed after chipset reset, the code located 
> after a few lines:
>
> https://elixir.bootlin.com/coreboot/4.16/source/src/northbridge/intel/i945/raminit.c#L2270
>
> pci_or_config8(IGD_DEV, 0xc1, 1 << 2);
>
> will have a problem to work correctly. IGD_DEV is PCIe device enabled by 
> DEVEN_D2F0 (setting DEVEN_D2F0 to 0 will remove IGD_DEV from the PCIe bus). 
> It seems to not cause problems, but I didn't test it extensively.

This write has no effect if IGD_DEV is disabled by DEVEN. Looks like
this magic 0xc1 register is called UPMC4, but it's undocumented.

> Also the test in northbridge_get_tseg_base() (used everytime top of the 
> memory is needed):
>
> https://elixir.bootlin.com/coreboot/4.16/source/src/northbridge/intel/i945/memmap.c#L39
>
> if (pci_read_config8(HOST_BRIDGE, DEVEN) & (DEVEN_D2F0 | DEVEN_D2F1))
> /* IGD enabled, get top of Memory from BSM register */
> tom = pci_read_config32(IGD_DEV, BSM);
>
> If only DEVEN_D2F1 is enabled, the test will succeed, but as the IGD_DEV is 
> now disabled by DEVEN_D2F0 it will read garbage data for the global "top of 
> the memory" value.

Having D2F1 enabled without D2F0 being enabled is not allowed by the
PCI specification. Function 0 of multi-function devices must always be
implemented.

> I've sort of solved the missing initialization problem with CMOS config entry 
> in mainboard_romstage_entry():
>
> switch (get_uint_option("igd_en", 1)) {
> case 0:
> //disable
> pci_and_config32(HOST_BRIDGE, DEVEN, ~(DEVEN_D2F0 | 
> DEVEN_D2F1));
> break;
> case 2:
> //enable func0 only ??? TEST
> pci_update_config16(HOST_BRIDGE, DEVEN, 
> ~(DEVEN_D2F1), DEVEN_D2F0);
> break;
> case 1:
> default:
> //enabled both
> pci_or_config32(HOST_BRIDGE, DEVEN, DEVEN_D2F0 | 
> DEVEN_D2F1);
> break;
> }
>
> sdram_initialize( ...
>
> RFC:
>
> Is this approach OK? Of course the patch will need to cover the if (0) tests 
> and skip access to missing PCI devices. Does anybody know if GCFC (Graphics 
> Clock Frequency Control) register (i945 datasheet, section 8.1.35, page 296) 
> needs to be explicitly disabled when IGD PCIe access is disabled by DEVEN 
> bits or do I need to enable IGD PCIe access with DEVEN, disable clocks in 
> GCFC and then disable IGD PCIe access again with DEVEN bits?

Unless you need to disable cdclk and crclk (the two graphics clocks
controlled by GCFC, as I see in the document number 309219-006) for
some reason, I wouldn't worry too much about the GCFC details. Your
approach looks reasonable, I'd remove the "func0 only" case for
simplicity. I think the existing code should be able to handle this
properly.

> Similar to GCFC settings without enabled IGD PCIe access. There are many 
> registers in affected code, which doesn't have a name/description in the i945 
> datasheet. Does anybody know their function? It could help to determine if 
> they needs to be set even when IGD will be disabled.

Ah yes, the magic registers. They're not publicly documented (I think
the i945 code was initially written based on information in
confidential documents), and I'm not sure if anyone still has access
to that information.

> Best regards,
> Petr
> 

[coreboot] Re: Can coreboot run on a Dell Wyse 3290 or 3030?

2022-04-25 Thread Angel Pons
Hi,

On Sat, Apr 23, 2022 at 11:37 AM Peter Stuge  wrote:
>
> Martin Butt wrote:
> > Do you know if Coreboot would work on either of these systems?
> ..
> > Both the 3290 and the 3030 CPUs are a Intel Celeron N2807 1.58GHz
>
> That's the CPU marketing name which in firmware like coreboot doesn't
> mean much. What matters is that this is a Bay Trail platform.

Yes, it's a Bay Trail platform.

> > From a visual inspection, the only difference between the boards of the two
> > models is that the BIOS chip is different. The 3029 is a Winbond 25Q64FVSIG
> > (or a 25Q64FWSIG, the chip is hard to read). The 3030 is a Macronix
> > MX25U6435F.
>
> The 25Q64 chip is unproblematic. flashrom mentiones an OTP region in
> the MX chip, I would investigate if and how that is being used, if
> the OTP lies within the 8 Mbyte then that could be a problem and
> you'd have to replace the chip by soldering.

I've never seen the OTP being used in any x86 systems. Note that these
SPI flash chips run at 1.8V, not the usual 3.3V that most programmers
provide.

> (If you need to replace a chip: cut its pins flush with the black
> package so that you can first remove the package and then use a
> soldering iron to remove one pin at a time. Clean the pads with
> solder wick and then solder a new chip in.)
>
> > flashrom v1.2 on Linux 5.13.0-30-generic (x86_64)
> ..
> > Found chipset "Intel Bay Trail" with PCI ID 8086:0f1c.
>
> I know that coreboot *has* had *some* support for Bay Trail, IIRC
> the minnowmax board, IIRC that was the very first attempt at using
> Intel's FSP blob in coreboot and I think it did work but it wasn't
> a great success. You'd have to investigate.

Support for the Bay Trail FSP was dropped from coreboot after the 4.11
release because it's impossible to implement the postcar stage with
FSP 1.0 (see 4.12 release notes). However, coreboot still has Bay
Trail support using the MRC.bin blob from Chromebooks (the refcode.elf
blob used to be required as well, but it was reimplemented as native
coreboot code). You can use `mainboard/bostentech/gbyt4` as an example
coreboot port for a Bay Trail board.

> Kind regards
>
> //Peter
> ___
> coreboot mailing list -- coreboot@coreboot.org
> To unsubscribe send an email to coreboot-le...@coreboot.org

Best regards,
Angel
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: [coreboot][GSoC] idea for a proposal project porting to a Thinkpad AMD Ryzen 3rd gen machine

2022-04-03 Thread Angel Pons
Hi Lahfa Samy,

I was a GSoC student in 2020. I had already been a coreboot
contributor for some time, so I came up with a project idea of my own:
add support for Intel Bay Trail to libgfxinit (see
https://blogs.coreboot.org/blog/2020/08/31/gsoc-libgfxinit-add-support-for-bay-trail/
for details). In a nutshell, I decided to implement support for "new"
hardware. I eventually managed to make things work, but just in the
nick of time. And I wasn't able to test everything (most notably
DP/eDP) as I only had one board to test things with. Hmmm, this
reminds me I should revisit these patches and get them submitted.

In general, adding support for new (i.e. not yet supported) hardware
involves some degree of trial and error. This largely depends on how
much the hardware being ported differs from already-supported hardware
and how much documentation/resources are available. Here's some
examples (they're Intel-specific because that's what I'm most familiar
with):

- Porting an Asus LGA1155 (the socket for Intel Sandy/Ivy Bridge CPUs)
desktop mainboard is (relatively) very easy: coreboot's Sandy/Ivy
Bridge code has been tested on many different mainboards (Chromebooks,
ThinkPads, other laptops, desktops and even entry-level servers with
the same LGA1155 socket), including a dozen Asus LGA1155 desktop
mainboards that can be used as reference. I've done Sandy/Ivy Bridge
mainboard ports that booted successfully on the first try.
- Porting a Sandy/Ivy Bridge laptop is more complicated because one
also needs to add support for its EC (which largely consists of trial
and error), but getting to the point where coreboot can boot to OS
should still be rather easy in most (but not all) cases. In some
cases, the EC firmware is on the same flash chip as the x86 boot
firmware, so one has to avoid overwriting the EC firmware when
flashing coreboot.
- Porting a mainboard with an Intel Denverton-NS SoC is substantially
more difficult, as parts of hardware init are done by the FSP
(Firmware Support Package) blob. FSP is only publicly available as a
binary, the source code is only available under NDA (Non-Disclosure
Agreement). Moreover, upstream coreboot only supports two mainboards:
scaleway/tagada and intel/harcuvar (an Intel reference board, and it's
not a good example of a mainboard port). AIUI, most Denverton-NS
development happens downstream, in forks that never get upstreamed.
So, as very little Denverton-NS development happens upstream, most
(upstream) developers don't really know about it, and porting such a
board involves significantly more trial and error (and/or having
access to NDA-only resources from Intel).
- Porting a mainboard with an unsupported Intel chipset is extremely
difficult and time-consuming (unless one has access to (normally,
NDA-only) information that describes what needs to be done to
initialize the chipset, then it's a matter of writing the code and
making sure it works). While the high-level flow may be known, the
hardware-specific initialisation steps are essentially arcane magic.
RAM initialisation is by far the most complex thing that chipset code
needs to do, and it's strictly required (can't do much without working
RAM). AFAIK, the coreboot code for Intel Westmere (1st-gen Core iX)
processors was written without access to NDA-only documentation, but
from knowledge acquired through reverse engineering tools like
SerialICE (and some parts were borrowed from Sandy/Ivy Bridge code). I
don't know how long this took, but it definitely wasn't quick. And
while the code seems to work fine on several laptops I've tried to
port, it doesn't work on desktop processors (I'm still trying to
figure out why).

Another thing to note: looks like some of your ideas assume that
hardware-based firmware verification mechanisms (e.g. AMD PSB, Intel
Boot Guard) can somehow be bypassed. If this assumption can't be
proved by the time the GSoC work period ends, the student doing the
project will have absolutely nothing to show for it, which would be
tragic. In contrast, most project ideas listed in
https://doc.coreboot.org/contributing/project_ideas.html can provide
results even when they haven't been fully completed.

On Thu, Mar 31, 2022 at 10:00 PM Lahfa Samy  wrote:
>
> Hi all Coreboot folks,
>
> I'm a first year graduate student in CS, been hanging around on #coreboot IRC 
> (Libera.Chat server) and was thinking if it was possible or not to port 
> Coreboot to a Thinkpad T495 (AMD Ryzen 7 3700U PRO) manufactured in May 2019, 
> I successfully dumped the BIOS using flashrom internally, see 
> `flashrom_info.log` and 'flashrom_info.err.log`.

I'm afraid that it's not as easy as it sounds. While coreboot has some
code for AMD Zen-based platforms, it's specifically designed to be
used with Chromebooks. The Ryzen 7 PRO 3700U is a Picasso SoC, so one
could try using the existing coreboot code (and blobs: part of
hardware init is done by AGESA code inside binary-only FSP, which runs
on the x86 cores). However, I think the Ch

[coreboot] Re: Memory Down approach Error on intel Denverton board

2022-01-24 Thread Angel Pons
Hi,

On Mon, Jan 24, 2022 at 8:26 AM Ganesh Kumar C via coreboot
 wrote:
>
> Hi MariuszX,
>
>
> Thanks for you time .
>
>
> Yes . I have added the below  memoryDownConfig struct in
>
> src/mainboard/intel/harcuvar/romstage.c file .
>
> const MEMORY_DOWN_CONFIG mMemoryDownConfig = {
> .SlotState = {
> {STATE_MEMORY_DOWN, STATE_MEMORY_SLOT},
> {STATE_MEMORY_SLOT, STATE_MEMORY_SLOT}
> },
> .SpdDataLen = MAX_SPD_BYTES, //512
> .SpdDataPtr = {
> {(void *)CONFIG_SPD_LOC, (void *)NULL},
> {(void *)NULL, (void *)NULL}
> }
> };

Looks like the Harcuvar memory down code has never been tested,
there's no way it can work as-is. Moreover, documenting code changes
in comments is a terrible idea, because comments aren't compiled.

It's not a good idea to directly access files inside CBFS (for
example, spd.bin is in CBFS) via a hardcoded address (`CONFIG_SPD_LOC`
in this case), as it completely bypasses the CBFS API: nothing
guarantees that the expected data will always be at that address,
there's no way to know the size of the file at runtime and prevents
making use of CBFS security features such as file measurement and
TOCTOU safety (IIRC, it's still work in progress). The right way to
fetch the SPD data using the CBFS API is already implemented in
`src/mainboard/intel/harcuvar/spd/spd.c` function
`mainboard_find_spd_data()`, but the returned pointer is not used in
the code.

I just made https://review.coreboot.org/61341 to show how to do it The
Right Way. Let me know if the implementation from my change works for
you.

> Regards
>
> Ganeshc

Best regards,
Angel
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: Denverton-NS refactoring

2022-01-08 Thread Angel Pons
Hi Jeff,

On Fri, Jan 7, 2022 at 5:13 AM Jeff Daly  wrote:
>
> Another thing I'd like to say (and it's probably pretty obvious once the 
> majority of the commits start coming through) is that a lot of work has been 
> done for this.  In order to make the commit chunks more logical in their 
> grouping will require that the build will end up breaking because changes in 
> one area will break another.  I started by submitting the changes to the 
> ifdtool because that's independent of the rest, followed by the changes to 
> the southbridge/firmware area because again it won't break anything.  Next, 
> is the pci_ids.h because it's just letting everyone know that I'm changing 
> the names globally (which of course will break the build).
> The majority of the change is soc/intel/denverton_ns so that commit will be a 
> logical group, without worrying about platforms (again will break the build 
> because the mainboards depend on it), and lastly I'll submit the 
> mainboards/intel/harcuvar in order to have an example of a platform (and not 
> break the build if all the other commits before it are part of the build.)  
> since it look that the buildbot will try and build for each individual commit 
> vs applying an entire set of commits and building, you'll either have to live 
> with the breakage until everything is reviewed before applying everything all 
> at once and fixing it again or someone can point me to an example of how 
> doing a major overhaul like this would be usable.  Normally I'd make a branch 
> and do it that way, but it seems that's not the way to do it in this 
> environment?  Or did I miss something and I can actually create and push a 
> branch of my own into this repo?

I'm afraid you'll have to restructure your work. Are these commits
publicly visible somewhere? If not, you can push them to
review.coreboot.org (just for reference, create new changes for the
redesigned ). It's hard for me to give concrete suggestions without
seeing the code, but I'll happily provide suggestions on how to
restructure your work into upstreamable changes.

We don't do any merges with Gerrit, so every commit needs to build
successfully to get submitted. This is very useful when doing a git
bisect to troubleshoot a regression: if the faulty commit got
submitted amidst the commits of a patch train that only builds
successfully at the end, one would need to fix the build errors while
bisecting, with the risk of introducing new bugs which would make it
harder to identify where the original problem is. When a commit
doesn't break building but results in runtime problems (e.g. boot
failure), we call this a regression and we address regressions by
either fixing the issue if it's easy to find (e.g.
https://review.coreboot.org/55289 used the wrong variable and caused
boot issues, https://review.coreboot.org/58558 fixed it) or by
reverting the problematic commit.

Also, note that intel/harcuvar isn't the only Denverton-NS in the
tree: scaleway/tagada would also need to be updated so that it builds
successfully. In our workflow, changes to non-mainboard code that
impact mainboard code also have to adapt mainboards accordingly. Yes,
this is quite annoying when many boards are affected, but having to
fix broken boards after non-mainboard code changes didn't update all
affected boards accordingly is much worse by several orders of
magnitude. Typically, the changes to mainboard code are only annoying
because of their repetitive nature, but this shouldn't be an issue for
Denverton-NS as there's only two boards in the tree.
https://review.coreboot.org/49088 and
https://review.coreboot.org/49089 are two examples of
non-mainboard-code changes that affect mainboard code. Yes, I could've
done this using only one commit, but I think it's easier to review the
changes to mainboard code this way: the first commit just removes
`cX_battery` settings under the premise that they have the same value
as the corresponding `cX_acpower` settings, and the second commit just
renames the `cX_acpower` settings to `acpi_cX`.

In most cases, it's best to make one commit per logical change, where
intermediate states still work even if they're incomplete. When a
commit message has a "list of changes" or similar, it's a sign that it
can likely be split into several commits. If unsure, it's better to
make too many commits and squash some of them later than to make too
few commits and end up having to split them up. Intermediate states of
my patch trains still work (unless I messed up), but can have ugly
things that get fixed later. For example,
https://review.coreboot.org/60937 doesn't unindent the body of the
original if-block because it gets cleaned up later in
https://review.coreboot.org/60938 which is reproducible. A commit is
reproducible if the resulting coreboot.rom when building with
BUILD_TIMELESS=1 (which avoids including some info like commit hash
into the image) is identical before and after the commit, and
verifying this is a great way to

[coreboot] Re: Does PCI driver code belong in coreboot (ARM)?

2021-12-06 Thread Angel Pons
Hi list,

On Mon, Dec 6, 2021 at 7:37 AM Jianjun Wang  wrote:
>
> On Sat, 2021-12-04 at 20:53 +0800, Hung-Te Lin wrote:
> > On Wed, Dec 1, 2021 at 10:08 PM Patrick Georgi 
> > wrote:
> > > 1. Dezember 2021 12:06, "Paul Menzel" 
> > > schrieb:
> > > > If I remember correctly, coreboot’s goal to only do minimal
> > > > hardware
> > > > initialization originally meant, that the payload/OS does PCI
> > > > initialization.
> > >
> > > The original idea was to boot into Linux (hence LinuxBIOS, back in
> > > the day). coreboot is very different from this scheme, see the
> > > presence of payloads that aren't Linux.
> > >
> > > > Should PCI support be added to coreboot for ARM, so it’s aligned
> > > > with
> > > > x86?
> > > > Should coreboot stay minimal on ARM, for example PCI code adds
> > > > 100 ms delay [4]?

Paul, coreboot would "stay minimal" if that PCI code was moved into
depthcharge as-is, but the 100ms delay would still be there and other
payloads would be missing PCI init. I'm pretty sure this isn't what
you want, though.

> >   Need to check with MTK folks, but I'd assume the 100ms will be
> > eliminated in the end, or re-implemented as early-init (and do the
> > rest in depthcharge).

I don't think any of the PCI code belongs into depthcharge. I'm pretty
sure it can be integrated better to leverage the existing coreboot
infrastructure, e.g. the resource allocator and the devicetree.

> Agree, this 100ms is defined by the PCI specification, remove it
> directly will cause some compatibility issues, but I think we can put
> this flow in the early stage to reduce its impact.

As I understand the spec, 100ms is the *minimum* delay before PERST#
de-assertion, so it's possible to use a longer delay while doing
something else in the meantime. One way to implement this would be to
assert PERST# early and do some other initialisation in the meantime,
e.g. memory init. To ensure that at least 100ms have elapsed, a
stopwatch from `src/include/timer.h` is very convenient.

> > > > PCI drivers then have to be added to the payloads, which
> > > > could be a minimal Linux kernel, so that booting from drives
> > > > connected
> > > > over PCI is possible?
> > >
> > > The only option I see for getting rid of PCI support on ARM is to
> > > remodel the relationships between coreboot, the payload and the OS.
> > > Reminds me that I wanted to build a proof-of-concept for
> > > chainloaded payloads, a concept that might help with such a
> > > redesign because we could move things out of coreboot to
> > > "elsewhere" (wherever that might be) piece by piece.
> > >
> > > But as is, if there are PCI(e) devices that need early init,
> > > coreboot is the place to put these drivers.
> >
> >   Agree with Patrick - many eMMC devices do need early init, so in
> > the
> > end we still have to put some eMMC code in Coreboot,
> >   and I'd assume that will be the same situation for PCI-e (NVMe) and
> > UFS.

I don't know what this "early init" consists of, but it sounds like
something that should be done in coreboot. It could possibly be done
in a passthrough/chainloaded payload (which would do late ramstage
init), but it wouldn't really make much of a difference. The idea is
to start abstracting the hardware so that regular (non-passthrough)
payloads don't need to know hardware-specific details.

Best regards,
Angel
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: Suggestion for deprecation: LEGACY_SMP_INIT & RESOURCE_ALLOCATOR_V3

2021-11-30 Thread Angel Pons
Hi Branden,

On Mon, Nov 29, 2021 at 9:18 PM Branden Waldner  wrote:
>
> I wasn't really sure that I wanted to comment on this, but seeing as
> how I have some of the affected boards I guess I should.

Thank you very much.

>  Angel Pons wrote:
> > Besides AMD AGESA boards, the other boards that need to be updated are 
> > AOpen DXPL
> > Plus-U (a dual-socket server board that uses Netburst Xeons, no other board 
> > in the tree uses
> > the same chipset code) and various Asus P2B boards (which support Pentium 
> > 2/3 CPUs, these
> > boards are older than me). Even though I only know two people who still 
> > have some of these
> > boards (and they don't have the same boards), they're still supported 
> > because the code has
> > been maintained so far.
>
> I am one of the two with Asus P2B boards, with Keith Hui being the
> other. I've got a P2B and a P2-99 and I believe Keith Hui has a
> P2B-LS.
> So far there have not been very many changes and Keith Hui and others
> have worked on them, all I've done is test master and relevant patch
> sets every once in a while.
> I know I have not been uploading board_status results and I have not
> gotten around to fixing the variant set up for the P2-99 so I'm not
> uploading results that are uncertain about which board they are for.
> Not really relevant, but I think it is pretty neat to be running
> coreboot on boards older then some of the contributors.
>
>  Mike Banon wrote:
> > I am often build-testing my boards (didn't notice a
> > https://review.coreboot.org/c/coreboot/+/59636 problem for a while, but 
> > only because I've been
> > re-using the previously built toolchains to save time). Also, I am actively 
> > tech-supporting all the
> > people who would like to build coreboot for AMD boards from this list, even 
> > right now I am in an
> > active message exchange with >10 people who are switching to these boards 
> > to run coreboot
> > on them - and any user may give back to the project one day.
>
> I actually have a few AMD boards and laptops that might be viable for
> porting to, but I've never looked in to it much because of the state
> support is in coreboot and the fact most of the hardware was actively
> being used.
>
>  Arthur Heymans wrote:
> > The first one I'd like to deprecate is LEGACY_SMP_INIT. This also includes 
> > the codepath for
> > SMM_ASEG. This code is used to start APs and do some feature programming on 
> > each AP, but
> > also set up SMM. This has largely been superseded by PARALLEL_MP, which 
> > should be able
> > to cover all use cases of LEGACY_SMP_INIT, with little code changes. The 
> > reason for
> > deprecation is that having 2 codepaths to do the virtually the same 
> > increases maintenance
> > burden on the community a lot, while also being rather confusing.
> >
> > A few things are lacking in PARALLEL_MP init: - Support for !CONFIG_SMP on 
> > single core
> > systems. It's likely easy to extend PARALLEL_MP or write some code that 
> > just does CPU
> > detection on the BSP CPU. - Support smm in the legacy ASEG (0xa - 
> > 0xb) region. A
> > POC showed that it's not that hard to do with PARALLEL_MP
> > https://review.coreboot.org/c/coreboot/+/58700
>
> I didn't even know that was a problem until now. I doubt there is much
> I can do about it myself at this point in time, though I can try to
> look through it I guess.

Looks like Arthur has already implemented some changes to use
PARALLEL_MP on i440bx. As of writing, the patches assume there's only
one CPU (I already pointed out this is incorrect for boards with two
CPU sockets/slots). I'd greatly appreciate if Keith and/or you could
test them on actual hardware. The patches to apply, in order, are:

https://review.coreboot.org/59694
https://review.coreboot.org/59695
https://review.coreboot.org/59692
https://review.coreboot.org/59693

> Branden Waldner
> ___
> coreboot mailing list -- coreboot@coreboot.org
> To unsubscribe send an email to coreboot-le...@coreboot.org

Best regards,
Angel
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: DIP8 flash programming for development

2021-11-27 Thread Angel Pons
Hi Pedro,

On Fri, Nov 26, 2021 at 11:02 PM Pedro Erencia  wrote:
>
> Hi,
>
> I'm thinking about porting coreboot to a FM2A88X Extreme4+ board. This board 
> has a DIP8 flash with a socket and I wondered what would be the best way to 
> do an efficient development cycle. Ideally, I suppose that the best option 
> would be to use a clip test and a CH341A, but all the clips that I found are 
> SOIC/SOP. Should I buy a SOIC clip and an adapter from SOIC to DIP? I've seen 
> those adapters, but I'm not sure if they will fit well in the mobo DIP8 
> socket.

I wouldn't recommend a CH341A for the same reasons Nico explained, and
would suggest the same alternatives.

I've done a lot of development on the Asrock B85M Pro4 (a completely
different board, but also has a socketed DIP8 flash chip) and, for me,
the most efficient development cycle is to use a flash emulator like
the Dediprog EM100. However, flash emulators aren't cheap. Before I
had the EM100, I simply moved the flash chip back and forth by hand,
from the mainboard to a breadboard wired to a CJMCU FT2232HL mini
module (external programmer) and viceversa. I added another DIP8
socket between the flash chip and the mainboard's socket, so that I
could easily and quickly remove and replace the flash chip.

> Aside from the mechanical question, I'd appreciate any advice about the 
> safety of externally programming the board. I don't have the schematics and I 
> wonder if there could be any risk of damaging the board.

If you remove the flash chip from the mainboard to reflash it, it's
practically impossible to damage the board.

> Cheers.
>
> ___
> coreboot mailing list -- coreboot@coreboot.org
> To unsubscribe send an email to coreboot-le...@coreboot.org

Best regards,
Angel
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: Suggestion for deprecation: LEGACY_SMP_INIT & RESOURCE_ALLOCATOR_V3

2021-11-25 Thread Angel Pons
Hi Mike,

I typically don't indulge in mailing list drama, but I'm sick and
tired of seeing people waste their time and energy along with others'.
This is not the first time I've seen something like this: something
similar happened about two years ago when other AMD boards (KGPE-D16
and KCMA-D8, among others) were slated for removal. It was a difficult
decision, but had to be done. I really don't want history to repeat
itself again, but I fear it's going to happen unless there's a change
of attitude right now.

On Thu, Nov 25, 2021 at 4:05 PM Mike Banon  wrote:
>
> > The word 'drop' has ominous connotations, but it's not a deletion. A board 
> > is never really gone.
>
> "Dropping" 50 boards may be ominous in relation to the future of the
> coreboot project:

Note that these boards will only be dropped if no one steps up to
adapt their code accordingly. Moreover, the first deprecation notice
for RESOURCE_ALLOCATOR_V3 was issued as part of the coreboot 4.13
release notes, i.e. last year. The removal was postponed indefinitely
because https://review.coreboot.org/q/topic:amd_resource_allocator_v4
implements the required changes. However, not all patches have landed
yet, and efforts seem to have stalled: as of writing, all but one of
the unmerged changes were last updated in May 2021, and the outlier
was last updated in 2021-06-23. Hopefully, this notice will reactivate
efforts to get these patches submitted without reactivating the local
mailing list volcanoes.

IMHO, lamenting about deprecation notices on the mailing list is
counterproductive: it invests no resources into addressing the root
problem (code needs to be maintained, but isn't), but instead tries to
somehow avoid having to address the root problem by inciting emotional
responses from others, such as anger. In my experience, this is a
recipe for a conflict, a bitterly unpleasant waste of many people's
time and energy for naught, leading to an equally disgraceful
aftermath; a war in which most of the casualties are motives to work
on the project. Wouldn't it be much more useful to, say, work on
adapting the code, add new features or improve existing functionality,
write some documentation, or even check the grammar of the code
comments in the tree?

> 1. These boards will be gone for the people who check the "mainboards
> supported by coreboot" and see only the "new Intel stuff". This
> hinders the coreboot community growth around the "gone boards", and
> also of the coreboot community in general: the fewer boards are
> supported by coreboot, the more difficult it is for a potential
> user/contributor to find the supported board and join us.

In my experience, most people who've contributed didn't have a
supported board. I myself got involved with the coreboot community
because none of the boards I had was supported; about three and a half
years later, I now am one of the most active contributors. I only
tolerated the bugs and limitations of coreboot (let's be honest; we're
not perfect and we don't provide the same features as vendor firmware)
because I was experiencing first-hand how hard firmware development
is. I'm pretty sure I wouldn't be writing this email had one of my
boards already been supported.

Granted, it's nearly impossible for a newcomer to port a board when
its chipset is not supported. The first board I ported is the Asus
P8H61-M PRO, an Intel Sandy/Ivy Bridge desktop board with a serial
port and a socketed DIP8 flash chip. Back then, Sandy/Ivy Bridge was
one of the best-supported platforms (and still is, as of writing).
Several people on IRC (to which I'm forever thankful) helped me port
this board. I only know of one person on IRC that could help porting
an AMD board using AGESA, and there aren't many people who have
AGESA-supported boards.

> 2. It's not just the loss of boards - it's also the loss of coreboot
> users/contributors who only have these boards and don't want to switch
> to anything else: i.e. because the newer coreboot-supported boards
> have Intel ME / AMD PSP that are viewed negatively by many people out
> of security considerations, - and security is one of the top reasons
> why the people switch to coreboot in the first place.

First and foremost, there's support for older Intel boards that don't
require ME firmware or simply don't have a ME at all, and people still
use them. Besides AMD AGESA boards, the other boards that need to be
updated are AOpen DXPL Plus-U (a dual-socket server board that uses
Netburst Xeons, no other board in the tree uses the same chipset code)
and various Asus P2B boards (which support Pentium 2/3 CPUs, these
boards are older than me). Even though I only know two people who
still have some of these boards (and they don't have the same boards),
they're still supported because the code has been maintained so far.

If there are contributors who only have these boards, where are they?
Why aren't they trying to adapt the code? If they don't know how, why
haven't they asked for help on how

[coreboot] Re: Personal challenge | Ramp up on coreboot : Trials on aftermarket X58 motherboards.

2021-11-23 Thread Angel Pons
Hi Mickaël,

On Tue, Nov 23, 2021 at 11:29 AM Master  wrote:
>
> Hello everyone,
>
> I hope you're doing fine
>
> I would like to do some trials to see if I may be able to support few boards 
> I have cause they are aftermarket withoout EFI and without firmware updates 
> and not working as I would like them to.
> (https://askubuntu.com/questions/1370496/cant-boot-latests-lives-for-install-without-kernel-option-noapic-would-like)
> I really would not like to throw them...
>
> They are X58 chipset with ICH10  with Xeon Westmere on socket 1366 and 
> SuperIO NCT5532D.
> (https://www.intel.com/content/dam/doc/datasheet/x58-express-chipset-datasheet.pdf)
> (https://www.intel.com/content/dam/doc/datasheet/io-controller-hub-10-family-datasheet.pdf)
> (https://datasheetspdf.com/pdf-file/1042365/novoTon/NCT5532D/1)

Only the ICH10 southbridge (southbridge/intel/i82801jx) is currently
supported. Neither the CPU nor the X58 IOH are supported. Most of the
complexity is RAM initialization, especially because Intel does not
publicly document the relevant registers. It would likely take years
for an experienced developer to implement RAM init in coreboot.

The NCT5532D Super I/O isn't supported either, but it's easy to add
support for it using the datasheet.

> I have the tooling to backup and restore the flash and already done that few 
> time.
> I have built latest coreboot (4.14 using lenovo x201 config) with EDK2 
> firmware as payload (edk2-stable202108 NOOPT) successfully but nothing is 
> happening after flash swap and power on.

Flashing a firmware image for a different board is a bad idea. In
extreme cases, incompatible GPIO configuration can result in
short-circuits. It's unlikely, though.

> I have RS232 debug working at ttyS0 (at I/O 0x3f8 (irq = 4, base_baud = 
> 115200) is a 16550A)
> From the original firmware, just after power on, even before any bip or 
> display or keyboard light I see "Socket = 0" on serial, so the the original 
> firmware is able to output to this serial very early.
>
> I read quite a lot of literature about coreboot, but still, I am not sure how 
> to pursue now.

It's hard. I can give you general ideas on how to proceed (I'm pretty
sure we can get coreboot to print something over RS232), but RAM init
is still a major roadblock. Once serial output is working, it's
possible to use SerialICE to gather useful information to reimplement
RAM init.

> Thanks in advance,
> Have a nice day,
> Best Regards,
> Mickaël.
> ___
> coreboot mailing list -- coreboot@coreboot.org
> To unsubscribe send an email to coreboot-le...@coreboot.org

Best regards,
Angel
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: Does the mrc.bin extracted from BayTrail-M chromebox work with BayTrail-D celeron J1900

2021-11-04 Thread Angel Pons
Hello,

On Thu, Nov 4, 2021 at 8:58 AM Simon Newton  wrote:
>
> Hi there
> Yes it does. Rename mrc.bin to mrc.elf

Yes, the latest Bay Trail MRC binaries are ELF files, so their entry
point is not at the beginning of the file. MRC's position in flash
needs to be adjusted accordingly using the data in the ELF header.
However, the Makefile only does this if the filename contains `elf`
somewhere. https://review.coreboot.org/57989 removed the filename
check, but it's not in the coreboot 4.14 release. Things like this are
the reason why using the master branch for development is best (in
most cases; there are exceptions, but this isn't one of them).

> Regards
>
> On Thu, 4 Nov 2021 at 08:45, Zhiwen Zheng  wrote:
>>
>> Hi,
>>
>> I am trying to add a mainboard using celeron J1900 to coreboot-4.14, the 
>> serial console output stops after entering the MRC. The mrc.bin I used is 
>> extracted from Mrchromebox's roms for baytrail based chromebooks.

Yes, Bay Trail MRC works with the Celeron J1900, I know for sure
because I've tried it myself. I started porting the Asrock Q1900M
mainboard many months ago, https://review.coreboot.org/39658 contains
the code. It's been over a year since I last updated this change, so
it's very likely that it doesn't build on current coreboot.

I had to work around several MRC limitations to successfully boot
coreboot on my Asrock Q1900M. The first limitation is that MRC can't
read SPDs over SMBus, but https://review.coreboot.org/44092 already
addresses this. The relevant code is in romstage.c after the `/* Patch
memory type and voltage settings to make MRC happy */` comment on line
25, which overwrites some SPD information. The code does two things:

1. Bay Trail MRC refuses to work with the regular size DIMMs the
Asrock Q1900M uses. Override the module type to SO-DIMM by patching
byte 3 (Key Byte/Module Type).
2. Bay Trail MRC refuses to train DDR3 DIMMs that do not support 1.35V
operation. Patch byte 6 (Module Nominal Voltage, VDD) to bypass this.
Vendor firmware works properly with the same DIMMs.

While I was typing this, I noticed your latest reply. If RAM init
succeeded, then the above workarounds aren't needed. Still, someone
else might find this information useful in the future.

>> ___
>> coreboot mailing list -- coreboot@coreboot.org
>> To unsubscribe send an email to coreboot-le...@coreboot.org
>
> --
> Kind Regards,
>
> Simon Newton
>
> E: simon.new...@gmail.com
> ___
> coreboot mailing list -- coreboot@coreboot.org
> To unsubscribe send an email to coreboot-le...@coreboot.org

Best regards,
Angel
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: Installing OpenBIOS/coreboot

2021-11-02 Thread Angel Pons
Hi Bernd,

On Tue, Nov 2, 2021 at 12:08 PM bernd...@web.de  wrote:
>
> Hi. Just to ensure I don't go in the wrong direction: If I follow these 
> instructions https://doc.coreboot.org/tutorial/part1.html do I install 
> coreboot with OpenBIOS (because I've read something with SeaBIOS or so)?

These instructions build a coreboot image with coreinfo as a payload
and run it on the QEMU virtual machine. They're a guide to get started
with coreboot. If your goal is to install coreboot on an x86 system
while keeping it simple, don't go with OpenBIOS. The simplest
configuration is coreboot with the SeaBIOS payload. Feel free to try
SeaBIOS with QEMU, experiment without any risks.

Installing coreboot on actual hardware is more complex. Unlike
operating systems (Windows, Linux...), coreboot is tightly coupled to
the hardware it runs on, so it's not possible to simply "install
coreboot" on any computer using a generic procedure. Instead, coreboot
needs to be flashed to a flash chip on the mainboard, and the best
flashing procedure is mainboard-dependent. For example, the X220 can
easily be flashed externally with a SPI programmer and a SOIC-8 chip
clip, but applying the same procedure on an X230 is very likely to
cause problems (and recovery is even more complicated).

> Regards,
>
> Bernd___
> coreboot mailing list -- coreboot@coreboot.org
> To unsubscribe send an email to coreboot-le...@coreboot.org

Best regards,
Angel
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: Installing OpenBIOS/coreboot

2021-11-02 Thread Angel Pons
Hi ___ (hmmm, I don't
think this is your name),

On Tue, Nov 2, 2021 at 11:19 AM bernd...@web.de  wrote:
>
> Hi. I follow these instructions:
>
> https://doc.coreboot.org/tutorial/part1.html
>
> I'm on Step 5 - Configure the build > Check your configuration (optional 
> step):
>
> I did
>
> $ make savedefconfig
> $ cat defconfig
>
> The instructions say:
>
> "There should only be two lines (or 3 if you’re using the system toolchain):
>
> CONFIG_PAYLOAD_ELF=y
> CONFIG_PAYLOAD_FILE="payloads/coreinfo/build/coreinfo.elf""
>
> I'm not using the system toolchain. There are the following 9 lines (instead 
> of only two):
>
> CONFIG_CBFS_SIZE=0x0004
> CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x2
> CONFIG_UART_PCI_ADDR=0x0
> CONFIG_SUBSYSTEM_VENDOR_ID=0x
> CONFIG_SUBSYSTEM_DEVICE_ID=0x
> CONFIG_CONSOLE_QEMU_DEBUGCON_PORT=0x402
> CONFIG_POST_IO_PORT=0x80
> CONFIG_PAYLOAD_ELF=y
> CONFIG_PAYLOAD_FILE="payloads/coreinfo/build/coreinfo.elf"
>
> Why do I get 9 lines (instead of only two) and is that a problem or could I 
> go on with the instructions?

Extra lines appear in defconfigs because of a recent regression, if I
recall correctly. In any case, your config looks correct, you can go
on with the instructions.

> Regards,___
> coreboot mailing list -- coreboot@coreboot.org
> To unsubscribe send an email to coreboot-le...@coreboot.org

Best regards,
Angel
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: ECC in native ram init? (sandy/ivy)

2021-09-08 Thread Angel Pons
Hi Matt, list,

On Wed, Sep 8, 2021 at 3:29 PM Matt B  wrote:
>
> Would an Ivybridge CPU even be expected to work with RDIMMs? Was this 
> something anticipated when native raminit was written?

I don't think so. RDIMMs have higher latencies and very likely exceed
the maximum value that can be programmed into the chipset's timing
registers. Native raminit doesn't account for RDIMMs at all.

> -Matt

Best regards,
Angel
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: Firmware another laptop

2021-08-19 Thread Angel Pons
Hi Stefano, Keith, list,

On Thu, Aug 19, 2021 at 10:17 PM Keith Emery
 wrote:
>
> I think you meant to ask if it's possible to do. That can't be answered 
> without more information about the hardware... A lot more.
>
> At a minimum the precise model of mainboard, or a precise model number.
>
> On 20/8/21 12:02 am, Stefano via coreboot wrote:
>
> Good morning I can install the coreboot firmware on my dell alienware 17 with 
> Linux mint (updated to the latest version)?

No Dell Alienware laptops are currently supported, so no, you can't
just install coreboot on it. It might be possible to port it (make
coreboot work on it), but laptops are pretty hard to port because of
the embedded controller: an often-undocumented microcontroller running
proprietary firmware.

> Best regards
> Stefano
>
> ___
> coreboot mailing list -- coreboot@coreboot.org
> To unsubscribe send an email to coreboot-le...@coreboot.org
>
> ___
> coreboot mailing list -- coreboot@coreboot.org
> To unsubscribe send an email to coreboot-le...@coreboot.org

Best regards,
Angel
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: coreboot-4.8.1 ... mce errors

2021-06-11 Thread Angel Pons
Hi Nico, Sven,

On Fri, Jun 11, 2021 at 9:19 AM Nico Huber  wrote:
>
> Hi Sven,
>
> On 11.06.21 00:55, Sven Semmler wrote:
> > On my ThinkPad T430 running Coreboot-4.8.1 as part of an Heads install,
> > I see these error messages when turning on the PC:
> >
> > mce: [Hardware Error]: CPU 0: Machine Check: 0 Bank: 7: ee2000
> > 3110a
> > mce: [Hardware Error]: TSC 0 ADDR fefe78c0 MISC 388086
> > mce: [Hardware Error]: PROCESSOR 0:306a9 TIME 1622589409 SOCKET 0
> > mce: [Hardware Error]: CPU 0: Machine Check: 0 Bank: 8: ee2000
> > 3110a
> > mce: [Hardware Error]: TSC 0 ADDR fefe7880 MISC 388086
> > mce: [Hardware Error]: PROCESSOR 0:306a9 TIME 1622589409 SOCKET 0
> > APIC 0 microcode 1f
> >
> > I do not think it is an issue with the actual RAM:
>
> Indeed, this is not about the actual (D)RAM. One can tell by the
> address already, 0xfefe this is part of what we call I/O hole,
> a region reserved from the memory address space for different purposes.
>
> More specifically, 0xfefe..0xfeff is a range used for cache-
> as-ram (CAR) which is a mode where the processor cache is used as RAM
> before the actual DRAM is available.
>
> I have seen these MCEs before, but never investigated. They might affect
> the stability of coreboot, but it seems less likely that they affect the
> running OS once the system succeeded to boot.

They look a lot like what https://review.coreboot.org/28443 fixed. You
could check if commit dfaff4d18a711f764c9198f488435fdc553dcea2 exists
on 4.8.1 (if it does not, there's your problem).

Also, have you considered using a more recent coreboot version? 4.8.1
is over three years old, and the ThinkPad T430 is still supported on
all newer releases (latest is 4.14).

> Nico

Best regards,
Angel
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: link time optimization testing

2021-06-01 Thread Angel Pons
Hi Branden, list,

On Tue, Jun 1, 2021 at 2:10 AM Branden Waldner  wrote:
>
> The LTO patches seem to both compile and work/boot for me on the p2b.
>
> I built it both on a debian sid x86_64 system and on the gentoo i686
> setup I currently have for the p2b, both with the coreboot
> crossgcc-i386 toolchain.

That's great to hear. I hope you didn't need to build crossgcc-i386 on
the P2B, though! :P

> It looks like it uses the system linker though (or something similiar,
> I don't remember exactly), at least according to the executable path
> it shows in the build log. I'm not sure if that's actually what's
> desired or if I'm just misinterpreting something.

It might be intentional, but it's not desired: using the system
toolchain to build coreboot will wreak havoc when cross-compiling.

> It still looks like it needs more test reports yet, though I guess I'm
> not helping either by not commenting on gerrit.

Yes, it needs more test reports. It would be great if you could
comment on the Gerrit change, so as to keep all test reports in one
place.

> Branden

Best regards,
Angel
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: What should we do about freenode IRC services?

2021-05-27 Thread Angel Pons
Hi,

On Thu, May 27, 2021 at 10:05 AM Patrick Georgi  wrote:
>
> For that reason I created https://review.coreboot.org/c/coreboot/+/55010 and 
> https://review.coreboot.org/c/coreboot/+/55011 that retarget IRC links to 
> libera.chat, promote the Matrix bridge and the Discord presence.

Last link doesn't work, try with: https://review.coreboot.org/c/homepage/+/55011

> Regards,
> Patrick

Best regards,
Angel
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: What should we do about freenode IRC services?

2021-05-27 Thread Angel Pons
Hi list,

On Thu, May 27, 2021 at 12:39 AM Stefan Reinauer
 wrote:
>
> On Tue, May 25, 2021 at 6:01 AM Patrick Georgi via coreboot 
>  wrote:
>>
>> Hi everybody,
>>
>> you might have heard that freenode.org recently changed management under
>> weird circumstances. Given that we use their services for our project
>> chat, this concerns us as well.
>>
>> In last week's leadership meeting we had a wide variety of opinions: To
>> go for libera.chat (a network created by former freenode staff), some
>> other IRC network, to leave IRC behind and go for something newer and
>> Matrix and Mattermost have been brought up as examples of where this
>> might lead. Of course, we could also decide to stay on freenode,
>> although from what transpires that option seems less and less attractive
>> every day.
>>
>> So, what should we do?

I'd suggest moving to Libera. I think the Matrix bridge to Libera is
running now.

> As we are present on a number of social media, I want to throw in another 
> option - which some folks will love, and others will hate - and that's 
> perfectly fine. This community has grown enough that there will never be a 
> one size fits all again:
>
> Discord
>
> It can both be accessed in a web browser or through a mobile app. I started a 
> "Discord Server" for us there. If you want to come check it out, join us 
> through https://discord.gg/JqT8NM5Zbg

Sure, we can have both IRC and Discord.

>  Stefan
>>
>> Regards,
>> Patrick

On Thu, May 27, 2021 at 9:23 AM Urja Rannikko  wrote:
>
> > > Currently, on libera there are 46 people and on OFTC 2 people (me 
> > > included).
> > >
> > > So I would say let's move to libera.
> >
> > Agreed. Let’s do what most members in #coreboot users already did.
> +1
>
> I know I'm not a regular contributor or anything, but fwiw currently
> the only channels keeping me connected to freenode are #coreboot and
> #flashrom (I assume flashrom will just tag along where coreboot goes),
> so .. let's go, we've watched this long enough.

Yes, definitely. It wouldn't make sense to have #coreboot on one IRC
server and #flashrom on another.

> --
> Urja Rannikko

Best regards,
Angel
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: Yangling/ FW6C board with different SUPERIO CHIP, I found the problem

2021-05-14 Thread Angel Pons
Hi,

On Fri, May 14, 2021 at 7:38 PM lain via coreboot  wrote:
>
> Probing for ITE Super I/O (init=standard) at 0x2e...
>   Failed. Returned data: id=0x8613, rev=0x8

superiotool doesn't know about the IT8613E, but looks like there's one.

Best regards,
Angel
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: Intent to release coreboot 4.14 on May 10

2021-04-26 Thread Angel Pons
Hi Patrick, list,

On Mon, Apr 26, 2021 at 3:12 PM Patrick Georgi via coreboot
 wrote:
>
> Hi everybody,
>
> This email starts the release process for coreboot 4.14, so we're now at the 
> "~2 weeks prior to release" step in our 
> https://doc.coreboot.org/releases/checklist.html
>
> As usual, our releases don't denote any particular feature or stability 
> milestone, they only serve two purposes:
> 1. Avoid the impression that coreboot is dead - an idea that actually came up 
> before we started doing time-based releases
> 2. Provide anchor points that downstream coreboot users can use to base their 
> work against if they wish to do so
>
> What everybody can do: Consider testing the devices you have against our 
> current master branch, send in board-status reports so boards are known-good 
> in https://coreboot.org/status/board-status.html, report or, even better, fix 
> issues you encounter.

Stoney Ridge fails to boot since https://review.coreboot.org/51723
landed. Something would need to be done about it before the release,
most likely a revert.

> As a developer, please consider if your large scale tree change can wait for 
> after the release so that the tree can settle down a bit. But also, if you 
> have large changes that are waiting (such as toolchain updates), you could 
> already start to bring them in shape to merge after the release!
>
> Also, please check out the release notes in 
> Documentation/releases/coreboot-4.14-relnotes.md to see if any notable work 
> of the last 6 months is missing there. Addition and deletion of mainboards 
> and SoCs will be added shortly before the release with script assistance, but 
> everything else won't be. Patches to extend our release notes are appreciated!

I'm be glad to review any patches to the release notes, simply add me
as a reviewer or poke me on IRC (hell__).

> Thanks y'all for making coreboot what it is now. As a release manager I'll 
> merely put another label on it :-)
>
>
> Best regards,
> Patrick
> --
> Google Germany GmbH, ABC-Str. 19, 20354 Hamburg
> Registergericht und -nummer: Hamburg, HRB 86891, Sitz der Gesellschaft: 
> Hamburg
> Geschäftsführer: Paul Manicle, Halimah DeLaine Prado
> ___
> coreboot mailing list -- coreboot@coreboot.org
> To unsubscribe send an email to coreboot-le...@coreboot.org

Best regards,
Angel
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: HP compaq 8200 compatability

2021-04-12 Thread Angel Pons
Hi Peter, list,

On Mon, Apr 12, 2021 at 12:06 PM Peter Stuge  wrote:
>
> ppbruhuwu--- via coreboot wrote:
> > Hello so i was talking to my friend about coreboot but i saw that
> > only the SFF version of the compaq 8200 was compatible and so i
> > wanted to know why that is?
>
> Those adding that code were only interested in supporting that model.

Or only had a SFF model to test things on.

> > Also will coreboot be available for the compaq 8200 in the future?
>
> It could, if you or someone else makes it happen. If you're interested
> then you should not wait for someone else to do it for you, since
> that's unlikely.

It shouldn't be too hard to add support for the other form factors.
After making sure the GPIO settings match (use util/autoport and
compare the gpio.c files), it might be as simple as enabling a few
devices in the devicetree.

> //Peter
> ___
> coreboot mailing list -- coreboot@coreboot.org
> To unsubscribe send an email to coreboot-le...@coreboot.org

Best regards,

Angel
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: problem after "convert to ASL 2.0"

2021-04-06 Thread Angel Pons
Hi Andrew, list

On Tue, Apr 6, 2021 at 6:52 PM Andrew A. I.  wrote:
>
> Hello, Elyes!
> After "Convert to ASL 2.0 syntax" set of commits to current coreboot branch, 
> i lost the data of battery current on BAT state from:
> cat /sys/class/power_supply/BAT0/current_now
> 0
> On AC state (charging) data is present:
> cat /sys/class/power_supply/BAT0/current_now
> 1346000
> Checkout to coreboot tag/4.13 is fixing the problem.
> But system was very unstable with:
>
> Apr  4 23:45:06 tp0 kernel: [   60.868922] BUG: unable to handle page fault 
> for address: 00ccfffc
> Apr  4 23:45:06 tp0 kernel: [   60.868992] #PF: supervisor read access in 
> kernel mode
> Apr  4 23:45:06 tp0 kernel: [   60.869033] #PF: error_code(0x) - 
> not-present page
> Apr  4 23:45:06 tp0 kernel: [   60.869074] PGD 0 P4D 0
> Apr  4 23:45:06 tp0 kernel: [   60.869102] Oops:  [#1] SMP PTI
> Apr  4 23:45:06 tp0 kernel: [   60.869134] CPU: 0 PID: 1960 Comm: git 
> Tainted: G U5.10.0-5-amd64 #1 Debian 5.10.24-1
> Apr  4 23:45:06 tp0 kernel: [   60.869261] RIP: 0010:__d_lookup_rcu+0x82/0x170
>
> System:
> Lenovo T420
> coreboot-4.13-2951-g0972871a23-T420
> Debian bullseye/sid
> Battery in main slot
>
> Any ideas?

It's most likely this commit, and I already noticed an issue with it:
https://review.coreboot.org/50317
You can try reverting it to see if the problem gets fixed.

> ___
> coreboot mailing list -- coreboot@coreboot.org
> To unsubscribe send an email to coreboot-le...@coreboot.org

Best regards,

Angel
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: Which of these mini-ITX mainboards is best supported?

2021-02-05 Thread Angel Pons
Hi Andrew,

On Fri, Feb 5, 2021 at 6:06 PM Andrew Luke Nesbit
 wrote:
>
> On 04/02/2021 09:41, Angel Pons wrote:
> > Hi Andrew,
>
> Hi Angel,
>
> Thanks for the reply.
>
> > On Wed, Feb 3, 2021 at 11:46 PM U'll Be King Of The Stars
> >  wrote:
> >>
> >> -   Intel D410PT (doesn't seem to be in current source tree)
> >
> > The D410PT and the D510MO use the same code. Support was added in
> > https://review.coreboot.org/2 (which merely renames the Kconfig
> > option).
>
> I think I misunderstand something...
>
> Are you saying that support for the D410PT came with support for the
> D510MO, but that recent source trees have removed explicit support for
> the D410PT for some reason?  I can't find any reference to D410PT in the
> latest source tree.

If by "explicit" support you mean a dedicated mainboard folder or a
"BOARD_INTEL_D410PT" Kconfig option, there was never one to begin
with. The Gerrit change I linked merely added the model in the
user-visible text of the "BOARD_INTEL_D510MO" Kconfig option, which is
located in `src/mainboard/intel/d510mo/Kconfig.name`.

In other words, the same coreboot config works for both the Intel
D510MO and the Intel D410PT.

> I'm still getting used to reading the coreboot source tree.  Maybe I'm
> doing this all wrong.
>
> If you could please point to something additional that is informative,
> then that would be very helpful.
>
> Andrew

Best regards,
Angel
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: Which of these mini-ITX mainboards is best supported?

2021-02-04 Thread Angel Pons
Hi Andrew,

On Wed, Feb 3, 2021 at 11:46 PM U'll Be King Of The Stars
 wrote:
>
> -   Intel D410PT (doesn't seem to be in current source tree)

The D410PT and the D510MO use the same code. Support was added in
https://review.coreboot.org/2 (which merely renames the Kconfig
option).

Best regards,
Angel
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] One QCLK is half a full clock cycle (tCK)

2021-01-12 Thread Angel Pons
Hi list,

I'm writing this email because there's one thing I always forget
about. Now that I am sure about it, I would like to write it down
somewhere so that I can't forget about it anymore. Anyway, that one
thing is:

On Intel memory controllers, one QCLK (Quadrature Clock) equals one
half of a full clock cycle, i.e. tCK / 2.

Best regards,

Angel, the tormentor of memory controllers
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: Help locating BIOS flash IC on a not yet supported mini PC board

2021-01-12 Thread Angel Pons
Hi Peter,

On Tue, Jan 12, 2021 at 6:15 PM Peter Mueller  wrote:
>
> https://pasteboard.co/JJknICr.jpg

Ah, I see it: it's on the top right quadrant next to the USB
connector. That gray thing is a socket, and should contain the flash
chip we're looking for. Lucky you! With the flash chip in a socket,
you can simply put it in one of these sockets to program it:
https://i.imgur.com/QPOSDAM.jpg

Best regards,

Angel
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: Help locating BIOS flash IC on a not yet supported mini PC board

2021-01-12 Thread Angel Pons
Hi Peter,

On Tue, Jan 12, 2021 at 4:26 PM  wrote:
>
> Hello coreboot community,
>
> as an open source fan I recently get to know coreboot and really like the 
> idea behind.
> Sadly I bought my computer HW before learning more on libre friendly hardware 
> that
> respects your freedom. Now I try to figure out if I could do one or both of
> a) installing coreboot , b) remove /disable ME from my zotac mini PC,
> or I had to look out for already supported HW to do so.
>
> I use a zotac CI 640 nano fanless mini PC with kaby lake Intel Core i5-8250U 
> and intel
> UHD grafics. https://www.zotac.com/product/mini_pcs/ci640-nano#spec

You may be able to port it, though you will need to use Intel FSP. I'm
afraid no one wrote a coreboot porting guide for FSP platforms yet. If
you ask me, I'd rather write a FSP replacement, but ENOTIME.

> In the process of cleaning FW I got stuck while figuring out, what is the 
> relevant flash IC
> storing the bios. Form running linux I could read an 8MB flashrom with 
> flashrom tool and
> internal programmer.
>
> While reading, flashrom reported chipset "Intel Kaby Lake U w/ iHDCP2.2 Prem."
> and gave the warning "SPI configuration lockdown activated".  The programmer
> flashchip was reported as "Opaque flash chip" 8192kB.
> At least ME Cleaner worked with not errors on the captured fw image.
>
> Problem: I want to flash the modified image back to the IC using a raspberry 
> 4b
> with gpio spi setup using a SOIC8 clip. But I could not manage to find the 
> correct
> IC on the mainboard. I kept looking for SOIC8 200mil with some "25" signature
> and found only a GD25Q20C(2M-bit)Serial flash chip, that I could successfully
> read with raspberry spi setup. However, it contains only 256k data. strings 
> showed
> me lots of HDMI related stuff.

This chip contains the LSPCON (Parade PS175) firmware. I know because
I've got a different board here with the same setup. It is a SPI flash
chip, but it's not the one you are looking for.

> I have created a list of chips I found while disassembling and some pics.
> I hope that someone more experienced could explain me how the 8MB fw is
> stored on this zotac and if it is "safely" possible to rewrite it. I it is to 
> difficult or
> dangerous, as beginner I will stick with new hardware from already supported
> hw list.
>
> The "promising" IC chips I found were
> a - 1 piece of "G labeled" AH1815 25Q2 1BT EE455, I think it is related to the
>  GigaDevice GD25Q20C(2M-bit)I found on web.  this chip I managed to read 
> out..
> b - 12 pieces of SOIC8 150mil (or samller?) : M B07 N03 EKH 1409 (Macronix? 
> could not find anything:/ )
> c - 1 piece of Issi  IS25LQ020: 256K x 8 (2 Mbit) (maybe related to USB-C 
> extension module)
> d - 1 piece of RT9059 GSP6E TOC, which I think could be a RichTek ultra low 
> power voltage regulator?
> e - 4 pieces of "P labeled" 6982 GA9C1E ICs, I do not know what they are, 
> maybe some MOSFET?
> f  - 1 piece of "P labeled" 4435 GL9B2E SOIC8 200mil which I know nothing 
> about

None of these is large enough. You are looking for a SOIC8 200mil
chip: https://doc.coreboot.org/_images/librem_mini_flash.jpg

> Pics of the mainboard front and back are here:
> https://pasteboard.co/JJjQqQO.jpg
> https://pasteboard.co/JJjRjLU.jpg
> https://pasteboard.co/JJjRCDt.jpg

I can't see any flash chip on the pictures you sent. Could you please
take one picture of each side of the mainboard without any
obstructions (RAM sticks, add-in cards, tape...) on it?

> Any suggestion how to go on or stop it anyway would be appreciated.
>
> kind regards,
>
> Peter Mueller
> ___
> coreboot mailing list -- coreboot@coreboot.org
> To unsubscribe send an email to coreboot-le...@coreboot.org

Best regards,

Angel
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: Supporting a new board

2021-01-12 Thread Angel Pons
Hi,

On Tue, Jan 12, 2021 at 11:24 AM Alif Ilhan  wrote:
>
> Thank you. I will make sure it will not happen. But can anyone tell me where 
> can I find MRC.bin from pineview? Which chromebook specifically?

Pineview Chromebooks did not use coreboot, so there's no MRC.bin to
use with coreboot. In any case, Cedarview's memory controller is much
different from Pineview, and is actually closer to Bay Trail: there's
no MCHBAR, and the relevant registers are spread across several IOSF
"units". For example, high-level memory controller registers are in
the DUnit, and there's one DUnit per channel. The 2nd volume of the
Atom D2000/N2000 datasheet contains a long table with IOSF ports and
register offsets, which can be useful.

Best regards,

Angel
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: "Fixing" `1 << 31` (technically undefined behavior with known implementation-specific results)

2021-01-07 Thread Angel Pons
Hi list,

Since register fields usually have more than one bit, I prefer to
always use explicit shifts for consistency. The one case where I
prefer the BIT() macro is to reduce the amount of nested braces when
testing for individual bits in a mask. GCC encourages adding
unnecessary braces for expressions such as `1 << x + 3`, so it's easy
to end up with five levels of brace nesting in a single expression.

For silicon-specific code where portability isn't an issue (different
hardware, different registers) and there's lots of hardware registers
with multiple fields each, I prefer to use bitfield structs. The
resulting code is rather verbose because it provides more information
to both humans and compilers, so there can be less comments that can
eventually become lies. This approach also prevents making certain
kinds of mistakes, e.g. using the names from a different register or
using too large constants in initializers, both of which will cause a
build failure. This also avoids compiler woes when using bitwise
negations in functions taking an AND-mask, where values get promoted
to signed int and then need to be truncated to a smaller size unsigned
type. Refer to https://review.coreboot.org/42134 for a more detailed
explanation of the issue. When using bitfield structs, updating the
value in a register field involves three discrete steps: read the
register into a local variable, then assign the new value to the
desired field (or fields), and finally write the updated value back.
This is substantially more verbose, but it's also harder to make a
dumb mistake such as forgetting to negate a mask.

Best regards,
Angel
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Announcing coreboot 4.13

2020-11-20 Thread Angel Pons
 SMRAM space and not by 64K. By 
default

this loader version is disabled. Please see cpu/x86/Kconfig for more info.

### Address Sanitizer

coreboot now has an in-built Address Sanitizer, a runtime memory debugger
designed to find out-of-bounds access and use-after-scope bugs. It is made
available on all x86 platforms in ramstage and on QEMU i440fx, Intel Apollo
Lake, and Haswell in romstage. Further, it can be enabled in romstage on 
other

x86 platforms as well. Refer [ASan documentation](../technotes/asan.md) for
more info.

### Initial support for x86_64

The x86_64 code support has been revived and enabled for QEMU. While it 
started

as PoC and the only supported platform is an emulator, there's interest in
enabling additional platforms. It would allow to access more than 4GiB 
of memory

at runtime and possibly brings optimised code for faster execution times.
It still needs changes in assembly, fixed integer to pointer conversions 
in C,

wrappers for blobs, support for running Option ROMs, among other things.

### Preparations to minimize enabling PCI bus mastering

For security reasons, bus mastering should be enabled as late as 
possible. In

coreboot, it's usually not necessary and payloads should only enable it for
devices they use. Since not all payloads enable bus mastering properly yet,
some Kconfig options were added as an intermediate step to give some sort of
"backwards compatibility", which allow enabling or disabling bus 
mastering by

groups.

Currently available groups are:

* PCI bridges
* Any devices

For now, "Any devices" is enabled by default to keep the traditional 
behaviour,
which also includes all other options. This is currently necessary, for 
instance,
for libpayload-based payloads as the drivers don't enable bus mastering 
for PCI

bridges.

Exceptional cases, that may still need early bus master enabling in the 
future,
should get their own per-reason Kconfig option. Ideally before the next 
release.


### Early runtime configurability of the console log level

Traditionally, we didn't allow the log level of the `romstage` console
to be changed at runtime (e.g. via `get_option()`). It turned out that
the technical constraints for this (no global variables in `romstage`)
vanished long ago, though. The new behaviour is to query `get_option()`
now from the second stage that uses the console on. In other words, if
the `bootblock` already enables the console, the `romstage` log level
can be changed via `get_option()`. Keeping the log level of the first
console static ensures that we can see console output even if there's
a bug in the more involved code to query options.

### Resource allocator v4

A new revision of resource allocator v4 is now added to coreboot that 
supports
mutiple ranges for allocating resources. Unlike the previous allocator 
(v3), it does
not use the topmost available window for allocation. Instead, it uses 
the first
window within the address space that is available and satisfies the 
resource request.
This allows utilization of the entire available address space and also 
allows
allocation above the 4G boundary. The old resource allocator v3 is still 
retained for

some AMD platforms that do not conform to the requirements of the allocator.

Deprecations


### PCI bus master configuration options

In order to minimize the usage of PCI bus mastering, the options we 
introduced in
this release will be dropped in a future release again. For more 
details, please
see [Preparations to minimize enabling PCI bus 
mastering](#preparations-to-minimize-enabling-pci-bus-mastering-in-coreboot).


### Resource allocator v3

Resource allocator v3 is retained in coreboot tree because the following 
platforms
do not conform to the requirements of the resource allocation i.e. not 
all the fixed
resources of the platform are provided during the `read_resources()` 
operation:


* northbridge/amd/pi/00630F01
* northbridge/amd/pi/00730F01
* northbridge/amd/pi/00660F01
* northbridge/amd/agesa/family14
* northbridge/amd/agesa/family15tn
* northbridge/amd/agesa/family16kb

In order to have a single unified allocator in coreboot, this notice is 
being added
to ensure that the platforms listed above are fixed before the next 
release. If there
is interest in maintaining support for these platforms beyond the next 
release,
please ensure that the platforms are fixed to conform to the 
expectations of resource

allocation.

Best regards,
Angel Pons


OpenPGP_0x53C88CBFBC4F65F3.asc
Description: application/pgp-keys


OpenPGP_signature
Description: OpenPGP digital signature
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: Memory initialisation error

2020-11-18 Thread Angel Pons
Hi Andy

On Wed, Nov 18, 2020 at 1:22 PM Andy Pont  wrote:
>
> Angel wrote...
>
> I can’t match what is printed on the top of the Micron devices (two lines of 
> text “0JE75” and “D9ZFW”) to any part numbers on Micron’s website. Is it some 
> kind of encoded version of the part number or is it just factory and build 
> information? Looking at the website I would assume that the MT40A512M16JY 
> family would be the equivalent parts.
>
>
> https://www.micron.com/support/tools-and-utilities/fbga
>
> That is a cool and useful tool, and not one that was obvious to stumble 
> across! That identifies the memory as MT40A1G16KD-062E:E.  The existing 
> Coreboot sources seem to reference SPD for this part in two forms (Google 
> Zork and Drallion) so I have “borrowed” the SPD files.

Nice!

> The debug output on my board is different to before as the mainboard specific 
> memory initialisation code is now being called but ends with:
>
> SPD INDEX = 0
> FMAP: area COREBOOT found @ 490200 (11992576 bytes)
> CBFS: Locating 'spd.bin'
> CBFS: Found @ offset 50bc0 size 200
> SPD: module type is DDR4
> SPD: module part number is M471A5244BB0-CRC
> SPD: banks 8, ranks 1, rows 16, columns 10, density 8192 Mb
> SPD: device width 16 bits, bus width 64 bits
> SPD: module size is 4096 MB (per channel)
> memory slot: 0 configuration done.
> memory slot: 2 configuration done.
> POST: 0x36
> POST: 0x92
> POST: 0x98
> FspMemoryInit returned 0x8007
> POST: 0xe3
> FspMemoryInit returned an error!
>
> The values in the SPD look wrong but also FspMemoryInit is still failing.  Is 
> there any way to understand what it making FspMemoryInit do so?

Well, I'd like to see your code: which memcfg parameters you're using,
among other things. Could you please put it somewhere (e.g.
review.coreboot.org) so that I can take a look?

> -Andy.

Thanks in advance,
Angel
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: Memory initialisation error

2020-11-18 Thread Angel Pons
Hi,

On Wed, Nov 18, 2020 at 10:00 AM Andy Pont  wrote:
>
> Naresh wrote…
>
> Don't know how to recover SPD from UEFI but Try to read memory part number 
> written on chip and provide that. Look for SPD file with that name if it's 
> already present in coreboot.
>
> The schematics for the platform show Samsung K4A8G165WB-BCRC devices which 
> are (8Gb, 2400Mbps, 512Mx16 DDR4).  The samples of hardware that I have are 
> actually fitted with Micron parts.
>
> I can’t match what is printed on the top of the Micron devices (two lines of 
> text “0JE75” and “D9ZFW”) to any part numbers on Micron’s website.  Is it 
> some kind of encoded version of the part number or is it just factory and 
> build information?  Looking at the website I would assume that the 
> MT40A512M16JY family would be the equivalent parts.

https://www.micron.com/support/tools-and-utilities/fbga

> -Andy.
>
> ___
> coreboot mailing list -- coreboot@coreboot.org
> To unsubscribe send an email to coreboot-le...@coreboot.org

Best regards,
Angel
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: Planning the next coreboot release

2020-11-17 Thread Angel Pons
Hello again,

Given that there's still some activity going on regarding deprecations
on the release notes, the release may be delayed one or two more days
to let things settle down, but no more. I look into having the release
done this week, but I'd also like to proceed without rushing as it's
my first time doing a coreboot release.

Thanks for your comprehension,
Angel
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: Information about "HP-Compaq 8200 Elite SFF"

2020-11-15 Thread Angel Pons
Hi Dario,

On Sun, Nov 15, 2020 at 5:42 PM  wrote:
>
> Hi guys
> Thanks a lot for the great work on coreboot.
>
> I'm looking for install coreboot on my "HP-Compaq 8200 Elite SFF", so
> I was happy to found your site:
> https://doc.coreboot.org/mainboard/hp/compaq_8200_sff.html
>
> In this documentation stands: "Internal programming: The SPI flash can
> be accessed using flashrom.". So I tried to read the factory-BIOS with
> flashrom but without success. Please consult the annexed log-file.

I fear that stderr was not logged. Instead of shell redirection to
pipe flashrom's text output into a logfile, I'd suggest using the
built-in -o command-line switch:

flashrom -p internal -r factoryBIOS.bin -o full_log_HP-Compaq_8200-Elite-SFF.txt

Note that the -V option is now redundant, since -o will already make
verbose enough logs.

> Could you please explain-me why reading with the internal-programmer
> doesn't work for me? Thanks in advance

I have a suspicion which I should be able to confirm with a complete
log: reading fails because the ME region is locked.

> Best regards
> Dario
>
> ___
> coreboot mailing list -- coreboot@coreboot.org
> To unsubscribe send an email to coreboot-le...@coreboot.org

Best regards,
Angel
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: Planning the next coreboot release

2020-11-13 Thread Angel Pons
Hi again,

About a week ago, I announced our plans to do a new coreboot release,
which is scheduled to take place next Wednesday, November 18. This
means we're currently at the "~1 week prior to release" point of our
release checklist (at
https://doc.coreboot.org/releases/checklist.html).

To this end, please test the devices you have with master, fix (or at
least report) regressions you encounter, and propose additions to the
release notes. Furthermore, I would earnestly appreciate that any
risky changes be postponed until after the release is done, in order
to minimize the impact of any possible breakage.

Owing to the lack of developers and testers for Denverton-NS, it has
been proposed as a candidate for removal in a future release:
https://review.coreboot.org/47539
If anyone is still interested in keeping this platform supported in
the future, please consider becoming a maintainer or providing the
means to boot-test its code. Personally, I believe the root of the
problem is testing: most coreboot developers don't have access to a
Denverton-NS system to boot-test any changes, so it's impossible to
ensure changes won't accidentally break something.

Thanks,
Angel
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: Including a video BIOS

2020-11-11 Thread Angel Pons
Hi Andy, Naresh,

On Wed, Nov 11, 2020 at 5:10 PM Andy Pont  wrote:
>
> Naresh wrote…
>
> Looking at kconfig, the mainboard should select  MAINBOARD_HAS_LIBGFXINIT.
> For example see "grep -rsn MAINBOARD_HAS_LIBGFXINIT src/"
>
> I haven't  used this, so not sure what else might be needed.
>
> In order to get the build to progress I have needed to select 
> MAINBOARD_HAS_LIBGFXINIT and MAINBOARD_USE_LIBGFXINIT.  The build now fails 
> during compilation with:

This means you're going to use libgfxinit instead of a video BIOS.
libgfxinit is a graphics modesetting library written in SPARK, a
subset of Ada with formal verification properties. You can read more
about it here: https://doc.coreboot.org/gfx/libgfxinit.html

I've made it work on Whiskey Lake (the immediate predecessor of Comet
Lake), but I needed to implement a few workarounds to prevent system
lock-ups. My board is a Librem Mini, which does not have an integrated
LCD (unlike laptops), so I don't know if the backlight part needs
special handling. Here's the relevant changes in Gerrit:
https://review.coreboot.org/q/topic:"librem_whl_lgi";

> GCCramstage/libgfxinit/common/dyncpu/hw-gfx-gma-config.o
> hw-gfx-gma-config.ads:19:32: missing operand
> Makefile:356: recipe for target 
> 'build/ramstage/libgfxinit/common/dyncpu/hw-gfx-gma-config.o’ failed
>
> This feels like a rabbit hold down which I don’t want to find myself!

Sounds like the sedprocessor (libgfxinit is configured using some
sed-fu to fill in config parameters as constants) replaces `<>`
(the graphics generation, which is an enumerated type) with an empty
string, which is why the compiler complains about a missing operand.

> -Andy.
>
> ___
> coreboot mailing list -- coreboot@coreboot.org
> To unsubscribe send an email to coreboot-le...@coreboot.org

Best regards,
Angel
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: Deprecating spurious PCI bus master enabling (was Re: Planning the next coreboot release)

2020-11-10 Thread Angel Pons
Hi Werner, Ron, Nico, list,

While it would be great to not have to implement Bus Master
workarounds in coreboot, I guess it's sometimes unavoidable because of
external constraints. I would much prefer to have the actual problem
fixed instead (code assuming Bus Master is enabled by default), but if
that's not possible I can live with some mechanism to enable Bus
Master in coreboot, *as long as all usages are justified*. IMHO,
enabling Bus Master for no reason is bad practice, but keeping code to
enable Bus Master because no one knows what removing it could break is
even worse.

On Tue, Nov 10, 2020 at 3:24 PM werner@siemens.com
 wrote:
>
> We could introduce a Kconfig switch per driver

Not per-driver, please!

I'd rather have per-reason switches (reason-options): Kconfig options
whose help-text gives the reason why enabling Bus Master in coreboot
for certain devices is needed. Even if these Kconfig options end up
being scattered across the tree, it's easier to see the relationship
between multiple instances of Bus Master being set. Plus, if the
actual bug is eventually fixed, it's very easy to drop the
corresponding reason-option without breaking any other reason-options.

> and let the driver handle the bit.
> Everything else could be removed. This would make it easier to track the 
> usages.
> It would be nice if we could agree on a naming scheme so that all switches 
> are named similar which would make it easier to track the usage.
>
> But there are cases where there is no driver in coreboot for a given PCI 
> device which needs this bit. For now, we (Siemens) handle this cases on 
> mainboard level.
> So either we need drivers for these devices (just simply setting the master 
> bit) or we can agree on some kind of exceptions.
> I am open to everything.

This won't be a problem if using per-reason Kconfig options. I would
still use these reason-options though, even when the option always
gets selected (e.g. selected by the mainboard's Kconfig): this is to
justify each instance of Bus Master being set with the corresponding
reason-options.

> Werner
>
> -Ursprüngliche Nachricht-
> Von: ron minnich 
> Gesendet: Dienstag, 10. November 2020 16:15
> An: Nico Huber 
> Cc: coreboot 
> Betreff: [coreboot] Re: Deprecating spurious PCI bus master enabling (was Re: 
> Planning the next coreboot release)
>
> nice idea!
>
> On Tue, Nov 10, 2020 at 7:13 AM Nico Huber  wrote:
> >
> > On 10.11.20 16:06, Nico Huber wrote:
> > > If anybody knows or discovers more cases where it needs to be
> > > enabled in advance by coreboot, please mention it here.
> >
> > We just discussed on IRC cases where unfixable OS drivers might need it.
> > For such cases, it would probably be best to add individual Kconfig
> > switches for each case. This would make it easier to get rid of the
> > big switch.
> >
> > Nico
> > ___
> > coreboot mailing list -- coreboot@coreboot.org To unsubscribe send an
> > email to coreboot-le...@coreboot.org
> ___
> coreboot mailing list -- coreboot@coreboot.org To unsubscribe send an email 
> to coreboot-le...@coreboot.org
> ___
> coreboot mailing list -- coreboot@coreboot.org
> To unsubscribe send an email to coreboot-le...@coreboot.org

Best regards,
Angel
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: Is HP ProLiant DL360e Gen8 supported in Coreboot?

2020-11-09 Thread Angel Pons
Hi,

On Mon, Nov 9, 2020 at 6:42 PM  wrote:
>
> Hello! I'm trying to find if my hardware supports Coreboot. I found 1 table 
> which is retired, second that is probably not retired and then current 
> documentation that doesn't seem to say as much. So, sorry if I missed it. 
> Will Coreboot work with HP ProLiant DL360e Gen8? Flashrom worked ok but not 
> great. Northbridge is Intel Sandy Bridge-E 07, Southbridge Intel X79 05.

Short answer: Nope.

Long answer: Porting this board would be extremely time-consuming
(several years for an experienced developer working exclusively on
it), because there's no support at all for the chipset. While there's
support for mundane Sandy (and Ivy) Bridge consumer (desktop, mobile,
uniprocessor server) hardware, the SA and PCH (System Agent and
Platform Controller Hub, i.e. integrated northbridge and southbridge
respectively) on server platforms are radically different beasts.
Memory initialization is by far the most complex thing that would need
to be implemented, and the registers aren't publicly documented and
differ across generations, as well as between consumer and server
platforms.

> References:
> https://www.coreboot.org/Supported_Chipsets_and_Devices
> https://coreboot.org/status/board-status.html
> https://support.hpe.com/hpesc/public/docDisplay?docId=c03361169&docLocale=en_US
> https://browser.geekbench.com/geekbench3/1879558
> https://doc.coreboot.org/mainboard/index.html
> https://doc.coreboot.org/northbridge/intel/sandybridge/index.html
>
> Flashrom log:
> 
> flashrom v1.2 on Linux 5.4.0-42-generic (x86_64)
> flashrom is free software, get the source code at https://flashrom.org
>
> Using clock_gettime for delay loops (clk_id: 1, resolution: 1ns).
> Found chipset "Intel C60x/X79".
> Enabling flash write... FREG0: Flash Descriptor region 
> (0x-0x) is read-only.
> FREG2: Management Engine region (0x0001-0x001f) is locked.
> Not all flash regions are freely accessible by flashrom. This is most likely
> due to an active ME. Please see https://flashrom.org/ME for details.
> At least some flash regions are read protected. You have to use a flash
> layout and include only accessible regions. For write operations, you'll
> additionally need the --noverify-all switch. See manpage for more details.
> OK.
> Found Macronix flash chip "MX25L1605" (2048 kB, SPI) mapped at physical 
> address 0xffe0.
> Found Macronix flash chip "MX25L1605A/MX25L1606E/MX25L1608E" (2048 kB, SPI) 
> mapped at physical address 0xffe0.
> Found Macronix flash chip "MX25L1605D/MX25L1608D/MX25L1673E" (2048 kB, SPI) 
> mapped at physical address 0xffe0.
> Multiple flash chip definitions match the detected chip(s): "MX25L1605", 
> "MX25L1605A/MX25L1606E/MX25L1608E", "MX25L1605D/MX25L1608D/MX25L1673E"
> Please specify which chip definition to use with the -c  option.

This is expected for this kind of platform, since the IFD (Intel Flash
Descriptor) specifies the regions of the flash chip and their access
permissions.

> ___
> coreboot mailing list -- coreboot@coreboot.org
> To unsubscribe send an email to coreboot-le...@coreboot.org

Regards,
Angel
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Planning the next coreboot release

2020-11-04 Thread Angel Pons
Hi everybody,

It's high time we looked into cutting yet another release. As usual,
other than our 6-monthly cadence of incrementing a number on our tree
and pushing out tarballs and press releases, no particular rationale
prompts this event. Unlike previous occasions, this is my first time
executing the coreboot release process along with Patrick Georgi.

We plan to do the release on Wednesday, November 18. This announcement
is in conformity with the process described on
https://doc.coreboot.org/releases/checklist.html, as we're currently
at the "~2 weeks prior to release" point.

For this reason, I would earnestly appreciate it if you (everyone
subscribed to this list, but given that you're reading this mail, yes,
you too!) could help out with the following:

1. Testing: the more, the better. Please test as much of your
coreboot-supported hardware as you can, report and/or address any
issues, and upload fresh reports to the board-status repo. Despite
having no quality requirement to give a new number to our tree (create
a new release), it is important to ensure what we have in the tree is
still functional, since it lowers the work needed to pin-point new
issues (bisections since 4.12 should still take 12 steps or less at
this time, even though there's about 40% more commits than between the
last two releases).

2. Please try to postpone riskier changes and similar until the
release is done (unless they're ready to land in the next few days),
in order to keep the tree stable while people test whether their
hardware still works as expected. If a major feature doesn't make it
into this release, don't worry; it can always be part of the following
release. Let's make sure this coreboot release keeps booting.

3. Please take a look at the preliminary release notes in
Documentation/releases/coreboot-4.13-relnotes.md and add whatever
happened since 4.12 that is worth mentioning. If unsure, simply push a
change to Gerrit and have your fellow developers discuss it.

Thanks,
Angel Pons
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: [RFC] Replace strapping entries in coreboot table

2020-10-28 Thread Angel Pons
Hi list,

On Wed, Oct 28, 2020 at 10:17 PM Julius Werner  wrote:
> Okay, fair enough. Angel commented on the CL that this email thread
> needs to get resolved before the patch can land, so I wanted to try to
> help resolve it.

No, I never said that. I merely pointed out that discussion was taking
place outside of Gerrit.

Best regards,
Angel
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: How to debug open-source AGESA with serial console?

2020-10-15 Thread Angel Pons
Hi list,

On Thu, Oct 15, 2020 at 5:48 PM Clay Daniels  wrote:
>
> Paul, you are probably way ahead of this, but I found something pre-AGESA 
> from 2003 that says:
>
> "Unlike minicomputer systems, the IBM PC was not designed to use a serial 
> console. This has two consequences.
>
> Firstly, Power On Self-Test messages and Basic Input/Output System (BIOS) 
> messages are sent to the screen and received from the keyboard. This makes it 
> difficult to use the serial port to reconfigure the BIOS and impossible to 
> see Power On Self-Test errors.
>
> An increasing number of manufacturers of rackable server equipment are 
> altering their BIOSs to optionally use the RS-232 port for BIOS configuration 
> and test messages. If you are buying a machine specifically for use with 
> serial console you should seek this feature. If you have an existing machine 
> that definitely requires access to the BIOS from the serial port then there 
> are hardware solutions such as PC Weasel 2000.
>
> Secondly, the RS-232 port on the IBM PC is designed for connecting to a 
> modem. Thus a null modem cable is needed when connecting the PC's serial port 
> to a terminal."
>
> https://tldp.org/HOWTO/Remote-Serial-Console-HOWTO/intro-why.html

How does any of this apply to coreboot?

> Clay
>
>
> On Thu, Oct 15, 2020 at 3:54 AM Paul Menzel  wrote:
>>
>> Dear coreboot folks,
>>
>>
>> To get PCI bridge 0:15.2 enabled for the network device on the Asus
>> F2A85-M PRO, I want to debug the PCIe General Purpose Ports lane
>> configuration of the FCH.
>>
>> I’d like to print some variables in
>>
>>  src/vendorcode/amd/agesa/f15tn/Proc/Fch/Pcie/GppPortInit.c
>>
>> over the serial console. It looks like
>>
>>  #include 
>>
>> and `printk(BIOS_DEBUG, …)` compiles, but the messages are not sent over
>> serial console. Is that expected?
>>
>> Do I need to use AGESA’s Integrated Debug Services (IDS) [1], and enable
>> the console in `src/mainboard/asus/f2a85-m/OptionsIds.h`?

I don't know if AGESA is compiled into a different stage, which would
be called `libagesa`. I've just seen some mentions of this in the
coreboot code. I suspect logging there might need to be handled
differently (similar to how we handle logging in SMM, which is
disabled by default).

I'd be surprised if any of the IDS stuff still builds fine. No one
bothered to migrate the IDS controls in OptionsIds.h to Kconfig.
Should you want to do so, please add various config files in configs/
to ensure the IDS code gets build-tested.

>> Kind regards,
>>
>> Paul
>>
>>
>> [1]:
>> https://www.coreboot.org/images/3/36/AGESA_Interface_Spec_for_Arch_2008_v3.00.pdf
>> ___
>> coreboot mailing list -- coreboot@coreboot.org
>> To unsubscribe send an email to coreboot-le...@coreboot.org
>
> ___
> coreboot mailing list -- coreboot@coreboot.org
> To unsubscribe send an email to coreboot-le...@coreboot.org

Best regards,
Angel
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: FW: P8H61-m LX2 coreboot?

2020-10-04 Thread Angel Pons
Hi Matej,

On Sun, Oct 4, 2020 at 7:37 AM Matej Voľanský
 wrote:
>
> Hello,
> I have P8H61-m LX2 in my desktop right now. I want to switch from Win10 to 
> Arch Linux and thought about also switching to coreboot. Unfortunately, I 
> can’t find this MBO in your board status. There’s P8H61-m LX, LX3 R2.0, PRO, 
> but LX2 not even mentioned. I’m not sure if I’m contacting the right person, 
> but I need help. I’ve never done coreboot before ( though I’m not a newbie in 
> electronics so I’m confident ) and  I don’t know if it’s worth trying 
> corebooting this MBO if it’s not in your list. I do have needed tools for 
> this.

The mailing list is a perfect place to ask for help. Welcome!

If you haven't installed Arch already, I suggest that you use GRUB as
a bootloader, and set up both legacy BIOS boot and UEFI boot. This is
so that you can boot using either SeaBIOS, GRUB or TianoCore as
payloads.

The P8H61-M LX2 is similar to both the P8H61-M LX and the P8H61-M LX3
R2.0 (I ported this one). The SPI flash chip is socketed, so you can
carefully remove it from its socket and plug it into an external
programmer (ideally, one that is supported by flashrom). The first
thing you can try to do is to make a backup of its contents. Make sure
to verify the read contents (flashrom has the -v option to do so).
This will allow you to go back to a known-working state later on.

Then, you would want to check out `util/autoport`. While it does not
do everything, it at least provides a good starting point to add a new
Sandy/Ivy Bridge mainboard. Check out its README.md as it contains
useful information. Then, use it, and it will hopefully create the
`src/mainboard/asus/p8h61-m_lx2` folder with some files.

The most significant thing that will be missing from
autoport-generated files is the Super I/O configuration. The serial
port is connected to the Super I/O, and it can be used to get log
messages from coreboot, so it would be great to make it work. You can
use `util/superiotool` to dump the Super I/O settings programmed by
vendor firmware, and add them to the coreboot port. You can use the
existing P8H61-M LX and P8H61-M LX3 R2.0 board ports as an example.

Once this is done, selecting the board vendor/model should result in a
bootable coreboot image. However, a scary warning appears at the end
of the build process that tells you not to flash the resulting image
as-is. Although the region sizes may differ, this is what the firmware
on Sandy/Ivy Bridge systems looks like:
https://doc.coreboot.org/_images/flashlayout_Sandy_Bridge.svg

coreboot goes into the BIOS region. By default, the build system
generates an image that only contains coreboot, so the other regions
are empty. Flashing everything would erase the other regions, which
renders the hardware unable to boot (same symptoms as trying to boot
without a flash chip). So, the warning is just reminding you to make
sure to only flash the BIOS region. With flashrom, you can use the
command that appears here:
https://doc.coreboot.org/flash_tutorial/index.html#using-an-ifd-to-determine-the-layout

If this works, or if you get stuck, please push your code to
review.coreboot.org so that anyone can take a look. For board ports,
we prefer to have a single commit adding the board in a working state.
Changes in Gerrit are identified by its Change-Id line in the commit
message, so you can amend your commits and push them again to upload a
new revision of the same change. You can follow this guide to get
started: https://doc.coreboot.org/tutorial/part2.html

Here's the changes that added the existing boards, as an example:

P8H61-M LX: https://review.coreboot.org/27798
P8H61-M LX3 R2.0: https://review.coreboot.org/39099

I didn't add documentation when I ported my board, but it is a good
idea to do so. Alternatively, one could adapt the existing P8H61-M LX
page so that it covers all three LX boards. Documentation can be added
in a different commit, so it's not critical.

> Sincerely Matej Volansky.
>
> ___
> coreboot mailing list -- coreboot@coreboot.org
> To unsubscribe send an email to coreboot-le...@coreboot.org

Best regards,
Angel
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: Question about PR

2020-09-17 Thread Angel Pons
Hi,

On Thu, Sep 17, 2020 at 2:50 PM Michal Zygowski
 wrote:
>
> Hi,
>
> Please check out also this guide:
> https://www.coreboot.org/Git#Pushing_changes
>
> you need to tell git where to push: `HEAD:refs/for/master`. It seems the
> guide on https://doc.coreboot.org/tutorial/part2.html is missing one
> crucial step:
>
> `git config remote.origin.push HEAD:refs/for/master`

This shouldn't be needed after running `make gitconfig`.

> You don't need any particular rights to push. You have two options to
> authorize:
>
> 1. SSH key (add SSH key to gerrit account and configure git remote for
> SSH or simply clone with SSH like here
> https://www.coreboot.org/Git#Accessing_the_repository)
> 2. HTTP password. If you cloned the repo by HTTP(S) then you should be
> asked for password. You can generate it on your gerrit account.
>
> Even if you skip the git config commands, `git push origin
> HEAD:refs/for/master` should push your commit(s) you have added on top
> of your local master branch to gerrit. They will be public. if you
> append %private at the end of the command, it will be private. If you
> append %wip it will be marked as work in progress.
>
> Of course we can't see it if it is private. You would have to add
> reviewers or people on CC.

You can also `unmark private` on the change. This way, everyone can
take a look. Note that private changes can't be submitted normally.

https://gerritcodereview-test.gsrc.io/marking-a-change-as-private.html

> Who to add as reviewer? It depends what the patch does. You may suggest
> reviewers by looking at MAINTAINERS file in the repo which contains the
> people who are more familiar with given part of coreboot source and can
> provide good reviews.
>
> How to add reviewer? If your press reply button above the commit message
> on gerrit (when displaying your patch) a window will pop up. You may
> skip writing any message. Just click in the row with reviewers (where
> Add reviewer is written) and start typing. Auto completion should give
> you some results. Type by name, nick or email of the reviewer.
>
> Best regards,
>
> --
> Michał Żygowski
> Firmware Engineer
> https://3mdeb.com | @3mdeb_com
>
> On 17.09.2020 16:36, bzt wrote:
> > Hi,
> >
> > I'd like to commit a patch to coreboot. I've followed the tutorials on
> > https://doc.coreboot.org/tutorial/part2.html
> >
> > I've set up gerrit account, etc. created a local repo, configured git
> > for submit, set up change-id hook, etc. etc. etc. However at step 4a,
> > "git push", I got an error message from the server about missing
> > "Push" rights and to contact the administrator. How can I do that?
> >
> > I was able to push the commit as a private patch:
> > https://review.coreboot.org/c/coreboot/+/45480
> >
> > I'm not sure if you can see this url, or is this for my user only.
> > I guess now I should add a reviewer, but how and who? Or how can I get
> > a "Push" right?

I can't see it. You can `unmark private` on the change so that
everyone can see it.

> > Thanks for your help,
> > bzt
> > ___
> > coreboot mailing list -- coreboot@coreboot.org
> > To unsubscribe send an email to coreboot-le...@coreboot.org
> ___
> coreboot mailing list -- coreboot@coreboot.org
> To unsubscribe send an email to coreboot-le...@coreboot.org

Best regards,
Angel
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: Proper way to obtain mrc.bin for thinkpad t440p?

2020-08-24 Thread Angel Pons
Hi all,

That coreboot fork does not automate the process of obtaining mrc.bin
at all. Instead, it contains a disassembled/decompiled version of MRC
and uses that instead. I would not recommend using that fork because
it's outdated. On coreboot master, there's
https://review.coreboot.org/43559 which should fix hangs with
libgfxinit when a VGA display is plugged in, and
https://review.coreboot.org/44155 which might help with
https://ticket.coreboot.org/issues/259 or similar issues. I don't have
a T440p, though.

On Fri, Aug 21, 2020 at 5:54 AM Harshit Sharma
 wrote:
>
> Hi yk,
>
> As Matt said It is not just meant for chromebooks but haswell in general. 
> Just follow the instructions given on the coreboot page to obtain mrc.bin and 
> place it in the root coreboot directory as it says.
>
> That tutorial seems fishy to me as well. I'd suggest just run 'make 
> menuconfig' and select t440p from mainboard menu. You don't need to change 
> any values. The default values should work.
>
> Finally, build the coreboot image, split into 8MB + 4MB chunks and just flash 
> the 4MB chip.
>
>
> Best,
> Harshit
>
>
> On Thu, Aug 20, 2020, 5:13 PM yk via coreboot  wrote:
>>
>> To anyone who has corebooted a t440p:
>>
>> I followed the instructions here
>> https://doc.coreboot.org/northbridge/intel/haswell/mrc.bin.html to
>> obtain an mrc.bin for the t440p, but it seems like these instructions
>> are generalized and are meant for chromebooks, and not thinkpads. I
>> gave it a try anyways and my t440p beeps and flashes LED's (as
>> configured in .config, to do so on fatal error). Months of searching,
>> and I can't find any documentation or archived emails from this
>> mailing list for obtaining an mrc.bin specifically for the t440p.
>>
>> There exists this tutorial https://0xcb.dev/lenovo-t440p-coreboot/ but
>> it tells me to use a forked version of coreboot which seems really
>> fishy. I browsed the commits from that fork and I couldn't find anything
>> that "automates obtaining mrc.bin" as it promises.
>>
>> What is the proper way to obtain the mrc.bin and configure for t440p?
>>
>> CONFIG_DCACHE_RAM_MRC_VAR_SIZE=0x3 <-- also what should this value
>> be if the mrc.bin is 186K?
>> ___
>> coreboot mailing list -- coreboot@coreboot.org
>> To unsubscribe send an email to coreboot-le...@coreboot.org
>
> ___
> coreboot mailing list -- coreboot@coreboot.org
> To unsubscribe send an email to coreboot-le...@coreboot.org
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Naming convention of register update functions

2020-08-20 Thread Angel Pons
Dear mailing list,

I've been asked in https://review.coreboot.org/42134 to please start a
discussion on the mailing list about the naming convention of the
functions I've added in said patch.

I decided to use `unset_and_set` because that's what libgfxinit uses.
In coreboot, we already have `clrsetbits` to operate on memory-mapped
addresses. However, `pci_update_config` functions have different
semantics, as they take an and-mask instead of an unset-mask. This
requires one to use explicit casts to silence spurious overflow
warnings if using bitwise negations on shorter-than-int types and the
most significant bit is set. Since the added functions operate on
bytes, the casts are necessary too often, which clutters the code and
suppresses valid overflow warnings. Using an unset-mask solves all
these problems, but having `update` in the names of two function
families with different semantics would be too cruel. And `clrsetbits`
doesn't look too good as a middle `word` in a function name, which is
why I went with `unset_and_set` instead.

Any thoughts?

Best regards,
Angel
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: kabylake RVP7 coreboot pcie/sata issue

2020-08-20 Thread Angel Pons
Hello John,

On Mon, Aug 17, 2020 at 11:31 PM john brown  wrote:
>
> Our new board has intel skylake  I3-6100U CPU,  BIOS use coreboot based on 
> kabylake RVP7
> it can boot linux OS successfully. but there are two issues:

Which mainboard do you have? *Is* your board an Intel Kaby Lake RVP7
reference board? If not, then it's expected that things don't work
properly with a RVP7 image.

> 1.
>
> intel Ethernet PHY  I211 connected on I3-U6100  PCIE lane 1,   I211 is not 
> shown in lspci.
>
> and serial port log:
>
> PCI: 00:1c.0 scanning...
> do_pci_scan_bridge for PCI: 00:1c.0
> PCI: pci_scan_bus for bus 01
> POST: 0x24
> POST: 0x25
> POST: 0x55
> scan_bus: scanning of bus PCI: 00:1c.0 took 12591 usecs
>
> --
>
>  In our previous version board, I211 is on PCIE lane 5, which is shown in 
> lspci and works fine. and serial port log:

Sounds like you have custom mainboards. Instead of using a RVP image
on them, I would recommend adding support for your boards to coreboot.
You can even use the variants mechanism to account for differences
between revisions. You can use
https://doc.coreboot.org/tutorial/part2.html as a guide to submit
patches upstream for review. Feel free to add me as a reviewer there.

> PCI: 00:1c.0 scanning...
> do_pci_scan_bridge for PCI: 00:1c.0
> PCI: pci_scan_bus for bus 01
> POST: 0x24
> PCI: 01:00.0 [8086/1539] enabled
> POST: 0x25
> POST: 0x55
> Capability: type 0x01 @ 0x40
> Capability: type 0x05 @ 0x50
> Capability: type 0x11 @ 0x70
> Capability: type 0x10 @ 0xa0
> Capability: type 0x10 @ 0x40
> Enabling Common Clock Configuration
> PCIE CLK PM is not supported by endpoint
> ASPM: Enabled L1
> Capability: type 0x01 @ 0x40
> Capability: type 0x05 @ 0x50
> Capability: type 0x11 @ 0x70
> Capability: type 0x10 @ 0xa0
> Failed to enable LTR for dev = PCI: 01:00.0
> scan_bus: scanning of bus PCI: 00:1c.0 took 56231 usecs
>
> 2.
>
> A m.2 sata on pcie lane 11(sata 1B) doesn't work(not shown on lsblk).  On the 
> previous version board, sata is on PCIE lane 8 (1A)  and works fine.

This is probably due to misconfigured settings, and related to the NIC
problems. From what you've explained, looks like the new board
revision uses different HSIO lanes, so the configuration needs to be
adjusted accordingly. As explained before, adding support for your
boards is probably the best option.

> The following 3 files are changed for this new board from the previous 
> version board .
>
>  1.IFWI configuration file settings,
>
>  2. devicetree.cb
>
> 3. gpio.h (SATAXPCIE1 detect)

It would be nice to see which changes are needed. This would be very
easy if the code were public, e.g.: upstream or on review.

> Thanks a lot for your help on any of these issue.
>
> John
> ___
> coreboot mailing list -- coreboot@coreboot.org
> To unsubscribe send an email to coreboot-le...@coreboot.org

Best regards,

Angel Pons
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: will my machine support coreboot ?

2020-07-30 Thread Angel Pons
Hello,

On Thu, Jul 30, 2020 at 1:53 PM Jonathan Neuschäfer
 wrote:
>
> On Tue, Jul 28, 2020 at 07:54:33PM +0530, Nihar Khuntia wrote:
> > Hi Developers,
> >
> > my laptop has  hardwares details as attached in this email. will it support
> > coreboot ?
>
> At present time, no. As you can see in the coreboot source code[1] or
> menuconfig, this laptop (Dell Vostro 1014) is currently not supported in
> coreboot.
>
> While it is possible to change that, it involes weeks or months of
> programming and testing work ("porting").

According to the internet, this machine has a Mobile 4 Series (e.g.
GM45) northbridge with DDR2, an ICH9M southbridge, and an ITE IT8502E
embedded controller. There's some coreboot support for this
northbridge and southbridge, but support for DDR2 memory is missing.
There are some WIP patches on review.coreboot.org which are good
enough to boot, but other things like S3 suspend and resume don't work
well yet.

The embedded controller is another problem: it runs mainboard-specific
firmware. There's a datasheet for it on the internet, which should
help understand some things. However, making all laptop features work
correctly (e.g. keyboard, touchpad, special function keys, lid
open/close detection, fan control, backlight control, power
management...) will require some reverse engineering work.

Another thing I saw on schematics (yes, there's schematics on the
internet for this mainboard): on this mainboard, the flash chip is
connected to the EC, so it contains both the BIOS and the EC firmware.
This complicates coreboot porting (e.g. one usually can't use a chip
clip to reflash externally, because the EC gets powered through the
programmer and turns on). However, this board has some testpads, so it
is possible to solder a second flash chip directly to the ICH9M
southbridge. There's a pin on the ICH9M to choose the Boot BIOS
location, which can then be wired to a switch (e.g. the Wi-Fi switch)
to select between the two flash chips. Yes, this involves soldering
very small things onto even smaller testpads, but it would only need
to be done once. And since the original vendor firmware would be
untouched, the laptop would then be pretty much unbrickable.

I've added a second flash chip to a Toshiba A300-1ME, and I've used it
to test the GM45 DDR2 initialization code. I call it a "portable
coreboot development system": if coreboot doesn't boot, I can always
power off, switch to vendor BIOS, boot to Linux and reflash with
`flashrom -p internal`. No tools, no disassembly needed. :)

In short: there's currently no coreboot support for it. However, if
you're really adventurous, adding a second flash chip is a very
reasonable option: soldering small components requires some skills,
but once it's done, switching between the vendor BIOS and coreboot is
just a matter of flipping a switch. Not having to worry about
recovering from a non-booting coreboot.rom greatly simplifies
development.

> Best regards,
> Jonathan Neuschäfer
>
> [1]: https://review.coreboot.org/cgit/coreboot.git/tree/src/mainboard/dell
> ___
> coreboot mailing list -- coreboot@coreboot.org
> To unsubscribe send an email to coreboot-le...@coreboot.org

Best regards,
Angel
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: How to choose my ‘‘mainboard vendor’’ for Sony laptops?

2020-07-20 Thread Angel Pons
Hi there,

Currently, no Sony laptops are supported. So, there isn't any option
to build coreboot for your laptop.

If you *really* want to have coreboot on it, you could try porting
(adding coreboot support for) this laptop. However, you *need* to be
able to flash externally (something to flash a known-good BIOS when
the laptop doesn't boot). I couldn't find schematics for this laptop,
so I don't know if there are problems that would make in-circuit
external flashing (using a clip) dangerous.

On Mon, Jul 20, 2020 at 4:39 AM  wrote:
>
> Laptop model: Sony VPCCB17FG
> Cores: Intel i7-2620M
> Coreboot release to be flashed: 4.12
> RAM’s: 7.45GiB

That must be 8 GiB, with some memory being unavailable because it was
reserved for something.

> Graphics: AMD Radeon
> Old BIOS: By AMI, versioned R0242v2 (no longer receiving Sony’s BIOS upgrades 
> since 2012)
>
> Mainboard vendor

*snip*

> choice[1-46]:
> ___
> coreboot mailing list -- coreboot@coreboot.org
> To unsubscribe send an email to coreboot-le...@coreboot.org

Best regards,
Angel
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: Call for testing: Weird behavior of the EC on Thinkpad X230s

2020-07-16 Thread Angel Pons
Hi Persmule,

On Thu, Jul 16, 2020 at 5:17 PM Persmule  wrote:
>
> Hi Angel Pons,
>
> It seems that we may copy ec/lenovo/h8 to ec/lenovo/mec16xx ( or separate 
> directory for different chips ) to start dedicated support to them, since 
> though they are different, their behavior are so similar that code for 
> ec/lenovo/h8 can work on them, though buggy.

Nope. While it happens rather often, copying code to support a new
chip is a terrible approach. Things get duplicated and get patched up
independently, and then there are five copies of some file which only
differ in cosmetics.

If one wants to properly support the different ECs Lenovo uses on the
Thinkpads, it's better to reverse engineer each platform again and add
fresh code that is tested and known working. One also needs to
remember that ECs are made of both hardware and software, and I doubt
that any distinction is made in the case of ec/lenovo/h8. In case the
software interface is the exact same for Lenovo laptops with different
ECs, it should not go into either EC folder.

> Best regards,
> Persmule
>
> ‐‐‐ Original Message ‐‐‐
> On Thursday, July 16, 2020 5:10 PM, Angel Pons  wrote:
>
> > Hi Persmule,
> >
> > On Thu, Jul 16, 2020 at 5:02 PM Persmule persm...@hardenedlinux.org wrote:
> >
> > > Hi Angel Pons,
> > > ‐‐‐ Original Message ‐‐‐
> > > On Thursday, July 16, 2020 2:47 PM, Angel Pons th3fan...@gmail.com wrote:
> > >
> > > > I suspect that reusing the H8 EC code for the xx30 series Thinkpads is
> > > > a source of bugs. There isn't any H8 EC on those mainboards anymore,
> > > > the EC was replaced with a completely different SMSC MEC1619. The
> > > > T440p port seems to have a few bugs which might be due to the
> > > > different EC.
> > >
> > > Is the EC on the xx20 series Thinkpads (e.g. X220) an H8 EC or not?
> >
> > AFAIK, yes. The specific H8S model used varies, but they are similar.
> > I re-checked the T440p and it uses a different SMSC MEC1633L EC. That
> > would explain why only the T440p had some weird issues regarding EC
> > stuff.
> >
> > Best regards,
> > Angel

Regards,
Angel
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: Call for testing: Weird behavior of the EC on Thinkpad X230s

2020-07-16 Thread Angel Pons
Hi Persmule,

On Thu, Jul 16, 2020 at 5:02 PM Persmule  wrote:
>
> Hi Angel Pons,
>
> ‐‐‐ Original Message ‐‐‐
> On Thursday, July 16, 2020 2:47 PM, Angel Pons  wrote:
> > I suspect that reusing the H8 EC code for the xx30 series Thinkpads is
> > a source of bugs. There isn't any H8 EC on those mainboards anymore,
> > the EC was replaced with a completely different SMSC MEC1619. The
> > T440p port seems to have a few bugs which might be due to the
> > different EC.
>
> Is the EC on the xx20 series Thinkpads (e.g. X220) an H8 EC or not?

AFAIK, yes. The specific H8S model used varies, but they are similar.
I re-checked the T440p and it uses a different SMSC MEC1633L EC. That
would explain why only the T440p had some weird issues regarding EC
stuff.

Best regards,
Angel
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: Call for testing: Weird behavior of the EC on Thinkpad X230s

2020-07-16 Thread Angel Pons
Hi Persmule,

I don't own any Thinkpads so I can't test anything. Still, here's my
two cents about the issue at hand.

On Thu, Jul 16, 2020 at 1:43 PM Persmule  wrote:
>
> Hi all,
> Days ago the coreboot port for Thinkpad X230s ( 
> https://review.coreboot.org/c/coreboot/+/41390 ) for one of my friends got 
> merged. Most stuffs on this laptop proves to work fine, but the interaction 
> between its EC and cellular modem installed in its internal M.2 socket is 
> detected to be a bit weird, and because of this the cellular modem installed 
> internally becomes hardly usable:

I know there's some workaround for broken BDC detection. Maybe
something similar is needed for the X230s.

> If the laptop is connected to AC power, the cellular modem is disabled and 
> cannot be enabled with software. (e.g. Modem manager ) as if there were a 
> hardware switch set to flight mode; if the AC power is absent, whether the 
> cellular modem is usable depends on the operating system.
>
> The detailed testing result table collected by my friend is attached, in html 
> format.
>
> The direct cause of this phenomenon may be that the EC erroneously pull down 
> the GPIO pin for rfkill (Pin 8 of the M.2 socket with key B) when the AC 
> power gets present, but I cannot confirm whether the main board of this X230s 
> is faulty, or the EC firmware is buggy, or the EC of X230s should be treated 
> differently as the EC of X230, which I did not implement in my work.

I suspect that reusing the H8 EC code for the xx30 series Thinkpads is
a source of bugs. There isn't any H8 EC on those mainboards anymore,
the EC was replaced with a completely different SMSC MEC1619. The
T440p port seems to have a few bugs which might be due to the
different EC.

> Currently, this problem is walked around by blocking the Pin with a small 
> piece of insulating tape.
>
> Since I have experienced only one X230s, I cannot tell which one is the real 
> case. Could ye help me to confirm and/or improve this if ye have a chance to 
> access your own Thinkpad X230s?
>
> Regards,
> Persmule
> ___
> coreboot mailing list -- coreboot@coreboot.org
> To unsubscribe send an email to coreboot-le...@coreboot.org

Best regards,
Angel Pons
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: request simple information

2020-07-15 Thread Angel Pons
Hi Marco,

On Wed, Jul 15, 2020 at 6:25 PM Marco Franchi Moretti
 wrote:
>
> Thanks all coreboot core team for support and innovation, privacy and
> free technology. I have a technician question. I have Onda OBook 11
> Plus, Intel Cherry Trail Z8300 64bit Quad Core and Intel Graphics. I
> can ask at core team Coreboot: please suggest how to select in
> menuconfig for try to install coreboot inside this tablet ?

This mainboard isn't supported. That means there isn't any entry in
menuconfig to build coreboot for this board. In such cases, one would
need to port the board to coreboot, which would be rather complicated
for Cherry Trail: there aren't any other Cherry Trail boards in the
tree, and I don't know if the Braswell FSP supports Cherry Trail.

> I hope someone respond, thanks for all.
> ___
> coreboot mailing list -- coreboot@coreboot.org
> To unsubscribe send an email to coreboot-le...@coreboot.org

Best regards,
Angel
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: Extended IvyBridge CPU configuration

2020-07-15 Thread Angel Pons
Hi Lars, list,

On Wed, Jul 15, 2020 at 5:41 PM Lars Hochstetter
 wrote:
>
> Update: I tried the https://review.coreboot.org/c/coreboot/+/42547/ on
> my T430 (i7-3840QM, Debian Buster 4.19.0-9-amd64) using coreboot v4.12 +
> SeaBIOS as base.
>
> I used s-tui to track the CPU frequency.
>
> Without the patch on coreboot v4.12 the CPU reached its "usual" 3.3 -
> 3.4 GHz (4C/8T) using the stress function of s-tui.
>
> With the patch the CPU reached at most 3.2GHz (intel_pstate) / 2.8GHz
> (acpi-cpufreq).

Thanks for testing! I'm the one who made that change, and I currently
only have two CPUs to test it with. I generally check the CPU
frequency with: `cat /proc/cpuinfo | grep MHz`

> Maybe there is an issue with mobile CPUs?

I'd say the issue is because of how I determine the overclocking
headroom that the CPU is capable of. On my CPUs, it happens that the
number of OC bins is the same as the number of steps between the base
frequency ratio and the maximum turbo ratio. I imagine this isn't the
case for other CPUs (which I do not currently have any of nearby) and
would explain why the gains aren't as high as expected.

It would be nice if you could provide a few MSR values from that CPU.
You can use `rdmsr` from msr-tools: https://github.com/intel/msr-tools

 * 0xce  (MSR_PLATFORM_INFO)
 * 0x194 (MSR_FLEX_RATIO)
 * 0x1ad (MSR_TURBO_RATIO_LIMIT)

> On 24.06.20 20:00, Lars Hochstetter wrote:
> > Hi, thanks for the pointer!
> >
> > I only fear that running my CPU at the maximum possible Turbo Ratio
> > will overheat it.
> >
> > I can give it a try but I'm actually looking for an option to limit
> > the maximum Turbo Ratio the CPU is allowed to reach (hence the
> > disabling of TurboBoost altogether).

In its current state, my patch seems to achieve that :P

> > On 21/06/2020 00:52, Evgeny Zinoviev via coreboot wrote:
> >> Hi again. There's another patch that fits to the topic that you will
> >> probably want to try out:
> >> https://review.coreboot.org/c/coreboot/+/42547/
> >>
> >> On 12/15/19 3:57 PM, Lars Hochstetter wrote:
> >>> Hi everyone,
> >>>
> >>> I'm looking for an option to configure my Intel IvyBridge CPU
> >>> (enable / disable Hyperthreading, TurboBoost, set configurable TDP
> >>> level etc.) using coreboot / nvramcui. My board is a Lenovo Thinkpad
> >>> T430. So far, "only virtualization" is configurable and can not be
> >>> enabled / disabled "in flight" but requires a rebuild of coreboot.
> >>>
> >>> Is anyone currently working on something similar?
> >>>
> >>> Is anything planned in that regard?
> >>>
> >>> Kind regards
> >>>
> >>> lhochstetter

Thanks in advance,

Angel
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: Lenovo R500

2020-06-18 Thread Angel Pons
Hi list,

On Thu, Jun 18, 2020 at 9:18 AM Mike Banon  wrote:
>
> It's a bit not obvious, but by searching at
> ./coreboot/src/mainboard/lenovo$ find . -type f -print0 | xargs -0
> grep -n "R500" - I could see that R500 is a variant of Thinkpad
> T400: i.e. " ./t400/Kconfig.name:10:config BOARD_LENOVO_R500 " . Since
> this board_status table mentions each board type once, only T400
> appears there.

Yes, this is a known problem of board status.

> So your R500 is supported by coreboot, almost certainly blobless.
> coreboot's installation is identical to libreboot: you simply flash a
> compiled BIOS image. Tool to change a mac address: I haven't checked
> if it could be found in ./coreboot/util/ - but almost certainly a
> libreboot's tool should be compatible with coreboot, and maybe
> libreboot project took this tool from somewhere else where there's an
> even newer version

This is untrue. By default, coreboot will not produce a full firmware
image, so one must only flash the BIOS region. With a recent enough
flashrom (v1.1 onwards), it's just a matter of adding the `--ifd -i
bios` arguments when flashing coreboot. Moreover, the R500 does not
use the Intel GbE controller inside the southbridge, but a Broadcom
PCIe NIC. Its MAC address does not reside in the flash chip, so it is
not easy to change.

In any case, there's documentation in coreboot:
https://doc.coreboot.org/mainboard/lenovo/montevina_series.html

> On Tue, Jun 16, 2020 at 11:41 AM trabajo3 via coreboot
>  wrote:
> >
> > Hello!, I wantt to know if the Lenovo R500 has coreboot support without any 
> > blobs
> > https://phoronix.com/scan.php?page=news_item&px=Coreboot-4.10-Released
> > Here it says that is supported
> > but
> > https://coreboot.org/status/board-status.html
> > doesnt appear
> > and in the tree also no
> >
> > Another question is if there is any tool like in the libreboot proyect to 
> > change mac address and if there is any complete video tutorial to install 
> > libreboot, because in youtube there are full videos about libreboot but for 
> > coreboot i didnt find anyone with good explanation.
> > Thanks for ur time!
> > Best Regards
> >
> >
> > Sent with ProtonMail Secure Email.
> >
> > ___
> > coreboot mailing list -- coreboot@coreboot.org
> > To unsubscribe send an email to coreboot-le...@coreboot.org
> ___
> coreboot mailing list -- coreboot@coreboot.org
> To unsubscribe send an email to coreboot-le...@coreboot.org

Regards,
Angel
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: Hiccups bringing ACPI support to p3b-f

2020-05-19 Thread Angel Pons
Hi all,

On Sat, May 16, 2020 at 2:23 AM Keith Hui  wrote:
>
> Hi Nico,
>
> I tried a few things. Looks like Linux kernel activated a couple PCI
> quirks and claimed the ACPI and SMBus port ranges on top of what we
> already reported. Seems to be the source of the conflict.
> I have to omit the SMBus port range in pwrmgt_read_resources() in
> southbridge/intel/i82371eb/smbus.c to make the conflict go away, but
> that is not exactly correct.
>
> It is either this hack (which doesn't always work anyway), or rip the
> SMBus driver out of DSDT, which S3 suspend for p3b-f is going to need,
> or go expert mode and rebuild kernel with PCI_QUIRKS turned off. But I
> also have a Realtek NIC with its own quirks, and turning PCI_QUIRKS
> off kills that workaround as well.
>
> What is my proper next step?

I would say: check why the quirk is getting enabled, and try to make
it not enable for coreboot. Otherwise, we have to make coreboot be
wrong just to make the kernel happy.

> Thanks
> Keith

Best regards,

Angel
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: About support for my netbook

2020-05-11 Thread Angel Pons
Hi Piotr,

On Mon, May 11, 2020 at 4:02 PM Piotr Król  wrote:
>
> On 3/13/20 11:23 AM, Angel Pons wrote:
> > Hi,
> >
> > On Thu, Mar 12, 2020 at 11:07 AM Michal Zygowski
> >  wrote:
> >>
> >> Hi,
> >>
> >> it may also be a Cedarview chipset. According to my knowledge there is
> >> no support for Cedarview chipset in coreboot. However coreboot has
> >> slightly older (1 year older) chipset support - Pineview.
> >
> > Pineview is very different, though. Memory initialization for Pineview
> > resembles that of Eaglelake (src/northbridge/intel/x4x). Although it
> > only has one memory channel, the registers in MCHBAR are very similar.
> >
> > On the other hand, Cedarview's internal architecture differs radically
> > from Pineview, and it is actually more like Bay Trail. Both use the
> > IOSF architecture, and memory is initialized by interacting with
> > various "units" inside the chip.
> >
> > About the southbridge, I don't know if Cedarview can use NM10 (found
> > on Pineview) or if it must use an EG20T PCH:
> > https://ark.intel.com/content/www/us/en/ark/products/52501/intel-platform-controller-hub-eg20t.html
>
> Hi,
> isn't Cedarview a processor code name and Cedar Trail platform code name?

Yes, I was talking about the processor.

Also, looks like I confused Cedarview with the older Tunnel Creek.
Cedarview would only support the EG20T PCH, it seems.

> This presentation mix both:
> https://manualzz.com/doc/26041007/cedar-trail-platform-bios-session
>
> Interesting slide is 21, this lead me to pre-FSP time when BLDK was used
> and I found this:
> https://www.intel.pl/content/dam/www/public/us/en/documents/guides/cedar-trail-bldk-get-started-guide.pdf

I recall that there were binaries for this somewhere, but can't find
them anymore.

> Probably only companies that have CNDA with Intel can still obtain
> those, but who knows maybe it lays on some server somewhere.
>
> Best Regards,
> --
> Piotr Król
> Embedded Systems Consultant
> GPG: B2EE71E967AA9E4C
> https://3mdeb.com | @3mdeb_com
> ___
> coreboot mailing list -- coreboot@coreboot.org
> To unsubscribe send an email to coreboot-le...@coreboot.org

Best regards,

Angel
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: beginner's despair ;) coreboot update via internal fails

2020-05-11 Thread Angel Pons
Hi,

On Thu, May 7, 2020 at 7:13 PM Nico Huber  wrote:
>
> Hi,
>
> On 07.05.20 18:11, Felix Held wrote:
> > I'd say that flashrom only verifying the section it writes by default
> > would be less surprising behavior than the current behavior.
>
> we'd need a distinction between reliable and unreliable programmers
> first. Because not verifying everything with the latter can be fatal
> (we don't even know if commands / addresses were correctly received
> by the flash). And that's just the biggest problem. Restrictions of
> internal programmers (e.g. Intel) can cause trouble too (what erase
> command does the PCH send? oops, did the chip ignore the least signi-
> ficant address bits?).

Given these risks, I prefer to have safe defaults. It's better to
error out early instead of silently corrupting something.

Something I have noted is that flashrom is too verbose by default, and
too much text means people are more likely to not read it in detail.
If we can't be quieter, maybe we should indent warning and error
messages so that they stick out (literally).

> So, "the section it writes by default" is pretty much unknown. We
> could still have a better default ofc. In this particular case (Intel
> restricts reading) we could default to read everything that can be
> read (usually, parts of the chip that can't be read also can't be
> written, so that should be safe). But that's a bigger change (very
> big given flashrom's development pace).

That can be risky. If people just run flashrom and both reading and
verifying complete successfully, they might think that they have a
good backup image. However, that will not be the case. If running
flashrom without any additional parameters does not work, people might
wonder why and end up learning about the read restrictions imposed by
the hardware. Maybe we can reach a compromise and make `--ifd` without
specifying any regions do such a thing? Even then, we would still need
to handle writes...

> Nico
> ___
> coreboot mailing list -- coreboot@coreboot.org
> To unsubscribe send an email to coreboot-le...@coreboot.org

Best regards,

Angel
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: Difference between GA-B75M-D3V and GA-B75M-D3H?

2020-03-25 Thread Angel Pons
Hi,

On Wed, Mar 25, 2020 at 7:13 AM Paul Menzel  wrote:
>
> Dear Matt,
>
> Am 25.03.20 um 03:36 schrieb Matt B:
>
> > Noticed someone running a GA-B75M-D3V with coreboot but that it
> > hadn't had a status report since 2017. I did notice that GA-B75M-D3H
> > is still around though with a status from may of 2019.
> >
> > Is the GA-B75M-D3H supported in the latest master?

Both of them are supported. However, board_status doesn't take
variants into account (it shows them as the "parent" board).

> Maybe the board owners know, but why do you assume it’s broken, if there
> is a success report from May 2019?

I guess the question was about the GA-B75M-D3V. In any case, both are
pretty similar.

> > What's the difference between these two?

Well, Gigabyte has pictures of their boards, so why not check it out
yourself? You can look up both models on your favorite search engine.
In any case, here's a picture of each:

GA-B75M-D3H: https://www.gigabyte.com/FileUpload/Product/2/4150/5670_big.jpg
GA-B75M-D3V: https://www.gigabyte.com/FileUpload/Product/2/4151/5674_big.jpg

So, the D3H has two extra DIMM slots, another PCI slot, a single PCIe
x4 slot (note the four pairs of capacitors between the PCIe slot and
the "All Japanese Capacitors" text), HDMI and a TPM connector.

> Before writing your post, did you check out the source for yourself?
> Please do so.
>
> Commit 1bffc4bd (mb/gigabyte/ga-b75m-d3{h,v}: Switch to variant setup)
> [1] sets them up as variants.

In layman's terms, if mainboards can be turned into variants, that any
of them is known to be working implies that the other variants are
working as well.

> Also run:
>
>  $ diff -ur
> src/mainboard/gigabyte/ga-b75m-d3h/variants/{ga-b75m-d3v,ga-b75m-d3h}
>
> Then you see, that besides some license header difference, GPIO 17
> differs, the GA-B75M-D3H misses the HDA verb configuration, and it looks
> like it has one more HDMI connector.

Paul, comparing the source code isn't very useful, as it might be
wrong. It is best to draw conclusions from the mainboards themselves,
especially given that visual comparison (or even comparing the
manufacturer's specifications) is straightforward.

For example, have you checked out the change you have linked? More
specifically, the single line change of this file:
https://review.coreboot.org/c/coreboot/+/32708/16/src/mainboard/gigabyte/ga-b75m-d3h/romstage.c

> Kind regards,
>
> Paul
>
> [1]: https://review.coreboot.org/c/coreboot/+/32708
> _______
> coreboot mailing list -- coreboot@coreboot.org
> To unsubscribe send an email to coreboot-le...@coreboot.org

Best regards,

Angel Pons
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: Need PCI(e) vs PNP resource allocation help

2020-03-19 Thread Angel Pons
Hi,

On Thu, Mar 19, 2020 at 9:52 AM Nico Huber  wrote:
>
> Hi Keith,
>
> On 18.03.20 23:55, Keith Hui wrote:
> > These are the devicetree.cb entries:
> >
> > device pnp 2e.b on  # HWM, LED
> > io  0x60 = 0x290 # HWM address
> > drq 0xe4 = 0xf9 # GP50,52,55
> > drq 0xf0 = 0x3e # Enable all fan input debouncer
> > end
>
> it looks like this 2e.b LDN has another i/o resource at 0x62. The
> allocator often gets confused if a PNP device is enabled but the
> resources are not assigned in the devicetree. Try setting it, maybe
> even 0 works.

It does, see CB:39299 as an example.

> Nico
> ___
> coreboot mailing list -- coreboot@coreboot.org
> To unsubscribe send an email to coreboot-le...@coreboot.org

Best regards,

Angel
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: How to get a working snapshot of coreboot, submodules, seabios... everything for T440p?

2020-03-15 Thread Angel Pons
Hi Dalao,

On Sun, Mar 15, 2020 at 1:09 AM Dalao  wrote:
>
> Thanks and it seems if I enable these configs it will not boot:
>
> CONFIG_CONSOLE_SPI_FLASH=y
> CONFIG_SPI_CONSOLE=y
> CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8=y

There should be no need to use such a high log level. It slows down
boot a lot for no good reason. About the SPI console, I wonder why
there are two different settings. Please try with only
CONFIG_CONSOLE_SPI_FLASH.

> At the very beginning I did not enable these settings, I believe it's due to 
> lack the microcode extracted from vendor's BIOS.
>
> Mar 15, 2020, 06:35 by th3fan...@gmail.com:
>
> Hi Dalao,
>
> On Sat, Mar 14, 2020 at 10:26 PM Dalao via coreboot
>  wrote:
>
> Finally make it boot now! I have asked for help on reddit 
> https://www.reddit.com/r/coreboot/comments/fibu68/after_several_days_work_still_cant_get_coreboot/
>  and thanks to p4block he made a build and it works and he shared his config 
> https://hastebin.com/ojihusirok.ini
>
> I pulled the latest master and build using his config and it works! But I 
> still do't know what't the extract problem for my build...
>
>
> Please use "make savedefconfig" with your settings. The full config is
> too bloated and it's hard to see what differs from defaults (what the
> defconfig contains).
>
> Best regards,
>
> Angel Pons
>
> PS: I've omitted the unnecessary quoted text from this reply. If
> context is needed, it can be found in previous messages.

Best regards,

Angel Pons
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: How to get a working snapshot of coreboot, submodules, seabios... everything for T440p?

2020-03-14 Thread Angel Pons
Hi Dalao,

On Sat, Mar 14, 2020 at 10:26 PM Dalao via coreboot
 wrote:
>
> Finally make it boot now! I have asked for help on reddit 
> https://www.reddit.com/r/coreboot/comments/fibu68/after_several_days_work_still_cant_get_coreboot/
>  and thanks to p4block he made a build and it works and he shared his config 
> https://hastebin.com/ojihusirok.ini
>
> I pulled the latest master and build using his config and it works! But I 
> still do't know what't the extract problem for my build...

Please use "make savedefconfig" with your settings. The full config is
too bloated and it's hard to see what differs from defaults (what the
defconfig contains).

Best regards,

Angel Pons

PS: I've omitted the unnecessary quoted text from this reply. If
context is needed, it can be found in previous messages.
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: How to get a working snapshot of coreboot, submodules, seabios... everything for T440p?

2020-03-13 Thread Angel Pons
Hi Dalao,

On Fri, Mar 13, 2020 at 3:36 PM Dalao via coreboot
 wrote:
>
> I'm trying to build coreboot for T440p and still can't boot. I have tried the 
> official repo's latest master branch, it can't boot. The power button led is 
> on, keyboard led on for a second and then off, fan is on, but the screen is 
> not. I don't have a debug device. Ordered a FT232H but it's on the way. I 
> don't know what's the problem. So I looked around trying to find a working 
> one. I also tried the official repo's 4.11_branch, it's the same problem.

I would suggest enabling SPI flash console, which writes logs to the
SPI flash chip. Build, flash, and try booting. Then, power off and
read the flash chip back. There should be a log somewhere inside the
CBFS.

> I also tried different configs use LIBGFXINIT or use VGAROM, and Tianocore or 
> Seabios payload. Still the same problem. The most recent config is:
> https://pastebin.com/7vnji9i2

You are using me_cleaner. Try not using it, as it can break things.
Ideally, just selecting USE_BLOBS (needed for microcode), selecting
the mainboard and adding the mrc.bin should result in a bootable
build. It will print a large warning, though: since the IFD/ME/GbE
regions were left empty, flashing the result as-is will not work. On
the t440p with two flash chips, you only need to flash the last 4 MiB
of the 12 MiB coreboot.rom into the 4 MiB chip.

libgfxinit should just work. The VBIOS is less likely to work fine on
the first try, as extracting it is more error-prone.

> The sha1sum of the blobs I obtained are:
> $ sha1sum mrc.bin
> d18de1e3d52c0815b82ea406ca07897c56c65696 mrc.bin

Okay, that matches with the mrc.bin of peppy. The one I use (from
wolf) has a different hash, no idea as to why.

> $ sha1sum pci8086,0416.rom (obtained through linux kernel)
> 4074e1fa2f788f91d3612b6fe861c9c3faf5560a pci8086,0416.rom
>
> I also tried archfan's repo for T440p but still can't build. It has some 
> issues with submodules https://github.com/archfan/coreboot/issues/12
>
> I flashed back backuped original bios, and it can boot. I assume it's still a 
> software issue with my coreboot build. How to get a working snapshot of 
> coreboot, submodules, and seabios/tianocore at the time when the T440p can 
> work?

That's good to hear.

> ___
> coreboot mailing list -- coreboot@coreboot.org
> To unsubscribe send an email to coreboot-le...@coreboot.org

Best regards,

Angel Pons
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: About support for my netbook

2020-03-13 Thread Angel Pons
Hi,

On Thu, Mar 12, 2020 at 11:07 AM Michal Zygowski
 wrote:
>
> Hi,
>
> it may also be a Cedarview chipset. According to my knowledge there is
> no support for Cedarview chipset in coreboot. However coreboot has
> slightly older (1 year older) chipset support - Pineview.

Pineview is very different, though. Memory initialization for Pineview
resembles that of Eaglelake (src/northbridge/intel/x4x). Although it
only has one memory channel, the registers in MCHBAR are very similar.

On the other hand, Cedarview's internal architecture differs radically
from Pineview, and it is actually more like Bay Trail. Both use the
IOSF architecture, and memory is initialized by interacting with
various "units" inside the chip.

About the southbridge, I don't know if Cedarview can use NM10 (found
on Pineview) or if it must use an EG20T PCH:
https://ark.intel.com/content/www/us/en/ark/products/52501/intel-platform-controller-hub-eg20t.html

> My experience is very little when it comes to older chipsets, but
> judging by how sanydbridge and ivybridge works, pineview and cedarview
> should have most thing in common. That said, i would try to go out from
> pineview northbridge in coreboot. The next question is which southbirdge
> to choose. There are two mainboards based on pineview. Most likely you
> would have to select:
>
> select CPU_INTEL_SOCKET_FCBGA559
> select NORTHBRIDGE_INTEL_PINEVIEW
> select SOUTHBRIDGE_INTEL_I82801GX
>
> in your mainboard Kconfig. The CPU socket also matches according to
> Intel ARK about N2600
>
> https://ark.intel.com/content/www/us/en/ark/products/58916/intel-atom-processor-n2600-1m-cache-1-6-ghz.html

Note that, even though the LGA775 socket was used for many different
CPU generations, not every LGA775 mainboard can take any LGA775 CPU.

> The initialization for that particular silicon is native so no FSP
> required. Since it may be hard to debug, I advise to get a USB debug
> dongle and enable it in coreboot menuconfig. But before that, find out
> which USB port on this netbook is connected to EHCI debug port.
> Typically it is the first port on the root hub. You can find it out
> using lspci and lsusb in Linux (by connecting a USB-UART dongle for
> example to the investigated port). The dongles supported by coreboot
> are: FTDI232H/FTDI2232H, or you can use BeagleBone board.

There's also `util/find_usbdebug` in coreboot.

> Regards,
>
> --
> Michał Żygowski
> Firmware Engineer
> https://3mdeb.com | @3mdeb_com
>
> On 12.03.2020 06:06, Benjamin Doron wrote:
> > Hi,
> > The Intel FSP (Firmware Support Package) is a required part of chipset 
> > initialisation. I can't find one for Cedar View, (github.com/IntelFsp/FSP) 
> > the family your CPU, an Atom N2600, is a part of.

There is an old FSP around: QueensBayFspBinPkg. However, it will not
work with current coreboot, as FSP 1.0 support had to be dropped.

> > Somebody else should confirm (I don't know your platform well), but it 
> > seems impossible about this. Sorry.

The first MinnowBoard uses a Cedarview chip. There is some ancient EFI
firmware around:
https://github.com/RafaelRMachado/MinnowBoard/tree/master

There might be something better thank stinky binaries somewhere, but I
don't know if it's still around after eight years...

> > ___
> > coreboot mailing list -- coreboot@coreboot.org
> > To unsubscribe send an email to coreboot-le...@coreboot.org
>
> ___
> coreboot mailing list -- coreboot@coreboot.org
> To unsubscribe send an email to coreboot-le...@coreboot.org

Best regards,

Angel Pons
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: About autoport in coreboot source tree

2020-03-07 Thread Angel Pons
Hi,

On Sat, Mar 7, 2020, 16:02 Alif Ilhan  wrote:

> Can I use autoport function to port coreboot to any unsupported netbook?
> Please let me know
>

No. Autoport only generates files that can be used as a starting point. It
is usually good enough to boot, but many things will not be
working properly.

To make a proper coreboot port for a laptop, one needs to add support for
the embedded controller, which usually handles the battery charger,
keyboard, touchpad and fan, among other things. Unfortunately, they are
almost always undocumented: no datasheets are publicly available and it
runs custom, mainboard-specific firmware. This is by far the hardest part
of porting a laptop.

Do you plan on porting any specific netbook? If the chipset is not
supported, porting it may take years even for an experienced developer.

___
> coreboot mailing list -- coreboot@coreboot.org
> To unsubscribe send an email to coreboot-le...@coreboot.org


Regards,

Angel Pons
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: Still need assistance porting to ASUS P8Z77-M

2020-03-01 Thread Angel Pons
AS latencies : 5 6 7 8 9 10 11
>   tCKmin:   1.250 ns
>   tAAmin:  13.125 ns
>   tWRmin:  15.000 ns
>   tRCDmin   :  13.125 ns
>   tRRDmin   :   6.000 ns
>   tRPmin:  13.125 ns
>   tRASmin   :  35.000 ns
>   tRCmin:  48.125 ns
>   tRFCmin   : 160.000 ns
>   tWTRmin   :   7.500 ns
>   tRTPmin   :   7.500 ns
>   tFAWmin   :  30.000 ns
> channel[0] rankmap = 0x3
> SPD probe channel0, slot1
>   Rowaddr bits  : 15
>   Column addr bits  : 10
>   Number of ranks   : 2
>   DIMM Capacity : 4096 MB
>   CAS latencies : 5 6 7 8 9 10 11
>   tCKmin:   1.250 ns
>   tAAmin:  13.125 ns
>   tWRmin:  15.000 ns
>   tRCDmin   :  13.125 ns
>   tRRDmin   :   6.000 ns
>   tRPmin:  13.125 ns
>   tRASmin   :  35.000 ns
>   tRCmin:  48.125 ns
>   tRFCmin   : 160.000 ns
>   tWTRmin   :   7.500 ns
>   tRTPmin   :   7.500 ns
>   tFAWmin   :  30.000 ns
> channel[0] rankmap = 0xf
> SPD probe channel1, slot0
> SPD probe channel1, slot1
> SPD probe channel1, slot0
> SPD probe channel1, slot1
> Starting Ivybridge RAM training (0).
> No valid DIMMs found

Both DIMMs are on the failing channel. This means that there are no
DIMMs to initialize on the other channel, so raminit just halts.

> --- END NATIVE RAMINIT LOG ---
>
> --- BEGIN MRC RAMINIT LOG ---

 (MRC raminit debug logs are wet noodles, not really useful)

> --- END MRC RAMINIT LOG ---
>
> [1] This is a message I added in the stub.

Best regards,

Angel Pons
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: Still need assistance porting to ASUS P8Z77-M

2020-02-28 Thread Angel Pons
Hi Keith,

On Fri, Feb 28, 2020 at 7:18 AM Keith Hui  wrote:
>
> A week ago I wrote here about my problems trying to port coreboot to
> my board. Unfortunately I am still no closer to booting.
>
> In the meantime I flashed my new chip with my OEM firmware backup. It
> boots; then I flashed my patched IFD (for chip ID and flash unlock)
> and it still boots. So it's not chip compatibility or corrupted
> descriptor.
>
> The only sign of life I got is the bootblock banner left in the SPI
> console. My PCI POST card is showing nothing, but knowing that it sits
> on a PCIe-PCI bridge (ASM1063 that P8Z77M-PRO does not have) and not
> knowing if it needs software init to work, I am now trying to pull
> POST codes off the LPC bus over the TPM header, using an Arduino Due.
> Do I have to add some early init to have port 80 accesses sent to LPC
> bus for this to work?

You have to tell coreboot where to route LPC post codes to. It
defaults to "None", but you can choose PCI or LPC. I have never tried
to print post codes with coreboot, though. I would try using the
serial port though, as it is more practical for debugging than post
codes.

> Thanks for your help
> Keith
> ___
> coreboot mailing list -- coreboot@coreboot.org
> To unsubscribe send an email to coreboot-le...@coreboot.org

Best regards,

Angel Pons
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: Need suggestions for SPI flash programmer, setting up to begin P8Z77-M port

2020-01-26 Thread Angel Pons
Hi Keith,

On Sun, Jan 26, 2020 at 9:41 PM Keith Hui  wrote:
>
> Hi list,
>
> Seeing that my beloved i440BX platform will not support enough memory
> to run Windows 10, and with 7 EOLed, its days are numbered even though
> I enjoyed working on a blob-free platform.
>
> I am now setting myself up for porting coreboot to my P8Z77-M board,
> where a close cousin is already in the tree.

I would use autoport, and then add it as a variant of the P8Z77-M PRO.
I have yet another cousin of these mainboards, the P8Z77-M LX2.

> First, I need a 8MB SPI flash chip. I picked up a two W25Q64JVSSIM
> from Digikey and some adapter as well since they don't carry any in
> DIP form anymore. :( I mounted one and it seems to physically work. It
> wasn't supported in flashrom yet, so I sent a patch there as well [1],
> flagged as untested, because an issue I'll get to later, and my reason
> for this email.
>
> Next, I need a SPI flash programmer. I'm trying to avoid making major
> purchases. The most handy thing I have is a 5V Arduino Mega 2560 r3,
> so I loaded frser-duino on it, and HoodLoader2 on its 16u2 for the
> fast USB. I also picked up a level shifter module [2] because the
> chips are 3.3V. When I wired up everything on a breadboard with the
> board's original chip it reads fine and I was actually able to save a
> backup of its contents. Of course I then wanted to build something
> that I can just plug the chip in and go, as I will need to use it
> quite often.
>
> I wired the level shifter and a DIP socket on a XBee shield (because
> it has a 3.3V regulator and a proto area), but it's not detecting the
> chip. I then reverted to the breadboard, this time using 3 resistor
> dividers for level shifting because the level shifter's legs are now
> soldered on the shield.
>
> I read the (still virgin) chip 3 times, and saw the read bytes
> periodically goes to 0x00 instead of being all 0xff, as expected from
> an unprogrammed chip. The connection is not working right.
>
> What else can I try? If I can't get this serprog-on-an-arduino setup
> working, what is my next best setup I can use?

I've always had issues when using an Arduino. I would only use it if
nothing else is available.
I have a pair of FT2232H, and they work pretty well as flashrom SPI
programmers. They are much faster than an Arduino, which is nice when
flashing often. Also, they work at 3.3V, so there's no need for level
shifters. The FT2232H can also be used as an EHCI debug dongle for
coreboot, which is useful when a serial port isn't available.

> [1] https://review.coreboot.org/c/flashrom/+/38578
> [2] https://www.velleman.eu/products/view/?id=435578
> ___
> coreboot mailing list -- coreboot@coreboot.org
> To unsubscribe send an email to coreboot-le...@coreboot.org

Best regards,

Angel Pons
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: Coreboot + ASUS P5K-E???

2020-01-13 Thread Angel Pons
Hi Aaron, Mike,

On Mon, Jan 13, 2020 at 9:34 AM Mike Banon  wrote:
>
> On Mon, Jan 13, 2020 at 11:10 AM Aaron Garza  wrote:
> >
> > Does Coreboot work on every motherboard or does it have to be certain
> > motherboards/PCs?
> >
> > I have an old Intel Core 2 Quad and an ASUS P5K-E motherboard that I
> > would love to set up with a coreboot BIOS replacement. Is it even possible?

The Asus P5K-E uses a P35 northbridge, for which there is no support.
Getting coreboot to run on it would require adding support for this
northbridge (which is a rather complex task).

About mainboard support: coreboot can run on anything as long as
support for it is added. For example, porting (adding support for)
LGA775 or LGA1155 desktop boards is not too hard, as long as the
northbridge, southbridge and SuperIO are supported. Of course,
flashing coreboot onto a supported board is easier, but you learn much
more when doing a port. Laptops are harder to port, however. They have
an EC (embedded controller), which is a microcontroller running some
custom, undocumented firmware. coreboot does not replace the EC
firmware, but has to interact with the EC to make things like
keyboard, touchpad, fan control, lid switch, battery and power
management function correctly. Adding support for the EC interface is
the most time-consuming part of a laptop port.

> As coreboot does the low level init of hardware, its' support is
> board-specific of course. If you'd look at coreboot supported boards (
> i.e. those with a board status report here -
> https://coreboot.org/status/board-status.html ), there are some ASUS
> P5*** boards supported. Compare your P5K-E technical specification
> against these boards, take the most similar one, build a coreboot for
> it and (after a backup of previous chip contents just in case) try it
> on your PC - maybe it will work. I've done ASUS P2B build for my
> friend's ASUS P2B-B board, and it ran fine without any source code
> modifications at all! Perhaps should add it as a board variant to
> Kconfig, but I'm too lazy/busy solving the other problems.

Please don't suggest "cross-flashing". That it worked does not mean
that it is a wise thing to do. Different boards have different
settings, and some of these are critical. The worst case are GPIOs:
configurable pins that can be either inputs or outputs. If a GPIO that
is wired as an input is configured as an output, this will result in a
shortcircuit when the logic levels conflict, which can damage
something. Maybe some GPIOs control the RAM voltage regulators on some
boards?

> ___
> coreboot mailing list -- coreboot@coreboot.org
> To unsubscribe send an email to coreboot-le...@coreboot.org

Best regards,

Angel
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


  1   2   >