mcgyver83
Posts: 358
Joined: Fri Oct 05, 2012 11:49 am

Re: Updated GPU firmware

Mon Dec 03, 2012 2:02 pm

E newbie question: can I rollback to the actual kernel?How?

dom
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 5414
Joined: Wed Aug 17, 2011 7:41 pm
Location: Cambridge

Re: Updated GPU firmware

Mon Dec 03, 2012 5:40 pm

Yes, you can update firmware to a specific version with:

Code: Select all

sudo rpi-update <git hash>
You pick the git hash from the commits here:
https://github.com/Hexxeh/rpi-firmware/commits/master

So, the latest "master" tree update would come from:

Code: Select all

sudo rpi-update 38511116574740386594d5a97d9e02e899c63090
and the latest "next" tree update would come from:

Code: Select all

sudo rpi-update bed00525a7d5ea232e2a0afb631771fe61026e77

mcgyver83
Posts: 358
Joined: Fri Oct 05, 2012 11:49 am

Re: Updated GPU firmware

Tue Dec 04, 2012 3:49 pm

Ok, thanks a lot for your explanation.
I don't understand a thing:
if I update my raspberry + raspian with sudo apt-get update/upgrade/dist-upgrade I will have most update/stable raspberry (software,raspbian/firmware);
if I use rpi-update master I'll have an updated system with e newest firmware but not "certified";
if I use rpi-update next I'll have a very newest firmware but with (probably) less stability?

Rpi-update works only on the firmware, right?
Yesterday night I tried

Code: Select all

sudo rpi-update bed00525a7d5ea232e2a0afb631771fe61026e77
but I had the raspberry freezing after usb pendrive recognition (I use it as swap drive).
I'm sorry but I cannot give more details because I had to restore the .img I made for backup because I'm going to work far from home for 2 days and I want to configure my rasp in the meantime.
I will try again on Friday.

pepedog
Posts: 1043
Joined: Fri Oct 07, 2011 9:55 am

Re: Updated GPU firmware

Tue Dec 04, 2012 7:51 pm

Soooo..
With regard to arch, am I doing anything wrong, anything else to try?
You point me to kernel/firmware/settings and I will test

JollyRoger
Posts: 154
Joined: Wed Feb 01, 2012 9:48 am

Re: Updated GPU firmware

Wed Dec 05, 2012 9:51 am

dom - for your information:

I have today tried the latest firmware revision with rpi-update. It installs, then ends up with the message:
fatal: not a git respository: '//root/.rpi-firmware/.git'

The dynamic memory allocation seems to be working, though performance overall has been adversely affected, no doubt due to this fatal error. I have now reverted to my previous image (I'd taken the precaution of backing up the SD card). I'm using Raspbian with the Enlightenment desktop (Bodhi).

I hope this is useful. Thanks.

dom
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 5414
Joined: Wed Aug 17, 2011 7:41 pm
Location: Cambridge

Re: Updated GPU firmware

Wed Dec 05, 2012 11:35 am

JollyRoger wrote:dom - for your information:

I have today tried the latest firmware revision with rpi-update. It installs, then ends up with the message:
fatal: not a git respository: '//root/.rpi-firmware/.git'

The dynamic memory allocation seems to be working, though performance overall has been adversely affected, no doubt due to this fatal error. I have now reverted to my previous image (I'd taken the precaution of backing up the SD card). I'm using Raspbian with the Enlightenment desktop (Bodhi).
You may need to do a normal "sudo rpi-update" first, and then update to the specific tag.
It should also be safe to do a "sudo rm -rf /root/.rpi-firmware" before the rpi-update.

JollyRoger
Posts: 154
Joined: Wed Feb 01, 2012 9:48 am

Re: Updated GPU firmware

Wed Dec 05, 2012 4:29 pm

Thanks for your prompt reply, Dom.

I've followed your instructions (in the last post), and everything seems to be working splendidly. My first subjective impressions are of a significant improvement in performance. I'll let you know if I meet any problems.

Thanks again for your hard work!

Max

Re: Updated GPU firmware

Thu Dec 06, 2012 11:31 pm

dom wrote: In cmdline.txt you want:

Code: Select all

coherent_pool=6M  smsc95xx.turbo_mode=N
(remove cma= or mem= settings).

config.txt should have:

Code: Select all

gpu_mem_256=112
gpu_mem_512=368
cma_lwm=16
cma_hwm=32
cma_offline_start=16
[edit: reduced gpu_mem numbers to avoid allocation failures when web browsing]
With these settings, I still get allocation failures when downloading large (OS image) files:

Code: Select all

[   67.067405] BerrybootGUI: page allocation failure: order:0, mode:0x20
[   67.067483] [<c00145b0>] (unwind_backtrace+0x0/0xf0) from [<c0095df0>] (warn_alloc_failed+0xbc/0x11c)
[   67.067518] [<c0095df0>] (warn_alloc_failed+0xbc/0x11c) from [<c0098d90>] (__alloc_pages_nodemask+0x3b0/0x644)
[   67.067550] [<c0098d90>] (__alloc_pages_nodemask+0x3b0/0x644) from [<c02edc24>] (__netdev_alloc_frag+0xd8/0xfc)
[   67.067579] [<c02edc24>] (__netdev_alloc_frag+0xd8/0xfc) from [<c02f1ed0>] (__netdev_alloc_skb+0x80/0xcc)
[   67.067620] [<c02f1ed0>] (__netdev_alloc_skb+0x80/0xcc) from [<c0268140>] (rx_submit+0x1c/0x1fc)
[   67.067655] [<c0268140>] (rx_submit+0x1c/0x1fc) from [<c0271e54>] (usb_hcd_giveback_urb+0x64/0xf8)
[   67.067704] [<c0271e54>] (usb_hcd_giveback_urb+0x64/0xf8) from [<c029a15c>] (_complete+0xbc/0x1e4)
[   67.067736] [<c029a15c>] (_complete+0xbc/0x1e4) from [<c029c458>] (handle_hc_xfercomp_intr+0x310/0x3e0)
[   67.067763] [<c029c458>] (handle_hc_xfercomp_intr+0x310/0x3e0) from [<c029ca90>] (dwc_otg_hcd_handle_hc_n_intr+0x128/0x67c)
[   67.067789] [<c029ca90>] (dwc_otg_hcd_handle_hc_n_intr+0x128/0x67c) from [<c029d054>] (dwc_otg_hcd_handle_hc_intr+0x70/0x94)
[   67.067813] [<c029d054>] (dwc_otg_hcd_handle_hc_intr+0x70/0x94) from [<c029d250>] (dwc_otg_hcd_handle_intr+0x1d8/0x21c)
[   67.067841] [<c029d250>] (dwc_otg_hcd_handle_intr+0x1d8/0x21c) from [<c029a8d0>] (dwc_otg_hcd_irq+0xc/0x18)
[   67.067870] [<c029a8d0>] (dwc_otg_hcd_irq+0xc/0x18) from [<c0271484>] (usb_hcd_irq+0x30/0x50)
[   67.067914] [<c0271484>] (usb_hcd_irq+0x30/0x50) from [<c007a7c8>] (handle_irq_event_percpu+0x50/0x1b0)
[   67.067944] [<c007a7c8>] (handle_irq_event_percpu+0x50/0x1b0) from [<c007a97c>] (handle_irq_event+0x54/0x84)
[   67.067976] [<c007a97c>] (handle_irq_event+0x54/0x84) from [<c007cb24>] (handle_level_irq+0x98/0x144)
[   67.068006] [<c007cb24>] (handle_level_irq+0x98/0x144) from [<c007a09c>] (generic_handle_irq+0x30/0x48)
[   67.068046] [<c007a09c>] (generic_handle_irq+0x30/0x48) from [<c000ebdc>] (handle_IRQ+0x30/0x84)
[   67.068075] [<c000ebdc>] (handle_IRQ+0x30/0x84) from [<c0385ef8>] (__irq_usr+0x38/0xc0)
[   67.068086] Mem-info:
[   67.068095] Normal per-cpu:
[   67.068107] CPU    0: hi:  186, btch:  31 usd:  59
[   67.068133] active_anon:8782 inactive_anon:1 isolated_anon:0
[   67.068133]  active_file:578 inactive_file:28274 isolated_file:0
[   67.068133]  unevictable:0 dirty:129 writeback:0 unstable:0
[   67.068133]  free:78579 slab_reclaimable:582 slab_unreclaimable:470
[   67.068133]  mapped:1811 shmem:1 pagetables:48 bounce:0
[   67.068187] Normal free:314316kB min:2776kB low:3468kB high:4164kB active_anon:35128kB inactive_anon:4kB active_file:2312kB inactive_file:113096kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:483488kB mlocked:0kB dirty:516kB writeback:0kB mapped:7244kB shmem:4kB slab_reclaimable:2328kB slab_unreclaimable:1880kB kernel_stack:360kB pagetables:192kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
[   67.068202] lowmem_reserve[]: 0 0
[   67.068218] Normal: 8969*4kB 8969*8kB 8968*16kB 1975*32kB 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 314316kB
[   67.068265] 28852 total pagecache pages
[   67.068272] 0 pages in swap cache
[   67.068282] Swap cache stats: add 0, delete 0, find 0/0
[   67.068289] Free swap  = 0kB
[   67.068296] Total swap = 0kB
[   67.093440] 121856 pages of RAM
[   67.093452] 78695 free pages
[   67.093458] 2678 reserved pages
[   67.093466] 1052 slab pages
[   67.093472] 25872 pages shared
[   67.093480] 0 pages swap cached
Was wondering what exactly causes these.
Can the CMA memory region only be used by userspace and GPU, and not by the kernel, or something like that?

Don't have messages like that when I assign the GPU a static 128 mb split.

jos
Posts: 1
Joined: Fri Dec 07, 2012 9:21 am

Re: Updated GPU firmware

Fri Dec 07, 2012 9:38 am

@pepedog
I removed loglevel=2 in the cmdline.txt file and think it's working.
My cmdline.txt looks like this:

Code: Select all

coherent_pool=6M smsc95xx.turbo_mode=N sdhci-bcm2708.enable_llm=1 sdhci-bcm2708.sync_after_dma=0 dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 init=/bin/systemd rootfstype=ext4 rootwait
Output from dmesg|grep vc

Code: Select all

[    0.000000] early_vc_cma_mem(0/[email protected])
[    0.000000] Kernel command line: dma.dmachans=0x7f35 bcm2708_fb.fbwidth=1920 bcm2708_fb.fbheight=1200 bcm2708.boardrev=0xf bcm2708.serial=0x5cdac087 smsc95xx.macaddr=B8:27:EB:DA:C0:87 sdhci-bcm2708.emmc_clock_freq=100000000 vc-cma-mem=0/[email protected] [email protected] [email protected] vc_mem.mem_base=0x1ec00000 vc_mem.mem_size=0x20000000  coherent_pool=6M smsc95xx.turbo_mode=N sdhci-bcm2708.enable_llm=1 sdhci-bcm2708.sync_after_dma=0 dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 init=/bin/systemd rootfstype=ext4 rootwait
[    0.124897] bcm2708_vcio: mailbox at f200b880
[    0.689666] vc-mem: phys_addr:0x00000000 mem_base=0x1ec00000 mem_size:0x20000000(512 MiB)
[    0.891164] vc-cma: Videocore CMA driver
[    0.891185] vc-cma: vc_cma_base      = 0x0a000000
[    0.891196] vc-cma: vc_cma_size      = 0x14c00000 (332 MiB)
[    0.891205] vc-cma: vc_cma_initial   = 0x00000000 (0 MiB)
[    0.906552] vchiq: vchiq_init_state: slot_zero = 0xc8000000, is_master = 0
[    0.908096] vchiq_get_state: g_state.remote->initialised != 1 (0)

dom
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 5414
Joined: Wed Aug 17, 2011 7:41 pm
Location: Cambridge

Re: Updated GPU firmware

Fri Dec 07, 2012 12:59 pm

Max wrote:Was wondering what exactly causes these.
Can the CMA memory region only be used by userspace and GPU, and not by the kernel, or something like that?

Don't have messages like that when I assign the GPU a static 128 mb split.
Yes, I see the same effect.
Increasing coherent_pool reduces the likelihood of these fails.
Increasing usable arm memory (e.g. with a smaller gpu_mem setting) reduces the likelihood of these fails.

From my understanding, atomic kernel allocation come from the coherent_mem pool.
Non-atomic kernel allocations come from CMA. User allocations come from CMA.

However I don't understand why we get these fails when the static 128M arm split doesn't. I'd welcome any suggestions.

Vulpes
Posts: 12
Joined: Sat Nov 03, 2012 2:41 pm

Re: Updated GPU firmware

Fri Dec 07, 2012 1:18 pm

jos wrote:@pepedog
I removed loglevel=2 in the cmdline.txt file and think it's working.
My cmdline.txt looks like this:

Code: Select all

coherent_pool=6M smsc95xx.turbo_mode=N sdhci-bcm2708.enable_llm=1 sdhci-bcm2708.sync_after_dma=0 dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 init=/bin/systemd rootfstype=ext4 rootwait
Now it works for me too with your parameters!

mcgyver83
Posts: 358
Joined: Fri Oct 05, 2012 11:49 am

Re: Updated GPU firmware

Fri Dec 07, 2012 2:43 pm

So this new CMA feature has an issue when big files are downloaded?
Is it safe to use it now to avoid reboot to use XBMC and reboot to use LXDE environment?

pepedog
Posts: 1043
Joined: Fri Oct 07, 2011 9:55 am

Re: Updated GPU firmware

Fri Dec 07, 2012 2:53 pm

@jos
Yes, all works for me now,

Code: Select all

pacman -S linux-raspberrypi-next linux-headers-raspberrypi-next raspberrypi-firmware-next xbmc-rbp-git-next
pacman -Syu

cat /boot/cmdline.txt
coherent_pool=6M smsc95xx.turbo_mode=N sdhci-bcm2708.enable_llm=1 sdhci-bcm2708.sync_after_dma=0 dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 init=/bin/systemd rootfstype=ext4 rootwait

cat /boot/config.txt
gpu_mem_256=112
gpu_mem_512=368
cma_lwm=16
cma_hwm=32
cma_offline_start=16

Remove .xbmc settings folder

sync
reboot
I see a lot of these in the log, guess this is memory being shuffled about?
Dec 7 14:41:15 alarmpi kernel: [ 139.894611] cma: dma_release_from_contiguous(page c074d800)

dom
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 5414
Joined: Wed Aug 17, 2011 7:41 pm
Location: Cambridge

Re: Updated GPU firmware

Fri Dec 07, 2012 3:01 pm

mcgyver83 wrote:So this new CMA feature has an issue when big files are downloaded?
Is it safe to use it now to avoid reboot to use XBMC and reboot to use LXDE environment?
Depends on your meaning of safe. I find it is quite usable with CMA enabled. I see some errors in the dmesg log due to allocation failures when doing heavy network operations.
So far they appear to be harmless (higher levels of network stack cause the packets to be retransmitted).

But, this is an experimental firmware tree, with an experimental option turned on. I welcome testers, and reports of successes and failures, but backup regularly as there could be problems.

dom
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 5414
Joined: Wed Aug 17, 2011 7:41 pm
Location: Cambridge

Re: Updated GPU firmware

Fri Dec 07, 2012 3:03 pm

pepedog wrote:I see a lot of these in the log, guess this is memory being shuffled about?
Dec 7 14:41:15 alarmpi kernel: [ 139.894611] cma: dma_release_from_contiguous(page c074d800)
Do you have CONFIG_CMA_DEBUG enabled? That is now disabled in "next" tree.
But yes, it shows memory moving between ARM and GPU.

pepedog
Posts: 1043
Joined: Fri Oct 07, 2011 9:55 am

Re: Updated GPU firmware

Fri Dec 07, 2012 6:35 pm

dom wrote:Do you have CONFIG_CMA_DEBUG enabled? That is now disabled in "next" tree.
But yes, it shows memory moving between ARM and GPU.
On next rebuild it will, using your defconfig with a sed to change localversion tagged -ARCH

Max

Re: Updated GPU firmware

Fri Dec 07, 2012 11:46 pm

dom wrote: Increasing usable arm memory (e.g. with a smaller gpu_mem setting) reduces the likelihood of these fails.
From my understanding, atomic kernel allocation come from the coherent_mem pool.
Non-atomic kernel allocations come from CMA. User allocations come from CMA.
I do not understand why gpu_mem makes a difference in practice, if CMA region is fine for everything except atomic and atomic has its own fixed size pool independent of other settings.
Assuming you are not running quake3 while web browsing, shouldn't the GPU handed over all but 16 MB of the CMA memory to ARM?


One thing I noticed is that my page allocation failures say:

Code: Select all

page allocation failure: order:0, mode:0x20
Mode number seems to indeed correspond with atomic allocations.

include/linux/gfp.h

Code: Select all

#define __GFP_HIGH      ((__force gfp_t)0x20u)  /* Should access emergency pools? */
#define GFP_ATOMIC      (__GFP_HIGH)
However Documentation/kernel-parameters.txt says this about coherent_pool:

Code: Select all

        coherent_pool=nn[KMG]   [ARM,KNL]
                        Sets the size of memory pool for coherent, atomic dma
                        allocations, by default set to 256K.
Note that while the page allocation request is GFP_ATOMIC (0x20), it is not GFP_DMA (0x1), or the mode would be 0x21.
Wonder if non-dma atomic requests not come from the normal pool.
Maybe some other setting like vm.min_free_kbytes needs to be tuned to make sure there is always some more spare space instantly available there, and the kernel does not use everything for disk caching.
Could it be that the default of one of those settings is calculated based on the amount of ARM memory, before the CMA region is added?

dom
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 5414
Joined: Wed Aug 17, 2011 7:41 pm
Location: Cambridge

Re: Updated GPU firmware

Sat Dec 08, 2012 1:15 pm

My information comes from:
http://lwn.net/Articles/468044/

This version provides a solution for complete integration of CMA to
DMA mapping subsystem on ARM architecture. The issue caused by double
dma pages mapping and possible aliasing in coherent memory mapping has
been finally resolved, both for GFP_ATOMIC case (allocations comes from
coherent memory pool) and non-GFP_ATOMIC case (allocations comes from
CMA managed areas).

although this is a pre-final version of CMA, so I'm not sure if this is still the case.

dom
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 5414
Joined: Wed Aug 17, 2011 7:41 pm
Location: Cambridge

Re: Updated GPU firmware

Sat Dec 08, 2012 1:19 pm

Max wrote:Wonder if non-dma atomic requests not come from the normal pool.
Maybe some other setting like vm.min_free_kbytes needs to be tuned to make sure there is always some more spare space instantly available there, and the kernel does not use everything for disk caching.
Could it be that the default of one of those settings is calculated based on the amount of ARM memory, before the CMA region is added?
I'm sure something like this is happening and relevent. I have tried increasing vm.min_free_kbytes, but that didn't seem to be it. I'm sure these is some setting that needs increasing, but I haven't found it yet.

User avatar
teh_orph
Posts: 346
Joined: Mon Jan 30, 2012 2:09 pm
Location: London
Contact: Website

Re: Updated GPU firmware

Sat Dec 08, 2012 5:03 pm

I've also been seeing lots of processes running out of memory and dropping a page allocation failure to dmesg, but with no ill effect. However I've got no symbols in my kernel for some reason so can't show a proper back trace.

Max

Re: Updated GPU firmware

Sun Dec 09, 2012 2:43 am

dom wrote: So far they appear to be harmless (higher levels of network stack cause the packets to be retransmitted).
Question however is if the problem is limited to networking -were it is not such a big deal-, or if it may also happen in other modules were it could potentially be a larger issue.
Have made the following changes in my own build to hush the allocation errors in the networking code, so it is easier to spot if they were to occur elsewhere.

Code: Select all

diff -ur linux-rpi-3.6.y.orig/drivers/net/usb/usbnet.c linux-rpi-3.6.y/drivers/net/usb/usbnet.c
--- linux-rpi-3.6.y.orig/drivers/net/usb/usbnet.c       2012-12-05 00:06:01.000000000 +0100
+++ linux-rpi-3.6.y/drivers/net/usb/usbnet.c    2012-12-09 02:20:11.899589904 +0100
@@ -545,7 +545,7 @@
                if (netif_running (dev->net) &&
                    !test_bit (EVENT_RX_HALT, &dev->flags) &&
                    state != unlink_start) {
-                       rx_submit (dev, urb, GFP_ATOMIC);
+                       rx_submit (dev, urb, GFP_ATOMIC | __GFP_NOWARN);
                        usb_mark_last_busy(dev->udev);
                        return;
                }
@@ -1267,7 +1267,7 @@
                int     temp = dev->rxq.qlen;
 
                if (temp < RX_QLEN(dev)) {
-                       if (rx_alloc_submit(dev, GFP_ATOMIC) == -ENOLINK)
+                       if (rx_alloc_submit(dev, GFP_ATOMIC | __GFP_NOWARN) == -ENOLINK)
                                return;
                        if (temp != dev->rxq.qlen)
                                netif_dbg(dev, link, dev->net,
Haven't seen alloc errors elsewhere yet. So far, so good.

User avatar
STrRedWolf
Posts: 24
Joined: Fri Oct 05, 2012 1:47 am

Re: Updated GPU firmware

Sun Dec 09, 2012 3:21 am

Is there a place for requesting another kernel module to be built? I'm assuming another GPU firmware needs a new kernel, and I can use the "mmc_spi" module...

dom
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 5414
Joined: Wed Aug 17, 2011 7:41 pm
Location: Cambridge

Re: Updated GPU firmware

Mon Dec 10, 2012 11:32 am

STrRedWolf wrote:Is there a place for requesting another kernel module to be built? I'm assuming another GPU firmware needs a new kernel, and I can use the "mmc_spi" module...
github issues is the best place. I've enabled that change locally, and if nothing bad happens in the next few days I'll add the option.

Vulpes
Posts: 12
Joined: Sat Nov 03, 2012 2:41 pm

Re: Updated GPU firmware

Mon Dec 10, 2012 7:53 pm

Dynamic allocation works great. Pi boots with 384 MB for GPU, but while building kernel ARM gets 490+.

Out of curiosity, why was vchost_config.h moved to /opt/vc/include/interface/vmcs_host/linux? I have no idea what it does, but now plenty of Pi specific packages need changes to cflags to include new location.

dom
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 5414
Joined: Wed Aug 17, 2011 7:41 pm
Location: Cambridge

Re: Updated GPU firmware

Mon Dec 10, 2012 8:20 pm

Vulpes wrote:Dynamic allocation works great. Pi boots with 384 MB for GPU, but while building kernel ARM gets 490+.
Out of curiosity, why was vchost_config.h moved to /opt/vc/include/interface/vmcs_host/linux? I have no idea what it does, but now plenty of Pi specific packages need changes to cflags to include new location.
I think it was a mistake on the previous firmware.
I used to manually copy and edit the header files required for linking with /opt/vc/lib to create /opt/vc/include, and had to manually copy/merge when there were updates.
Since the open sourcing of arm libraries, this is all automated (cmake installs include files to the correct place).
In our master tree, the file has always lived in interface/vmcs_host/linux, so that is the correct place for it.
I'm afraid the cflags will need updating.

Return to “Advanced users”