summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-03-13device: Avoid NULL dereferenceSamuel Thibault
2022-02-18device_map_page: update prototypeSamuel Thibault
2022-02-18vm_object_page_map: update prototypeSamuel Thibault
2022-02-17vm_allocate_contiguous: fix checking the end of the allocationSamuel Thibault
2022-02-17mach_vm_object_pages: Print a warning if the physical address is beyond 4GiBSamuel Thibault
vpi_offset is not currently large enough to store it.
2022-02-17vm_allocate_contiguous: Make sure we enforce physical addresses contraintsSamuel Thibault
2022-02-17pmap: Make sure we do not allocate page tables beyond 4GiBSamuel Thibault
vm_page_insert would not be able to store the offset.
2022-02-17projected_buffer_*: Fix storing physical addressSamuel Thibault
2022-02-16xen: Fix storing physical addressesSamuel Thibault
2022-02-16io_map: Fix using physical addressesSamuel Thibault
2022-02-16db: Fix db_user_to_phys_address returning physical addressesSamuel Thibault
It shall return a phys_addr_t, not vm_offset_t.
2022-02-16vm_object: Fix vm_object_page_map map function prototypeSamuel Thibault
The map function is supposed to return physical addresses, thus phys_addr_t.
2022-02-15biosmem: Narrow e820 regions as requiredDamien Zammit
Message-Id: <20220215064133.68593-1-damien@zamaudio.com>
2022-02-11Drop spurious version suffixSamuel Thibault
2022-02-06Merge branch 'master' of git.savannah.gnu.org:/srv/git/hurd/gnumachSamuel Thibault
2022-02-06Ship x86_64/x86_64 and x86_64/include/mach/x86_64Samuel Thibault
* Makefrag.am (EXTRA_DIST): Ship the x86_64/x86_64 and x86_64/include/mach/x86_64 symlinks.
2022-02-06Makefrag.am: Move architecture condition inside architecture Makefrag.amSamuel Thibault
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.
2022-02-06Ship x86_64/x86_64Samuel Thibault
* x86_64/Makefrag.am (EXTRA_DIST): Ship the x86_64/x86_64 symlink.
2022-01-21thread_terminate_release: Error out early if thread is NULLSamuel Thibault
We do not want to destroy the port and release the stack if thread is NULL, i.e. we will fail.
2022-01-21Convert from K&R to ANSIEtienne Brateau
* hardclock.c: convert to ANSI * com.c: ditto * lpr.c: ditto * mem.c: ditto Message-Id: <20220120170004.21722-1-etienne.brateau@gmail.com>
2022-01-16task_set_name: make string parameter constSamuel Thibault
This follows mig's cf4bcc3f1435 ("Also add const qualifiers on server side")
2022-01-16device_types: Add more const_ typesSamuel Thibault
2022-01-16typoSamuel Thibault
2022-01-16Add yet more const string typesSamuel Thibault
2022-01-16mach_debug_types: Add const_dev_name_tSamuel Thibault
This will avoid forcing the caller to respect the definite string size.
2022-01-16device_types: Add const_dev_name_tSamuel Thibault
This will avoid forcing the caller to respect the definite string size.
2022-01-01mach_i386: include MACH_I386_IMPORTSSamuel Thibault
Like other defs header do, to allow e.g. including libports/ports.h
2021-12-31thread: Fix thread_abort clearing of an event waitAlicia
881fe9da8bd1 ("kern/thread.c: some minor style changes") introduced a spurious comment.
2021-12-30Convert from K&R to ANSIEtienne Brateau
* device/dev_name.c: Convert function prototypes from K&R to ANSI. * device/subr.c: Convert function prototypes from K&R to ANSI. Message-Id: <20211230112249.13682-2-etienne.brateau@gmail.com>
2021-12-30kern/thread.c: some minor style changesAdam Kandur
Greeting, I have changed some stuff in kern/thread.c which makes code more readable for me. Maybe it will be usefull. Message-Id: <20211230082643.8171-1-sys.arch.adam@gmail.com>
2021-12-29ddb: Fix updating sp while progressing through framesSamuel Thibault
Notably trap/interrupt/syscall provide an exact SP value.
2021-12-29ddb: Unwind over RETSamuel Thibault
When we don't have a frame but PC points to a RET instruction (e.g. in the userland system call assembly code), we can trivially unwind it.
2021-12-28ddb: Fix accessing high memorySamuel Thibault
User processes loaded in high memory are not visible to ddb through the direct mapping. We can however read/write data through copy_from/to_phys.
2021-12-16rtc: drop message on setting RTC timeSamuel Thibault
We haven't seen the 2032 bug for a long time, f040677be3c0 ("kd: Do not read the CMOS ram") probably fixed it at last.
2021-12-16vm_wire: extend per-task wiring limit to 8MiBSamuel Thibault
Like Linux just did.
2021-11-28memmmap: Use biosmem_addr_available rather than vm_page_lookup_paSamuel Thibault
The segment code actually has vm_page entries for reserved pages, and thus memmmap would reject mapping ACPI pages. Taking the information from biosmem is much more precise, and indeed knows all hardware quirks which can now be dropped from memmmap.
2021-11-28Fix rejecting the mapping of some pagesSamuel Thibault
The memmmap method may reject some offsets (because it falls in non-device ranges), so device_map_page has to notice this and report the error. device_pager_data_request then has to notice as well and report.
2021-11-07vm_region_get_proxy: rename to create_proxySergey Bugaev
For coherency with memory_object_create_proxy.
2021-11-07Memory proxies: Add support for anonymous mappingsSergey Bugaev
* vm/vm_map.c (vm_region_get_proxy): - Return KERN_INVALID_ARGUMENT when the entry is a submap. - Create a pager for the vm_object when the entry doesn't have any yet, since it's an anonymous mapping. Message-Id: <20211106081333.10366-3-jlledom@mailfence.com>
2021-11-07vm: vm_region_get_proxyJoan Lledó
To get a proxy to the region a given address belongs to, with protection and range limited to the region ones. * include/mach/mach4.defs: vm_region_get_proxy RPC declaration * vm/vm_map.c: vm_region_get_proxy implementation Message-Id: <20211106081333.10366-2-jlledom@mailfence.com>
2021-11-07memory_object_create_proxy: Fix and check coherency with RPCSamuel Thibault
* vm/memory_object_proxy.c: Include kern/mach4.server.h. (memory_object_create_proxy): Drop const qualifiers.
2021-11-07memory_object: Fix memory_object_t type in the kernelSamuel Thibault
mach_port_t is for userland, kernel sees the translated ipc_port_t. * include/mach/memory_object.h [MACH_KERNEL]: Include ipc/ipc_types.h [MACH_KERNEL] (memory_object_t): Typedef to ipc_port_t instead of mach_port_t. (memory_object_array_t): Typedef to memory_object_t* instead of mach_port_t*.
2021-11-07Drop unused device_pager_releaseSamuel Thibault
* device/dev_pager.c (device_pager_release): Drop unused function.
2021-10-17memory_object_create_proxy: Make len parameter vm_size_array_tSamuel Thibault
This is a no-op on i386. * i386/include/mach/i386/vm_types.h (vm_size_array_t): New type. * include/mach/mach4.defs (vm_size_array_t): New type. (memory_object_create_proxy): Turn len parameter from vm_offset_array_t to vm_size_array_t. * vm/memory_object_proxy.c (memory_object_create_proxy): Turn len parameter from const vm_offset_t * to const vm_size_t *.
2021-09-23i386/i386/fpu.h: Fix xrstor and xrstors macrosSamuel Thibault
xrstor and xrstors also take the xsave support bitmask. We were otherwise not necessarily properly reloading all the FPU state, thus leading to various subtle bugs, notably with glibc 2.33's ifunc-optimized memcpy etc. * i386/i386/fpu.h (xrstor, xrstors): Pass fp_xsave_support in EDX:EAX.
2021-09-23i386/i386/fpu.h: Drop spurious backslashesSamuel Thibault
2021-09-18x86_64: Fix installation target of headersSamuel Thibault
* 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>
2021-09-18replace obsolete AC_CONFIG_HEADER with AC_CONFIG_HEADERSMiguel Figueiredo
2021-09-12ahci: Do not even try AHCI identify when device is ATAPIAndrea Monaco
* linux/dev/drivers/block/ahci.c (ahci_probe_port): Avoid trying AHCI identify when PxCMD.ATAPI is set.
2021-09-12ahci: Fix warning contentAndrea Monaco
* linux/dev/drivers/block/ahci.c (ahci_identify): Fix warning for the identify timeout.