aboutsummaryrefslogtreecommitdiff
path: root/x86_64/Makefrag.am
Commit message (Collapse)AuthorAgeFilesLines
* Revert "x86_64: fix installing x86_64-specific headers"Samuel Thibault2022-11-271-17/+17
| | | | | | | | This reverts commit 8c58257c4da364ffcb797f9d454c37de939a052b. These headers are actually coming from i386. This change was making `make dist` try to build the x86_64/include/mach/x86_64 directory in the dist tarball.
* x86_64: fix installing x86_64-specific headersSamuel Thibault2022-08-281-17/+17
|
* Fix inclusability of <mach/mach_types.h>Samuel Thibault2022-08-281-0/+1
| | | | | Now that mach/machine/vm_types.h uses stdint types, we have to ship a header that defines them.
* Fix building x86_64 xen platformSamuel Thibault2022-08-271-24/+27
| | | | | On Xen we do not have a separate boot section, we directly start at the kernel map address. We thus do not have a map shift.
* add support for booting from grub with x86_64Luca Dariz2022-08-271-1/+16
| | | | | | | | | | | | | | | | | | | | | | | | * configure: compile for native x86_64 by default instead of xen * x86_64/Makefrag.am: introduce KERNEL_MAP_BASE to reuse the constant in both code and linker script * x86_64/ldscript: use a .boot section for the very first operations, until we reach long mode. This section is not really allocated, so it doesn't need to be freed later. The vm system is later initialized starting from .text and not including .boot * link kernel at 0x4000000 as the xen version, higher values causes linker errors * we can't use full segmentation in long mode, so we need to create a temporary mapping during early boot to be able to jump to high addresses * build direct map for first 4G in boothdr, it seems required by Linux drivers * add INTEL_PTE_PS bit definition to enable 2MB pages during bootstrap * ensure write bit is set in PDP entry access rights. This only applies to PAE-enabled kernels, mandatory for x86_64. On xen platform it seems to be handled differently Signed-off-by: Luca Dariz <luca@orpolo.org> Message-Id: <20220205175129.309469-2-luca@orpolo.org>
* Ship x86_64/x86_64 and x86_64/include/mach/x86_64Samuel Thibault2022-02-061-1/+3
| | | | | * Makefrag.am (EXTRA_DIST): Ship the x86_64/x86_64 and x86_64/include/mach/x86_64 symlinks.
* Makefrag.am: Move architecture condition inside architecture Makefrag.amSamuel Thibault2022-02-061-17/+10
| | | | | Otherwise we cannot use _DIST there and have them all taken into account. As a consequence, we can drop duplicate _DIST between i386 and x86_64.
* x86_64: Fix installation target of headersSamuel Thibault2021-09-181-2/+2
| | | | | | | * x86_64/Makefrag.am (include_mach_i386dir): Rename to include_mach_x86_64dir, set to $(includedir)/mach/x86_64. (include_mach_i386_HEADERS): Rename to include_mach_x86_64_HEADERS. Reported-by: Andrea Monaco <andrea.monaco@autistici.org>
* 64bit: fix buildSamuel Thibault2020-07-181-0/+2
| | | | | | | * device/ds_routines.c (ds_device_intr_register, ds_device_intr_ack) [__x86_64__]: Disable. * x86_64/Makefrag.am (libkernel_a_SOURCES): Add i386/i386/irq.c and i386/i386/irq.h.
* x86_64: Fix map address given to linkerSamuel Thibault2020-03-291-1/+1
| | | | | | | See VM_MIN_KERNEL_ADDRESS. * x86_64/Makefrag.am (gnumach_LINKFLAGS): Set _START to _START_MAP+0x40000000 instead of +0xC0000000.
* Enable x86_64 build for atEtienne Brateau2020-03-291-0/+6
| | | | * x86_64/Makefrag.am: Add instructions to build
* build system: Add 64bit variantSamuel Thibault2020-03-281-0/+271
Only Xen platform for now. * Makefrag.am [HOST_x86_64]: Include x86_64/Makefrag.am. * configure.ac: Include x86_64/configfrag.ac. [default:x86_64] (host_platform): Set platform to xen. * x86_64/Makefrag.am, x86_64/configfrag.ac: New files.