2018-05-06 21:58:06 +00:00
|
|
|
/* SPDX-License-Identifier: GPL-2.0+ */
|
2014-11-13 05:42:09 +00:00
|
|
|
/*
|
|
|
|
* Copyright (c) 2014 Google, Inc
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef _post_h
|
|
|
|
#define _post_h
|
|
|
|
|
|
|
|
/* port to use for post codes */
|
|
|
|
#define POST_PORT 0x80
|
|
|
|
|
|
|
|
/* post codes which represent various stages of init */
|
|
|
|
#define POST_START 0x1e
|
|
|
|
#define POST_CAR_START 0x1f
|
2014-11-13 05:42:10 +00:00
|
|
|
#define POST_CAR_SIPI 0x20
|
|
|
|
#define POST_CAR_MTRR 0x21
|
|
|
|
#define POST_CAR_UNCACHEABLE 0x22
|
|
|
|
#define POST_CAR_BASE_ADDRESS 0x23
|
|
|
|
#define POST_CAR_MASK 0x24
|
|
|
|
#define POST_CAR_FILL 0x25
|
|
|
|
#define POST_CAR_ROM_CACHE 0x26
|
|
|
|
#define POST_CAR_MRC_CACHE 0x27
|
|
|
|
#define POST_CAR_CPU_CACHE 0x28
|
2014-11-13 05:42:09 +00:00
|
|
|
#define POST_START_STACK 0x29
|
|
|
|
#define POST_START_DONE 0x2a
|
2014-11-13 05:42:10 +00:00
|
|
|
#define POST_CPU_INIT 0x2b
|
2014-11-13 05:42:23 +00:00
|
|
|
#define POST_EARLY_INIT 0x2c
|
|
|
|
#define POST_CPU_INFO 0x2d
|
2014-11-13 05:42:28 +00:00
|
|
|
#define POST_PRE_MRC 0x2e
|
|
|
|
#define POST_MRC 0x2f
|
2016-03-07 02:28:18 +00:00
|
|
|
#define POST_DRAM 0x30
|
|
|
|
#define POST_LAPIC 0x31
|
2017-04-21 14:24:30 +00:00
|
|
|
#define POST_OS_RESUME 0x40
|
2014-11-13 05:42:28 +00:00
|
|
|
|
|
|
|
#define POST_RAM_FAILURE 0xea
|
2014-12-12 13:05:30 +00:00
|
|
|
#define POST_BIST_FAILURE 0xeb
|
|
|
|
#define POST_CAR_FAILURE 0xec
|
2017-04-21 14:24:30 +00:00
|
|
|
#define POST_RESUME_FAILURE 0xed
|
2014-11-13 05:42:09 +00:00
|
|
|
|
|
|
|
/* Output a post code using al - value must be 0 to 0xff */
|
|
|
|
#ifdef __ASSEMBLY__
|
|
|
|
#define post_code(value) \
|
|
|
|
movb $value, %al; \
|
|
|
|
outb %al, $POST_PORT
|
|
|
|
#else
|
2014-11-13 05:42:10 +00:00
|
|
|
#include <asm/io.h>
|
|
|
|
|
2014-11-13 05:42:09 +00:00
|
|
|
static inline void post_code(int code)
|
|
|
|
{
|
|
|
|
outb(code, POST_PORT);
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#endif
|