[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.