-
Notifications
You must be signed in to change notification settings - Fork 47
x86_64: Support 64-bit on OpenXT #1101
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
28d0def
fe47e42
f8dcfa3
c11da60
8751294
dc7819e
ba78ccf
3705dd5
8c4608f
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,3 +1,6 @@ | ||
| require xenclient-common.conf | ||
|
|
||
| MACHINE_FEATURES = "kernel26 pci acpi ext2 x86" | ||
|
|
||
| TARGET_ARCH = "x86_64" | ||
| DEFAULTTUNE="core2-64" | ||
crogers1 marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,13 @@ | ||
| PR .= ".1" | ||
|
|
||
| FILESEXTRAPATHS_prepend := "${THISDIR}/files:" | ||
|
|
||
| SRC_URI += "file://pci.ids.gz.20180615 \ | ||
| " | ||
|
|
||
| do_install_append () { | ||
| # "make install" misses the debug file for the library | ||
| oe_libinstall -so -C lib libpci ${D}/${libdir} | ||
|
|
||
| install -m 0644 ${WORKDIR}/pci.ids.gz.20180615 ${D}/${datadir}/pci.ids.gz | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| --- a/src/ap-menu-item.c 2011-10-21 02:15:24.000000000 -0400 | ||
| +++ b/src/ap-menu-item.c 2018-12-27 15:41:34.135068677 -0500 | ||
| @@ -189,7 +189,7 @@ | ||
| g_object_unref (pixbuf); | ||
| } | ||
|
|
||
| -const const char * | ||
| +const char * | ||
| nm_network_menu_item_get_hash (NMNetworkMenuItem * item) | ||
| { | ||
| g_return_val_if_fail (item != NULL, NULL); |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,13 @@ | ||
| Index: NetworkManager-0.9.2.0/src/nm-netlink-monitor.c | ||
| =================================================================== | ||
| --- NetworkManager-0.9.2.0.orig/src/nm-netlink-monitor.c | ||
| +++ NetworkManager-0.9.2.0/src/nm-netlink-monitor.c | ||
| @@ -248,7 +248,7 @@ nlh_setup (struct nl_sock *nlh, | ||
| { | ||
| int err; | ||
|
|
||
| - nl_socket_modify_cb (nlh, NL_CB_MSG_IN, NL_CB_CUSTOM, event_msg_recv, cb_data); | ||
| + nl_socket_modify_cb (nlh, NL_CB_MSG_IN, NL_CB_CUSTOM, event_msg_recv, nlh); | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Candidate for backport if NetworkManager is not upgraded before, this is a lingering segfault in 32bit as well. |
||
|
|
||
| if (valid_func) | ||
| nl_socket_modify_cb (nlh, NL_CB_VALID, NL_CB_CUSTOM, valid_func, cb_data); | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| CFLAGS += "-fPIC" | ||
crogers1 marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,14 @@ | ||
| --- a/xen/arch/x86/guest/hypercall_page.S 2018-11-12 14:51:49.920565676 -0500 | ||
| +++ b/xen/arch/x86/guest/hypercall_page.S 2018-11-12 14:52:39.357054001 -0500 | ||
| @@ -59,8 +59,10 @@ | ||
| DECLARE_HYPERCALL(domctl) | ||
| DECLARE_HYPERCALL(kexec_op) | ||
| DECLARE_HYPERCALL(tmem_op) | ||
| -DECLARE_HYPERCALL(xc_reserved_op) | ||
| +DECLARE_HYPERCALL(v4v_op) | ||
| DECLARE_HYPERCALL(xenpmu_op) | ||
| +DECLARE_HYPERCALL(dm_op) | ||
| +DECLARE_HYPERCALL(txt_op) | ||
|
|
||
| DECLARE_HYPERCALL(arch_0) | ||
| DECLARE_HYPERCALL(arch_1) |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,5 +1,4 @@ | ||
| LIC_FILES_CHKSUM := "file://COPYING;md5=bbb4b1bdc2c3b6743da3c39d03249095" | ||
|
|
||
| require xen-version.inc | ||
|
|
||
| PV = "${XEN_PV}" | ||
|
|
@@ -51,6 +50,7 @@ SRC_URI_append = " \ | |
| file://tboot-xen-evtlog-support.patch \ | ||
| file://disable-cpuid-hle-rtm.patch \ | ||
| file://allow-stubdoms-cacheattr-control.patch \ | ||
| file://add-xc-hypercall-page.patch \ | ||
| file://libxl-do-not-destroy-in-use-tapdevs.patch \ | ||
| file://libxl-syslog.patch \ | ||
| file://libxl-RFC-4of7-Add-stubdomain-version-tools-domain-build-info.patch \ | ||
|
|
@@ -104,6 +104,8 @@ PACKAGECONFIG =+ "hvm" | |
|
|
||
| S = "${WORKDIR}/git" | ||
|
|
||
| TUNE_CCARGS := "${@oe.utils.str_filter_out('-msse3', '${TUNE_CCARGS}', d)}" | ||
|
|
||
| #-- | ||
| # Override meta-virtualization's path to seabios and add ovmf: | ||
| PACKAGECONFIG[hvm] = "--with-system-seabios="/usr/share/firmware/bios.bin" --with-system-ovmf="/usr/share/firmware/ovmf.bin",--disable-seabios,seabios ipxe vgabios ovmf," | ||
|
|
@@ -116,4 +118,11 @@ PACKAGECONFIG[hvm] = "--with-system-seabios="/usr/share/firmware/bios.bin" --wit | |
|
|
||
| deltask stubs | ||
| deltask deploy | ||
|
|
||
| do_configure_append() { | ||
| if [ ! -e ${STAGING_INCDIR}/bits/long-double-32.h ]; then | ||
| cp ${STAGING_INCDIR}/bits/long-double-64.h ${STAGING_INCDIR}/bits/long-double-32.h | ||
| cp ${STAGING_INCDIR}/gnu/stubs-64.h ${STAGING_INCDIR}/gnu/stubs-32.h | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. These headers will likely differ and renaming the 64 one to 32 will likely cause issues. The
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. openembedded-core does for the gnu-efi recipe, just in the opposite direction. It was also proposed for meta-virt in: https://lists.yoctoproject.org/pipermail/meta-virtualization/2017-August/002719.html though I don't know what became of the PR. long-double-64.h is actually empty, and stubs-64.h is pretty minimal. |
||
| fi | ||
| } | ||
| #-- | ||
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Patch churn.EDIT: Misread...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is "-mstackrealign" in TUNE_CCARGS such that we need to remove, or should TUNE_CCARGS and comment be deleted?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I felt leaving this in was a defensive choice. Grepping over the layers shows that no recipes are setting mstackrealign, but it's possible one might in the future for some unknown reason.
If you think that's low enough risk we should be able to drop it altogether.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It seems unlikely. But, if you want to be defensive, you should update the comment to make it clear why it is present. It would be nice if bitbake/oe has a "build-time assert" for checking something like this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It seems more likely that different alignment would be enforced using
-mpreferred-stack-boundary.-mstackrealignwill just allow mixing legacy code (4-byte aligned stack) with modern ones (16-bytes). Unless GHC is doing something funny,-mstackrealignin 64bit most likely has no effect?Newer GHC versions probably have
force_align_arg_pointerfor unaligned stack calling to libc functions, if such things are still around.