--- lib/modules/fglrx/build_mod/firegl_public.c
+++ lib/modules/fglrx/build_mod/firegl_public.c.new
@@ -4181,7 +4184,11 @@ static int kasInitExecutionLevels(unsigned long level_init)
{
unsigned int p;
KCL_DEBUG5(FN_FIREGL_KAS, "%d\n", level_init);
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0)
+ for_each_possible_cpu(p)
+#else
for_each_cpu_mask(p, cpu_possible_map)
+#endif
{
KCL_DEBUG1(FN_FIREGL_KAS,"Setting initial execution level for CPU # %d\n", p);
preempt_disable();
--- lib/modules/fglrx/build_mod/kcl_ioctl.c
+++ lib/modules/fglrx/build_mod/kcl_ioctl.c.new
@@ -217,6 +217,10 @@
* \param size [in] Number of bytes to allocate
* \return Pointer to allocated memory
*/
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0)
+DEFINE_PER_CPU(unsigned long, old_rsp);
+#endif
+
void* ATI_API_CALL KCL_IOCTL_AllocUserSpace32(long size)
{
void __user *ret = COMPAT_ALLOC_USER_SPACE(size);
I used the following steps to install AMD Catalyst-12.4 or 12.6 Beta and patch the fglrx module:
- change directory to the path where the installer is
- run the installer as root (superuser):
- follow the instructions, at the end of installation process you will get notice that there are some errors.
- exit the installer
- at console, copy the patch file (fglrx_kernel_3.4.0.patch) to /lib/modules/fglrx
- change directory to /lib/modules/fglrx
- patch the fglrx source:
- compile the fglrx modules:
- reboot.
(change to ./amd-driver-installer-8.98-x86.x86_64.run for AMD Catalyst-12.6 Beta)
# ./make.sh
# cd ..
# ./make_install.sh
References:



