Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: Xen: ARM

Strange behaviour...

 

 

Xen arm RSS feed   Index | Next | Previous | View Threaded


Daniel.Rossier at heig-vd

May 22, 2009, 2:01 AM

Post #1 of 3 (592 views)
Permalink
Strange behaviour...

Hello,

Just a question:
The following code is taken from domain_build.c in Samsung's port, in the build_pagetable() function:

...
for (count = 0; count < 4; count++) {
*(pde + count) = l2e_from_paddr((unsigned long)pte, __L2_PAGE_USER_TABLE);
pte += 256; /* coarse page table on ARM */
}
...

However, the l2e_from_paddr() begins with the following assertion: ASSERT((pa & ~(PADDR_MASK & PAGE_MASK)) == 0);

Which will fail since the pte address is incremented with 256 (*4), and is not 4 KB-page aligned.

Is the build_pagetable() function not used anymore?

Cheers
Daniel


Daniel.Rossier at heig-vd

May 22, 2009, 2:03 AM

Post #2 of 3 (556 views)
Permalink
RE: Strange behaviour... [In reply to]

Sorry, the function is setup_pg_tables() and not build_pagetable()....

From: xen-arm-bounces [at] lists [mailto:xen-arm-bounces [at] lists] On Behalf Of ROSSIER Daniel
Sent: vendredi, 22. mai 2009 11:01
To: xen-arm [at] lists
Subject: [XenARM] Strange behaviour...

Hello,

Just a question:
The following code is taken from domain_build.c in Samsung's port, in the build_pagetable() function:

...
for (count = 0; count < 4; count++) {
*(pde + count) = l2e_from_paddr((unsigned long)pte, __L2_PAGE_USER_TABLE);
pte += 256; /* coarse page table on ARM */
}
...

However, the l2e_from_paddr() begins with the following assertion: ASSERT((pa & ~(PADDR_MASK & PAGE_MASK)) == 0);

Which will fail since the pte address is incremented with 256 (*4), and is not 4 KB-page aligned.

Is the build_pagetable() function not used anymore?

Cheers
Daniel


Daniel.Rossier at heig-vd

May 22, 2009, 2:06 AM

Post #3 of 3 (555 views)
Permalink
RE: Strange behaviour... [In reply to]

hmm ok, just saw that you disabled the ASSERT by setting NDEBUG=1 in your Config.mk....
Therefore, ASSERT() is not executed...

From: ROSSIER Daniel
Sent: vendredi, 22. mai 2009 11:03
To: xen-arm [at] lists
Subject: RE: Strange behaviour...

Sorry, the function is setup_pg_tables() and not build_pagetable()....

From: xen-arm-bounces [at] lists [mailto:xen-arm-bounces [at] lists] On Behalf Of ROSSIER Daniel
Sent: vendredi, 22. mai 2009 11:01
To: xen-arm [at] lists
Subject: [XenARM] Strange behaviour...

Hello,

Just a question:
The following code is taken from domain_build.c in Samsung's port, in the build_pagetable() function:

...
for (count = 0; count < 4; count++) {
*(pde + count) = l2e_from_paddr((unsigned long)pte, __L2_PAGE_USER_TABLE);
pte += 256; /* coarse page table on ARM */
}
...

However, the l2e_from_paddr() begins with the following assertion: ASSERT((pa & ~(PADDR_MASK & PAGE_MASK)) == 0);

Which will fail since the pte address is incremented with 256 (*4), and is not 4 KB-page aligned.

Is the build_pagetable() function not used anymore?

Cheers
Daniel

Xen arm RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.