10 messages in com.xensource.lists.xen-ia64-develRE: [Xen-ia64-devel] Problem with xen...
FromSent OnAttachments
Magenheimer, Dan (HP Labs Fort Collins)21 Nov 2005 13:51 
Magenheimer, Dan (HP Labs Fort Collins)21 Nov 2005 16:45 
Keir Fraser21 Nov 2005 21:50 
Keir Fraser21 Nov 2005 21:56 
Magenheimer, Dan (HP Labs Fort Collins)22 Nov 2005 05:09.c
Keir Fraser22 Nov 2005 06:05 
Magenheimer, Dan (HP Labs Fort Collins)22 Nov 2005 08:38 
Magenheimer, Dan (HP Labs Fort Collins)23 Nov 2005 15:08 
Magenheimer, Dan (HP Labs Fort Collins)23 Nov 2005 18:09 
Keir Fraser24 Nov 2005 01:57 
Subject:RE: [Xen-ia64-devel] Problem with xen-unstable cset 7937 (grant tabletransfer fix)
From:Magenheimer, Dan (HP Labs Fort Collins) (dan.@hp.com)
Date:11/23/2005 06:09:59 PM
List:com.xensource.lists.xen-ia64-devel

Well there's a lot of individual pieces and I may have missed something but I was able to boot domU with xen-ia64 tip but when I applied only the grant_table changes (including on the xenlinux side) domU didn't boot -- Cannot open root device.

-----Original Message----- From: Magenheimer, Dan (HP Labs Fort Collins) Sent: Wednesday, November 23, 2005 4:09 PM To: 'Keir Fraser' Cc: 'xen-@lists.xensource.com' Subject: RE: [Xen-ia64-devel] Problem with xen-unstable cset 7937 (grant tabletransfer fix)

Thanks very much!

There is a typo in gnttab_shared_mfn in the asm-ia64/grant_table.h you created ((t)shared should be (t)->shared) and I found a misspelling in include/asm-ia64/mm.h (PGT_writeable should be PGT_writable... this is never actually used on ia64 but needs to be defined syntactically to compile). With these fixes, it compiles.

However, it doesn't run... booting domU gets "Cannot open root device". I will repeat the experiment with xen-ia64 tip (to verify somethin else isn't screwed up) and then with xen-ia64 tip with just the grant_table changes to see if that works.

Or did I miss something that you had left for me to fix semantically in the new ia64-specific header file?

-----Original Message----- From: Magenheimer, Dan (HP Labs Fort Collins) Sent: Tuesday, November 22, 2005 9:39 AM To: 'Keir Fraser' Cc: xen-@lists.xensource.com Subject: RE: [Xen-ia64-devel] Problem with xen-unstable cset 7937 (grant tabletransfer fix)

However, I see no need to ifdef the code that uses pfn_valid, get_page[_type] and put_page[_type]. They are easily noop'ed if they mean nothing on ia64 (in fact I notice that you already define them). I would imagine that at least pfn_valid() makes sense though?

True, I think I can get around these easily enough. One could reasonably argue that the whole concept of page type is very x86-specific but since it can be easily overridden, we can skip dealing with it now.

Apart from that, I also didn't understand the changes in the block commented 'fundamental difference here'.

"Fundamental" is overstated I guess. What I meant is that the control flow and the fact that the code block is completely different depending on whether dom0 or domU would make it hard to hide the ia64-specific implementation behind the existing code, so some separate arch_grant_setup_table may be necessary.

But looks to me like we ought to be able to move ia64 onto common grant_table.c implementation fairly easily. We should shoot down a few of the easy ifdefs first though.

OK, if you could: - create an asm/grant_table.h and put ORDER_GRANT_FRAMES in it - move the big block in _gnttab_map_grant_ref (doing things with l1_pgentry etc) into arch_gnttab_map_grant_ref (or some other way out of grant_table.c) so that I can no-op it - replace the "fundamental" block in grant_setup_table with a function call -- arch_grant_setup_table(d,op,uop)?? -- this probably becomes a static inline in asm/grant_table.h - replace the asm statement with a function call that I can define differently for ia64 then I think I can handle the rest and all the ifdef's will be gone too.