Skip to content

Commit

Permalink
powerpc/nvram: Rename ppc64,linux partition to ibm,rtas-log
Browse files Browse the repository at this point in the history
I'm not aware of any userspace tool accessing it by its name anyways,
it's read back by the kernel itself on the next boot to get back
older log entries

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
  • Loading branch information
Benjamin Herrenschmidt committed Nov 30, 2010
1 parent edc79a2 commit 9a866b8
Showing 1 changed file with 13 additions and 10 deletions.
23 changes: 13 additions & 10 deletions arch/powerpc/platforms/pseries/nvram.c
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,8 @@ struct err_log_info {
#define NVRAM_MAX_REQ 2079
#define NVRAM_MIN_REQ 1055

#define NVRAM_LOG_PART_NAME "ibm,rtas-log"

static ssize_t pSeries_nvram_read(char *buf, size_t count, loff_t *index)
{
unsigned int i;
Expand Down Expand Up @@ -262,8 +264,8 @@ int nvram_clear_error_log(void)
* error logs and cleanup partitions if needed.
*
* The general strategy is the following:
* 1.) If there is ppc64,linux partition large enough then use it.
* 2.) If there is not a ppc64,linux partition large enough, search
* 1.) If there is log partition large enough then use it.
* 2.) If there is none large enough, search
* for a free partition that is large enough.
* 3.) If there is not a free partition large enough remove
* _all_ OS partitions and consolidate the space.
Expand All @@ -281,34 +283,35 @@ static int __init pseries_nvram_init_log_partition(void)
nvram_scan_partitions();

/* Lookg for ours */
p = nvram_find_partition("ppc64,linux", NVRAM_SIG_OS, &size);
p = nvram_find_partition(NVRAM_LOG_PART_NAME, NVRAM_SIG_OS, &size);

/* Found one but too small, remove it */
if (p && size < NVRAM_MIN_REQ) {
pr_info("nvram: Found too small ppc64,linux partition"
pr_info("nvram: Found too small "NVRAM_LOG_PART_NAME" partition"
",removing it...");
nvram_remove_partition("ppc64,linux", NVRAM_SIG_OS);
nvram_remove_partition(NVRAM_LOG_PART_NAME, NVRAM_SIG_OS);
p = 0;
}

/* Create one if we didn't find */
if (!p) {
p = nvram_create_partition("ppc64,linux", NVRAM_SIG_OS,
p = nvram_create_partition(NVRAM_LOG_PART_NAME, NVRAM_SIG_OS,
NVRAM_MAX_REQ, NVRAM_MIN_REQ);
/* No room for it, try to get rid of any OS partition
* and try again
*/
if (p == -ENOSPC) {
pr_info("nvram: No room to create ppc64,linux"
pr_info("nvram: No room to create "NVRAM_LOG_PART_NAME
" partition, deleting all OS partitions...");
nvram_remove_partition(NULL, NVRAM_SIG_OS);
p = nvram_create_partition("ppc64,linux", NVRAM_SIG_OS,
NVRAM_MAX_REQ, NVRAM_MIN_REQ);
p = nvram_create_partition(NVRAM_LOG_PART_NAME,
NVRAM_SIG_OS, NVRAM_MAX_REQ,
NVRAM_MIN_REQ);
}
}

if (p <= 0) {
pr_err("nvram: Failed to find or create ppc64,linux"
pr_err("nvram: Failed to find or create "NVRAM_LOG_PART_NAME
" partition, err %d\n", (int)p);
return 0;
}
Expand Down

0 comments on commit 9a866b8

Please sign in to comment.