blob: 6c9817e492d02ea5e31c684f294dd55f4591e768 [file] [log] [blame]
/*******************************************************************************
* °æÈ¨ËùÓÐ (C)2016, ÖÐÐËͨѶ¹É·ÝÓÐÏÞ¹«Ë¾¡£
*
* ÎļþÃû³Æ: ramdump_emmc.h
* Îļþ±êʶ: ramdump_emmc.h
* ÄÚÈÝÕªÒª: ramdump emmcÍ·Îļþ
* ʹÓ÷½·¨: #include "ramdump_emmc.h"
*
* ÐÞ¸ÄÈÕÆÚ °æ±¾ºÅ Ð޸ıê¼Ç ÐÞ¸ÄÈË ÐÞ¸ÄÄÚÈÝ
* ------------------------------------------------------------------------------
* 2016/3/10 V1.0 Create ÕÔ¾ü¿ü ´´½¨
*
*******************************************************************************/
#ifndef _RAMDUMP_EMMC_H
#define _RAMDUMP_EMMC_H
/*******************************************************************************
* Í·Îļþ *
*******************************************************************************/
#include "ramdump.h"
#include <linux/mmc/mmc_func.h>
/*******************************************************************************
* Íⲿ±äÁ¿ÉùÃ÷ *
*******************************************************************************/
extern u64 sysctl_ramdump_emmc_start_addr;
extern unsigned int sysctl_ramdump_emmc_size;
extern volatile unsigned int ramdump_emmc_offset;
/*******************************************************************************
* ºê¶¨Òå *
*******************************************************************************/
#define RAMDUMP_NO_FREE_SPACE (2)
#define RAMDUMP_EMMC_ADDR (sysctl_ramdump_emmc_start_addr * 512)
#define RAMDUMP_TRANS_EMMC_LEN (sysctl_ramdump_emmc_size * 512)
/*******************************************************************************
* Êý¾ÝÀàÐͶ¨Òå *
*******************************************************************************/
/*******************************************************************************
* È«¾Ö±äÁ¿ÉùÃ÷ *
*******************************************************************************/
/*******************************************************************************
* È«¾Öº¯ÊýÉùÃ÷ *
*******************************************************************************/
/**
* @brief ramdump_emmc_init .
*
* @param void.
*
* @return int.
* @retval standard error
* @note This function is used for ramdump init
*/
int ramdump_emmc_init(ramdump_file_t *fp);
int ramdump_emmc_write_file(char *file_name, unsigned int file_size, ramdump_file_t *fp);
int ramdump_emmc_write_file_head(ramdump_file_t *fp);
int ramdump_emmc_modify_file_size(ramdump_file_t *fp, unsigned int file_size);
int ramdump_emmc_write_data(ramdump_shmem_t *msg, ramdump_file_t *fp, unsigned int size);
int ramdump_emmc_write_logbuf(ramdump_file_t *fp);
void ramdump_emmc_close(ramdump_file_t *fp);
int ramdump_emmc_write_log_txt(ramdump_file_t *fp);
/*******************************************************************************
* ÄÚÁªº¯ÊýʵÏÖ *
*******************************************************************************/
#endif //#ifndef _RAMDUMP_EMMC_H