[Xen-devel] [PATCH v1 6/7] tools: add __section() to compiler.h

2016-08-19 Thread mcgrof
From: "Luis R. Rodriguez" This will be used later by the userspace linker table. Signed-off-by: Luis R. Rodriguez --- tools/include/linux/compiler.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/include/linux/compiler.h b/tools/include/linux/compiler.h index 556c991de212..6321265

[Xen-devel] [PATCH v1 5/7] tools: expand export.h with VMLINUX_SYMBOL()

2016-08-19 Thread mcgrof
From: "Luis R. Rodriguez" This will be used later by the linker-table userspace sandbox. Signed-off-by: Luis R. Rodriguez --- tools/include/linux/export.h | 22 ++ 1 file changed, 22 insertions(+) diff --git a/tools/include/linux/export.h b/tools/include/linux/export.h ind

[Xen-devel] [PATCH v1 3/7] tools: add init.h for tools

2016-08-19 Thread mcgrof
From: "Luis R. Rodriguez" Start off with just __ref -- we enalbe you to override, if you do that then you can define your own. The way you'd use this, if you do override, is define your own __ref and then use include_next. Signed-off-by: Luis R. Rodriguez --- tools/include/linux/init.h | 9 +++

[Xen-devel] [PATCH v1 0/7] tools: add linker table userspace sandbox

2016-08-19 Thread mcgrof
er tables into the kernel: https://git.kernel.org/cgit/linux/kernel/git/mcgrof/linux-next.git/log/?h=20160819-linker-table-v4 Please let me know if there are any issue or questions. Luis R. Rodriguez (7): tools: add a userspace tools b

[Xen-devel] [PATCH v1 1/7] tools: add a userspace tools bug.h

2016-08-19 Thread mcgrof
From: "Luis R. Rodriguez" This will be used later by the userspace linker-tables sandbox. As a convenience, include bug.h on kernel.h -- this is not done on upstream kernel.h, however most header files do include bug.h eventually, if we were to only add the ones that need it we'd need to copy a l

[Xen-devel] [PATCH v1 2/7] tools: add a basic tools printk.h

2016-08-19 Thread mcgrof
From: "Luis R. Rodriguez" This will be used later by the userspace linker-tables sandbox. Since upstream kernel.h includes printk.h mimic this so we can match and replicate C code as-is on userspace sandbox tools. Signed-off-by: Luis R. Rodriguez --- tools/include/linux/kernel.h | 1 + tools/

[Xen-devel] [PATCH v1 4/7] tools: add __used and enable to override

2016-08-19 Thread mcgrof
From: "Luis R. Rodriguez" This adds __used, to be used later in the userspace linker-tables sandbox. If any userspace applicaiton wants to override they can add their own definition and then use include_next. This definition should probably suffice for most uses cases though. Signed-off-by: Lui

[Xen-devel] [PATCH v4 15/16] kprobes: port .kprobes.text to section range

2016-08-19 Thread mcgrof
From: "Luis R. Rodriguez" kprobe makes use of two custom sections, each custom section is folded into one of the standard Linux sections types as follows, it currently relies on the linker script to fold the custom section onto the respective Linux section: type Linux-section custom section nam

[Xen-devel] [PATCH v4 14/16] kprobes: move kprobe declarations to asm-generic/kprobes.h

2016-08-19 Thread mcgrof
From: "Luis R. Rodriguez" Often all is needed is these small helpers, instead of compiler.h or a full kprobes.h. This is important for asm helpers, in fact even some asm/kprobes.h make use of these helpers... instead just keep a generic asm file with helpers useful for asm code with the least amo

[Xen-devel] [PATCH v4 09/16] firmware/Makefile: force recompilation if makefile changes

2016-08-19 Thread mcgrof
From: "Luis R. Rodriguez" If you modify the target asm we currently do not force the recompilation of the firmware files. The target asm is in the firmware/Makefile, peg this file as a dependency to require re-compilation of firmware targets when the asm changes. v3: introduced in this series S

[Xen-devel] [PATCH v4 13/16] dynamic_debug: port to use linker tables

2016-08-19 Thread mcgrof
From: "Luis R. Rodriguez" This removes the custom vmlinux.lds.h hacks and uses the generalized solution for .data (SECTION_DATA) entries. This is much more potential for further fine tuning here though in the future. For instance, linker tables enable an extra postfix for order level annotations

[Xen-devel] [PATCH v4 16/16] kprobes: port blacklist kprobes to linker table

2016-08-19 Thread mcgrof
From: "Luis R. Rodriguez" kprobe makes use of two sections, the one dealing with the actual kprobes was recently ported using the standard section range API. The blacklist functionality of kprobes is still using a custom section and declaring its custom section using the linker script as follows:

[Xen-devel] [PATCH v4 08/16] kbuild: enable option to force compile force-obj-y and force-lib-y

2016-08-19 Thread mcgrof
From: "Luis R. Rodriguez" Linux provides a rich array of features, enabling each feature however increases the size of the kernel and there are many features which users often want disabled. The traditional solution to this problem is for each feature to have its own Kconfig symbol, followed by a

[Xen-devel] [PATCH v4 06/16] ranges.h: add helpers to build and identify Linux section ranges

2016-08-19 Thread mcgrof
From: "Luis R. Rodriguez" Section ranges are on one of the types of custom sections types used in Linux. This provides a series of helpers for defining them and using them. Most importantly this also enables us to avoid modifying the linker script when we add a new section range. It turns out a

[Xen-devel] [PATCH v4 11/16] jump_label: move guard #endif down where it belongs

2016-08-19 Thread mcgrof
From: "Luis R. Rodriguez" The ending header guard is misplaced. This has no functional change, this is just an eye-sore. Signed-off-by: Luis R. Rodriguez --- include/linux/jump_label.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/linux/jump_label.h b/include/

[Xen-devel] [PATCH v4 05/16] xtensa: skip adding literal when SORT() is used

2016-08-19 Thread mcgrof
From: "Luis R. Rodriguez" When SORT(foo.*) is used the current sed replacements add SORT(foo.literal foo.*), this breaks linking. Avoid adding literals for SORT globs, if needed, these need to be added manually. Signed-off-by: Luis R. Rodriguez --- arch/xtensa/kernel/Makefile | 8 1 f

[Xen-devel] [PATCH v4 12/16] jump_label: port __jump_table to linker tables

2016-08-19 Thread mcgrof
From: "Luis R. Rodriguez" Move the __jump_table from the a custom section solution to a generic solution, this avoiding extra vmlinux.lds.h customizations. This also demos the use of the .data (SECTION_DATA) linker table and of the shared asm call push_section_tbl(). Built-in kernel functionali

[Xen-devel] [PATCH v4 07/16] tables.h: add linker table support

2016-08-19 Thread mcgrof
Luis R. Rodriguez" +M: "H. Peter Anvin" +L: linux-a...@vger.kernel.org +L: linux-ker...@vger.kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux.git sections +T: git git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux-next.git s

[Xen-devel] [PATCH v4 10/16] firmware: port built-in section to linker table

2016-08-19 Thread mcgrof
From: "Luis R. Rodriguez" This ports built-in firmware to use linker tables, this replaces the custom section solution with a generic solution. This also demos the use of the .rodata (SECTION_RO) linker tables. Tested with 0 built-in firmware, 1 and 2 built-in firmwares successfully. v4: o wo

[Xen-devel] [PATCH v4 04/16] generic-sections: add section core helpers

2016-08-19 Thread mcgrof
20 @@ S: Supported F: drivers/base/power/domain*.c F: include/linux/pm_domain.h +GENERIC SECTIONS +M: "Luis R. Rodriguez" +M: Josh Poimboeuf +M: "H. Peter Anvin" +L: linux-a...@vger.kernel.org +L: linux-ker...@vger.kernel.org +T: git gi

[Xen-devel] [PATCH v4 07/16] tables.h: add linker table support

2016-08-19 Thread mcgrof
Luis R. Rodriguez" +M: "H. Peter Anvin" +L: linux-a...@vger.kernel.org +L: linux-ker...@vger.kernel.org +T: git git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux.git sections +T: git git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux-next.git s

[Xen-devel] [PATCH v4 00/16] linux: generalize sections, ranges and linker tables

2016-08-19 Thread mcgrof
el.org If you'd like this in git-form, you can get it on the 20160819-linker-table-v4 branch of my linux-next tree on kernel.org, this also includes the series of the linker table userspace sandbox: https://git.kernel.org/cgit/linux/kernel/git/mcgrof/linux-next.git/log/?h=20160819-linker-t

[Xen-devel] [PATCH v4 01/16] x86: remove LTO_REFERENCE_INITCALL()

2016-08-19 Thread mcgrof
From: "Luis R. Rodriguez" The setup for LTO never made it upstream, and although this has some users, this is now really old stuff for a gcc 4.7 LTO problem. We know that at least LTO_REFERENCE_INITCALL() work around can be removed if LTO is not supported on v4.7 anymore. As per Andi the DISABLE

[Xen-devel] [PATCH v4 10/16] firmware: port built-in section to linker table

2016-08-19 Thread mcgrof
From: "Luis R. Rodriguez" This ports built-in firmware to use linker tables, this replaces the custom section solution with a generic solution. This also demos the use of the .rodata (SECTION_RO) linker tables. Tested with 0 built-in firmware, 1 and 2 built-in firmwares successfully. v4: o wo

[Xen-devel] [PATCH v4 09/16] firmware/Makefile: force recompilation if makefile changes

2016-08-19 Thread mcgrof
From: "Luis R. Rodriguez" If you modify the target asm we currently do not force the recompilation of the firmware files. The target asm is in the firmware/Makefile, peg this file as a dependency to require re-compilation of firmware targets when the asm changes. v3: introduced in this series S

[Xen-devel] [PATCH v4 03/16] scripts/module-common.lds: enable generation

2016-08-19 Thread mcgrof
From: "Luis R. Rodriguez" scripts/module-common.lds is currently pretty static, in the future this may change and we will want access to kernel macros to help expands certain areas. To get access to use macros we need to generate module-common.lds from module-common.lds.S, for now though only ena

[Xen-devel] [PATCH v4 02/16] dell-smo8800: include uaccess.h

2016-08-19 Thread mcgrof
From: "Luis R. Rodriguez" sections.h is currently included and it provides dell-smo8800 with what it needs, an upcoming change will decouple uaccess.h from sections.h. This driver needs to explicitly require uaccess.h before this change. v3: new to this series -- needed due to collateral of the

[Xen-devel] [PATCH v4 00/16] linux: generalize sections, ranges and linker tables

2016-08-19 Thread mcgrof
el.org If you'd like this in git-form, you can get it on the 20160819-linker-table-v4 branch of my linux-next tree on kernel.org, this also includes the series of the linker table userspace sandbox: https://git.kernel.org/cgit/linux/kernel/git/mcgrof/linux-next.git/log/?h=20160819-linker-t

[Xen-devel] [PATCH v4 04/16] generic-sections: add section core helpers

2016-08-19 Thread mcgrof
20 @@ S: Supported F: drivers/base/power/domain*.c F: include/linux/pm_domain.h +GENERIC SECTIONS +M: "Luis R. Rodriguez" +M: Josh Poimboeuf +M: "H. Peter Anvin" +L: linux-a...@vger.kernel.org +L: linux-ker...@vger.kernel.org +T: git gi

[Xen-devel] [PATCH v4 08/16] kbuild: enable option to force compile force-obj-y and force-lib-y

2016-08-19 Thread mcgrof
From: "Luis R. Rodriguez" Linux provides a rich array of features, enabling each feature however increases the size of the kernel and there are many features which users often want disabled. The traditional solution to this problem is for each feature to have its own Kconfig symbol, followed by a

[Xen-devel] [PATCH v4 01/16] x86: remove LTO_REFERENCE_INITCALL()

2016-08-19 Thread mcgrof
From: "Luis R. Rodriguez" The setup for LTO never made it upstream, and although this has some users, this is now really old stuff for a gcc 4.7 LTO problem. We know that at least LTO_REFERENCE_INITCALL() work around can be removed if LTO is not supported on v4.7 anymore. As per Andi the DISABLE

[Xen-devel] [PATCH v4 06/16] ranges.h: add helpers to build and identify Linux section ranges

2016-08-19 Thread mcgrof
From: "Luis R. Rodriguez" Section ranges are on one of the types of custom sections types used in Linux. This provides a series of helpers for defining them and using them. Most importantly this also enables us to avoid modifying the linker script when we add a new section range. It turns out a

[Xen-devel] [PATCH v4 05/16] xtensa: skip adding literal when SORT() is used

2016-08-19 Thread mcgrof
From: "Luis R. Rodriguez" When SORT(foo.*) is used the current sed replacements add SORT(foo.literal foo.*), this breaks linking. Avoid adding literals for SORT globs, if needed, these need to be added manually. Signed-off-by: Luis R. Rodriguez --- arch/xtensa/kernel/Makefile | 8 1 f

[Xen-devel] [PATCH v4 03/16] scripts/module-common.lds: enable generation

2016-08-19 Thread mcgrof
From: "Luis R. Rodriguez" scripts/module-common.lds is currently pretty static, in the future this may change and we will want access to kernel macros to help expands certain areas. To get access to use macros we need to generate module-common.lds from module-common.lds.S, for now though only ena

[Xen-devel] [PATCH v4 02/16] dell-smo8800: include uaccess.h

2016-08-19 Thread mcgrof
From: "Luis R. Rodriguez" sections.h is currently included and it provides dell-smo8800 with what it needs, an upcoming change will decouple uaccess.h from sections.h. This driver needs to explicitly require uaccess.h before this change. v3: new to this series -- needed due to collateral of the