duplicate boot_kernel_data_buffer
[email protected] Tue, 20 Mar 2012 13:42:01 +0900
| Newsgroups | gmane.linux.swsusp.devel,gmane.linux.swsusp.general |
|---|---|
| Message-ID | <[email protected]> |
Hi all,
I'm doing porting development of the TuxOnIce to ARM/BeagleBoard.
I'm investigating the phenomenon (The board freezes at the time of RESUME) where RESUME is not stabilized,
and I have a question about boot_kernel_data_buffer.
The debugging code for displaying restore_pblist was added. (below)
When the phenomenon to freeze occurs, orig_address of boot_kernel_data_buffer is displayed(printk output) twice.
Please tell me whether it is a bug that there is a duplicate to pblist boot_kernel_data_buffer.
tuxonice_pagedir.c:
int add_boot_kernel_data_pbe(void)
{
this_low_pbe->address = (char *) __toi_get_nonconflicting_page();
if (!this_low_pbe->address) {
printk(KERN_INFO "Failed to get bkd atomic restore buffer.");
return -ENOMEM;
}
toi_bkd.size = sizeof(toi_bkd);
memcpy(this_low_pbe->address, &toi_bkd, sizeof(toi_bkd));
*last_low_pbe_ptr = this_low_pbe;
this_low_pbe->orig_address = (char *) boot_kernel_data_buffer;
this_low_pbe->next = NULL;
/*********************** DEBUG CODE ***********************/
#ifdef PBLIST_DUMP
static struct pbe *temp_pbe;
printk(" ------- restore_pblist dump ------- n");
temp_pbe = restore_pblist;
while(1) {
if(temp_pbe == (struct pbe*)0) break;
printk("address = 0x%08x, orig_address = 0x%08x, next = 0x%08xn",
temp_pbe->address, temp_pbe->orig_address, temp_pbe->next);
temp_pbe = temp_pbe->next;
}
#endif
return 0;
}
Regards,
sabakawa