WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] RFC: MCA/MCE concept

On 06/06/07 10:28, Christoph Egger wrote:
On Monday 04 June 2007 18:16:56 Gavin Maltby wrote:

In terms of the form of the error event data, the simplest but also
the dumbest would be a binary structure passed from hypervisor
to dom0:

struct mca_error_data_ver1 {
        uint8_t version;        /* structure version */
        uint64_t mc_status;
        uint64_t mc_addr;
        uint64_t mc_misc;
        uint16_t mc_chip;
        uint16_t mc_core;
        uint16_t mc_bank;
        uint16_t domid;
        uint16_t vcpu_id;
        ...
};

Since there are multiple MCA detector banks, and more than
one may have logged a valid error, we need to think about
communicating all the bank error telemetry.  This should
also allow for there being varying numbers of MCA banks in
different proccessor types.  So something like

struct {
        uint8_t version;
        uint8_t nbanks;
        uint16_t flags;
        uint16_t domid;
        uint16_t vcpud_id; /* if meaningful? */
        uint8_t chipid;
        uint8_t coreid;
        uint64_t mcg_status;
        struct {
                mc_status;
                mc_addr;
                mc_misc;
        } bank[1];
};

The bank array is actually sized as per nbanks.

I've added mcg_status and flags.  The latter I'd like to use
for indicators such as "this error data was artificially injected"
etc.

Gavin

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>