xen-users
Re: [Xen-users] NVidia 169.07 on XEN
These are the instructions I followed:
http://opsamericas.com/?p=506
Ryan E Roth <ryanroth@xxxxxxxxxxxxx> wrote: I did. Without the patch it would not compile for me. What modules are you loading in your xorg.conf?
Emre Erenoglu <erenoglu@xxxxxxxxx> wrote: did you use this patch before compiling? (attached)
Emre
On Jan 17, 2008 11:19 PM, Ryan E Roth < ryanroth@xxxxxxxxxxxxx> wrote: I did, same issue. It locks the PC up cold.Emre Erenoglu <erenoglu@xxxxxxxxx> wrote: so try version 100.14.19
BTW, I'm using standard xen kernel 2.6.18-8
Emre
On Jan 17, 2008 11:15 PM, Ryan E Roth < ryanroth@xxxxxxxxxxxxx > wrote: I did that and was able to get it to compile fine. When I start X it locks the machine up and I have to pull the power. Hi Ryan, I'm using 100.14.19 and it works fine. You need to compile it with IGNORE_XEN_PRESENCE=y in your environment. Br, Emre On Jan 17, 2008 11:04 PM, Ryan E Roth < ryanroth@xxxxxxxxxxxxx> wrote: First I know XEN is not supported, but I have been able to use the NVidia drivers on it before. I have been able to get the NVidia 169.07 drivers to compile, but when I startx it locks up cold. Has anyone had any luck with the new drivers?
_______________________________________________ Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-users
-- Emre Erenoglu erenoglu@xxxxxxxxx _______________________________________________
-- Emre Erenoglu erenoglu@xxxxxxxxx _______________________________________________ Xen-users mailing list Xen-users@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-users
-- Emre Erenoglu erenoglu@xxxxxxxxx diff -ur nvidia-source-100.14.19-x86_64/conftest.sh nvidia-source-100.14.19-x86_64-xen/conftest.sh --- nvidia-source-100.14.19-x86_64/conftest.sh 2007-09-12 23:53:20.000000000 +0200 +++ nvidia-source-100.14.19-x86_64-xen/conftest.sh 2007-11-22 05:47:37.000000000 +0100 @@ -30,7 +30,7 @@ CFLAGS="$CFLAGS -I$OUTPUT/include2 -I$OUTPUT/include \ -I$HEADERS -I$HEADERS/asm-$ARCH/mach-default" else - CFLAGS="$CFLAGS -I$HEADERS -I$HEADERS/asm/mach-default" + CFLAGS="$CFLAGS -I$HEADERS/asm/mach-xen -I$HEADERS -I$HEADERS/asm/mach-default" fi if [ -n "$BUILD_PARAMS" ]; then diff -ur nvidia-source-100.14.19-x86_64/nv-linux.h nvidia-source-100.14.19-x86_64-xen/nv-linux.h ---
nvidia-source-100.14.19-x86_64/nv-linux.h 2007-09-12 23:53:20.000000000 +0200 +++ nvidia-source-100.14.19-x86_64-xen/nv-linux.h 2007-11-22 04:45:26.000000000 +0100 @@ -261,7 +261,7 @@ * tiny, and the kernel panics when it is exhausted. try to warn the user that * they need to boost the size of their pool. */ -#if defined(CONFIG_SWIOTLB) && !defined(GFP_DMA32) +#if defined(CONFIG_SWIOTLB) && !defined(GFP_DMA32) && !defined(CONFIG_XEN) #define NV_SWIOTLB 1 #endif @@ -836,7 +836,10 @@ #define NV_VM_INSERT_PAGE(vma, addr, page) \ vm_insert_page(vma, addr, page) #endif -#if defined(NV_REMAP_PFN_RANGE_PRESENT) +#if defined(CONFIG_XEN) +#define NV_REMAP_PAGE_RANGE(from, offset, x...) \ + io_remap_pfn_range(vma, from, ((offset) >> PAGE_SHIFT), x) +#elif defined(NV_REMAP_PFN_RANGE_PRESENT) #define NV_REMAP_PAGE_RANGE(from, offset, x...) \ remap_pfn_range(vma,
from, ((offset) >> PAGE_SHIFT), x) #elif defined(NV_REMAP_PAGE_RANGE_5_PRESENT) @@ -956,6 +959,9 @@ __pte_value; \ }) +#if !defined(CONFIG_XEN) +#define phys_to_machine(x) x +#endif #define NV_PAGE_ALIGN(addr) ( ((addr) + PAGE_SIZE - 1) / PAGE_SIZE) #define NV_MASK_OFFSET(addr) ( (addr) & (PAGE_SIZE - 1) ) diff -ur nvidia-source-100.14.19-x86_64/nv-vm.c nvidia-source-100.14.19-x86_64-xen/nv-vm.c --- nvidia-source-100.14.19-x86_64/nv-vm.c 2007-09-12 23:53:20.000000000 +0200 +++ nvidia-source-100.14.19-x86_64-xen/nv-vm.c 2007-11-22 04:45:26.000000000 +0100 @@ -38,7 +38,7 @@ page_ptr->phys_addr, page_ptr->dma_addr, NV_GET_PAGE_COUNT(page_ptr), - NV_GET_PAGE_STRUCT(page_ptr->phys_addr)->flags); +
NV_GET_PAGE_STRUCT(phys_to_machine(page_ptr->phys_addr)->flags); } } #endif @@ -352,6 +352,9 @@ static void nv_flush_caches(void) { +#if defined(CONFIG_PREEMPT_RT) + if(!nv_pat_enabled) return; +#endif #if defined(KERNEL_2_4) // for 2.4 kernels, just automatically flush the caches and invalidate tlbs nv_execute_on_all_cpus(cache_flush, NULL); diff -ur nvidia-source-100.14.19-x86_64/os-agp.c nvidia-source-100.14.19-x86_64-xen/os-agp.c --- nvidia-source-100.14.19-x86_64/os-agp.c 2007-09-12 23:53:20.000000000 +0200 +++ nvidia-source-100.14.19-x86_64-xen/os-agp.c 2007-11-22 04:45:26.000000000 +0100 @@ -295,7 +295,7 @@ page_ptr->phys_addr = (ptr->memory[i] & PAGE_MASK); page_ptr->virt_addr = (unsigned long) __va(page_ptr->phys_addr); - page_ptr->dma_addr = page_ptr->phys_addr; + page_ptr->dma_addr =
phys_to_machine(page_ptr->phys_addr); } return RM_OK; diff -ur nvidia-source-100.14.19-x86_64/os-interface.c nvidia-source-100.14.19-x86_64-xen/os-interface.c --- nvidia-source-100.14.19-x86_64/os-interface.c 2007-09-12 23:53:20.000000000 +0200 +++ nvidia-source-100.14.19-x86_64-xen/os-interface.c 2007-11-22 04:45:26.000000000 +0100 @@ -564,6 +564,7 @@ MicroSeconds = MilliSeconds * 1000; tm_end.tv_usec = MicroSeconds; tm_end.tv_sec = 0; +#if !defined(CONFIG_XEN) NV_TIMERADD(&tm_aux, &tm_end, &tm_end); /* do we have a full jiffie to wait? */ @@ -611,6 +612,7 @@ MicroSeconds = 0; } while ((jiffies = NV_USECS_TO_JIFFIES(MicroSeconds)) != 0); } +#endif if (MicroSeconds > 1000) {
_______________________________________________ Xen-users mailing
list Xen-users@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-users
_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users
|
|
|