From owner-freebsd-hackers Thu Apr 20 23:40:28 1995 Return-Path: hackers-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.10/8.6.6) id XAA00578 for hackers-outgoing; Thu, 20 Apr 1995 23:40:28 -0700 Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.2.228.34]) by freefall.cdrom.com (8.6.10/8.6.6) with ESMTP id XAA00569 for ; Thu, 20 Apr 1995 23:40:13 -0700 Received: (from bde@localhost) by godzilla.zeta.org.au (8.6.9/8.6.9) id QAA11488; Fri, 21 Apr 1995 16:30:56 +1000 Date: Fri, 21 Apr 1995 16:30:56 +1000 From: Bruce Evans Message-Id: <199504210630.QAA11488@godzilla.zeta.org.au> To: fenner@parc.xerox.com, freebsd-hackers@FreeBSD.org Subject: Re: How do I set a kernel variable? Sender: hackers-owner@FreeBSD.org Precedence: bulk >Under Sunos, I do >adb -w -k /vmunix /dev/mem >mrtdebug/W1 >Under FreeBSD, I do >gdb -k /kernel /dev/mem >kgdb> set mrtdebug = 1 >kvm_write:write failed >kgdb> p mrtdebug >$1 = 0 I normally use ddb. gdb just seems to be braindamaged and buggy here. Braindamaged: it has its own kvm_write() which is quite different from the library kvm_write(), and the error message doesn't give the errno. (The errno is actually EBADF, which is surprising considering that an lseek on the bad fd has just succeeded.) Broken: the fd used is for /dev/kmem. kvm_read() is quite differently, and reads from the correct fd (the core_kd arg), and seems to work. Bruce