sync with OpenBSD -current
This commit is contained in:
parent
589b22d46c
commit
0ad7fbc84b
16 changed files with 198 additions and 51 deletions
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: db_memrw.c,v 1.8 2017/04/30 13:04:49 mpi Exp $ */
|
||||
/* $OpenBSD: db_memrw.c,v 1.9 2024/02/23 18:19:02 cheloha Exp $ */
|
||||
/* $NetBSD: db_memrw.c,v 1.1 2003/04/26 18:39:27 fvdl Exp $ */
|
||||
|
||||
/*-
|
||||
|
@ -60,9 +60,9 @@
|
|||
* Read bytes from kernel address space for debugger.
|
||||
*/
|
||||
void
|
||||
db_read_bytes(vaddr_t addr, size_t size, char *data)
|
||||
db_read_bytes(vaddr_t addr, size_t size, void *datap)
|
||||
{
|
||||
char *src;
|
||||
char *data = datap, *src;
|
||||
|
||||
src = (char *)addr;
|
||||
|
||||
|
@ -160,10 +160,10 @@ db_write_text(vaddr_t addr, size_t size, char *data)
|
|||
* Write bytes to kernel address space for debugger.
|
||||
*/
|
||||
void
|
||||
db_write_bytes(vaddr_t addr, size_t size, char *data)
|
||||
db_write_bytes(vaddr_t addr, size_t size, void *datap)
|
||||
{
|
||||
extern char etext;
|
||||
char *dst;
|
||||
char *data = datap, *dst;
|
||||
|
||||
/* If any part is in kernel text, use db_write_text() */
|
||||
if (addr >= KERNBASE && addr < (vaddr_t)&etext) {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: db_interface.c,v 1.20 2022/10/15 08:04:02 jsg Exp $ */
|
||||
/* $OpenBSD: db_interface.c,v 1.21 2024/02/23 18:19:02 cheloha Exp $ */
|
||||
/* $NetBSD: db_interface.c,v 1.34 2003/10/26 23:11:15 chris Exp $ */
|
||||
|
||||
/*
|
||||
|
@ -182,9 +182,9 @@ db_validate_address(vaddr_t addr)
|
|||
* Read bytes from kernel address space for debugger.
|
||||
*/
|
||||
void
|
||||
db_read_bytes(vaddr_t addr, size_t size, char *data)
|
||||
db_read_bytes(vaddr_t addr, size_t size, void *datap)
|
||||
{
|
||||
char *src = (char *)addr;
|
||||
char *data = datap, *src = (char *)addr;
|
||||
|
||||
if (db_validate_address((u_int)src)) {
|
||||
db_printf("address %p is invalid\n", src);
|
||||
|
@ -301,11 +301,11 @@ db_write_text(vaddr_t addr, size_t size, char *data)
|
|||
* Write bytes to kernel address space for debugger.
|
||||
*/
|
||||
void
|
||||
db_write_bytes(vaddr_t addr, size_t size, char *data)
|
||||
db_write_bytes(vaddr_t addr, size_t size, void *datap)
|
||||
{
|
||||
extern char etext[];
|
||||
extern char kernel_text[];
|
||||
char *dst;
|
||||
char *data = datap, *dst;
|
||||
size_t loop;
|
||||
|
||||
/* If any part is in kernel text, use db_write_text() */
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: cpu.c,v 1.104 2024/02/21 21:50:17 jsg Exp $ */
|
||||
/* $OpenBSD: cpu.c,v 1.105 2024/02/23 21:52:12 kettenis Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2016 Dale Rahn <drahn@dalerahn.com>
|
||||
|
@ -938,10 +938,12 @@ cpu_attach(struct device *parent, struct device *dev, void *aux)
|
|||
* Lenovo X13s ships with broken EL2 firmware that
|
||||
* hangs the machine if we enable PAuth.
|
||||
*/
|
||||
if (hw_vendor && strcmp(hw_vendor, "LENOVO") == 0 &&
|
||||
hw_prod && strncmp(hw_prod, "21BX", 4) == 0) {
|
||||
cpu_id_aa64isar1 &= ~ID_AA64ISAR1_APA_MASK;
|
||||
cpu_id_aa64isar1 &= ~ID_AA64ISAR1_GPA_MASK;
|
||||
if (hw_vendor && hw_prod && strcmp(hw_vendor, "LENOVO") == 0) {
|
||||
if (strncmp(hw_prod, "21BX", 4) == 0 ||
|
||||
strncmp(hw_prod, "21BY", 4) == 0) {
|
||||
cpu_id_aa64isar1 &= ~ID_AA64ISAR1_APA_MASK;
|
||||
cpu_id_aa64isar1 &= ~ID_AA64ISAR1_GPA_MASK;
|
||||
}
|
||||
}
|
||||
|
||||
cpu_identify(ci);
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: db_interface.c,v 1.14 2022/11/07 09:43:04 mpi Exp $ */
|
||||
/* $OpenBSD: db_interface.c,v 1.15 2024/02/23 18:19:03 cheloha Exp $ */
|
||||
/* $NetBSD: db_interface.c,v 1.34 2003/10/26 23:11:15 chris Exp $ */
|
||||
|
||||
/*
|
||||
|
@ -197,9 +197,9 @@ db_validate_address(vaddr_t addr)
|
|||
* Read bytes from kernel address space for debugger.
|
||||
*/
|
||||
void
|
||||
db_read_bytes(vaddr_t addr, size_t size, char *data)
|
||||
db_read_bytes(vaddr_t addr, size_t size, void *datap)
|
||||
{
|
||||
char *src = (char *)addr;
|
||||
char *data = datap, *src = (char *)addr;
|
||||
|
||||
if (db_validate_address((vaddr_t)src)) {
|
||||
db_printf("address %p is invalid\n", src);
|
||||
|
@ -277,10 +277,10 @@ db_write_text(vaddr_t addr, size_t size, char *data)
|
|||
* Write bytes to kernel address space for debugger.
|
||||
*/
|
||||
void
|
||||
db_write_bytes(vaddr_t addr, size_t size, char *data)
|
||||
db_write_bytes(vaddr_t addr, size_t size, void *datap)
|
||||
{
|
||||
extern char etext[];
|
||||
char *dst;
|
||||
char *data = datap, *dst;
|
||||
size_t loop;
|
||||
|
||||
/* If any part is in kernel text, use db_write_text() */
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: efiboot.c,v 1.49 2024/02/04 18:44:23 kettenis Exp $ */
|
||||
/* $OpenBSD: efiboot.c,v 1.50 2024/02/23 21:52:12 kettenis Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2015 YASUOKA Masahiko <yasuoka@yasuoka.net>
|
||||
|
@ -1121,12 +1121,14 @@ efi_fdt(void)
|
|||
if (hw_vendor == NULL || hw_prod == NULL)
|
||||
return fdt_sys;
|
||||
|
||||
if (strcmp(hw_vendor, "LENOVO") == 0 &&
|
||||
strncmp(hw_prod, "21BX", 4) == 0) {
|
||||
fdt_load_override(FW_PATH
|
||||
"qcom/sc8280xp-lenovo-thinkpad-x13s.dtb");
|
||||
/* TODO: find a better mechanism */
|
||||
cnset(ttydev("fb0"));
|
||||
if (strcmp(hw_vendor, "LENOVO") == 0) {
|
||||
if (strncmp(hw_prod, "21BX", 4) == 0 ||
|
||||
strncmp(hw_prod, "21BY", 4) == 0) {
|
||||
fdt_load_override(FW_PATH
|
||||
"qcom/sc8280xp-lenovo-thinkpad-x13s.dtb");
|
||||
/* TODO: find a better mechanism */
|
||||
cnset(ttydev("fb0"));
|
||||
}
|
||||
}
|
||||
|
||||
return fdt_override ? fdt_override : fdt_sys;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: db_memrw.c,v 1.18 2020/09/23 15:13:26 deraadt Exp $ */
|
||||
/* $OpenBSD: db_memrw.c,v 1.19 2024/02/23 18:19:03 cheloha Exp $ */
|
||||
/* $NetBSD: db_memrw.c,v 1.6 1999/04/12 20:38:19 pk Exp $ */
|
||||
|
||||
/*
|
||||
|
@ -50,9 +50,9 @@
|
|||
* Read bytes from kernel address space for debugger.
|
||||
*/
|
||||
void
|
||||
db_read_bytes(vaddr_t addr, size_t size, char *data)
|
||||
db_read_bytes(vaddr_t addr, size_t size, void *datap)
|
||||
{
|
||||
char *src;
|
||||
char *data = datap, *src;
|
||||
|
||||
src = (char *)addr;
|
||||
while (size-- > 0)
|
||||
|
@ -136,9 +136,9 @@ db_write_text(vaddr_t addr, size_t size, char *data)
|
|||
* Write bytes to kernel address space for debugger.
|
||||
*/
|
||||
void
|
||||
db_write_bytes(vaddr_t addr, size_t size, char *data)
|
||||
db_write_bytes(vaddr_t addr, size_t size, void *datap)
|
||||
{
|
||||
char *dst;
|
||||
char *data = datap, *dst;
|
||||
extern char etext;
|
||||
|
||||
if (addr >= VM_MIN_KERNEL_ADDRESS &&
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue