s390/sclp: avoid copy of sclp_info_sccb
For extended sccb support, sccb size could be up to 3 pages. Hence avoid copy of sclp_info_sccb. Signed-off-by: Sumanth Korikkar <sumanthk@linux.ibm.com> Reviewed-by: Vasily Gorbik <gor@linux.ibm.com> Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
This commit is contained in:
Родитель
08ab919d0d
Коммит
d25d23e134
|
@ -328,7 +328,7 @@ unsigned int sclp_early_con_check_vt220(struct init_sccb *sccb);
|
|||
int sclp_early_set_event_mask(struct init_sccb *sccb,
|
||||
sccb_mask_t receive_mask,
|
||||
sccb_mask_t send_mask);
|
||||
int sclp_early_get_info(struct read_info_sccb *info);
|
||||
struct read_info_sccb * __init sclp_early_get_info(void);
|
||||
|
||||
/* useful inlines */
|
||||
|
||||
|
|
|
@ -22,12 +22,14 @@ static struct sclp_ipl_info sclp_ipl_info;
|
|||
struct sclp_info sclp;
|
||||
EXPORT_SYMBOL(sclp);
|
||||
|
||||
static void __init sclp_early_facilities_detect(struct read_info_sccb *sccb)
|
||||
static void __init sclp_early_facilities_detect(void)
|
||||
{
|
||||
struct sclp_core_entry *cpue;
|
||||
struct read_info_sccb *sccb;
|
||||
u16 boot_cpu_address, cpu;
|
||||
|
||||
if (sclp_early_get_info(sccb))
|
||||
sccb = sclp_early_get_info();
|
||||
if (!sccb)
|
||||
return;
|
||||
|
||||
sclp.facilities = sccb->facilities;
|
||||
|
@ -155,7 +157,7 @@ void __init sclp_early_detect(void)
|
|||
{
|
||||
void *sccb = sclp_early_sccb;
|
||||
|
||||
sclp_early_facilities_detect(sccb);
|
||||
sclp_early_facilities_detect();
|
||||
|
||||
/*
|
||||
* Turn off SCLP event notifications. Also save remote masks in the
|
||||
|
|
|
@ -258,13 +258,12 @@ int __init sclp_early_read_info(void)
|
|||
return -EIO;
|
||||
}
|
||||
|
||||
int __init sclp_early_get_info(struct read_info_sccb *info)
|
||||
struct read_info_sccb * __init sclp_early_get_info(void)
|
||||
{
|
||||
if (!sclp_info_sccb_valid)
|
||||
return -EIO;
|
||||
return NULL;
|
||||
|
||||
*info = sclp_info_sccb;
|
||||
return 0;
|
||||
return &sclp_info_sccb;
|
||||
}
|
||||
|
||||
int __init sclp_early_get_memsize(unsigned long *mem)
|
||||
|
|
Загрузка…
Ссылка в новой задаче