From owner-soc-status@FreeBSD.ORG Fri Aug 3 18:54:01 2012 Return-Path: Delivered-To: soc-status@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2B77710656A7 for ; Fri, 3 Aug 2012 18:54:01 +0000 (UTC) (envelope-from syuu@dokukino.com) Received: from mail-gh0-f182.google.com (mail-gh0-f182.google.com [209.85.160.182]) by mx1.freebsd.org (Postfix) with ESMTP id AF7EA8FC14 for ; Fri, 3 Aug 2012 18:53:59 +0000 (UTC) Received: by ghbz22 with SMTP id z22so1457916ghb.13 for ; Fri, 03 Aug 2012 11:53:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dokukino.com; s=google; h=mime-version:from:date:message-id:subject:to:content-type; bh=j76jduVzjYH3O3F5YSxxFL3e8w2CeZWeNFX+3zqob9I=; b=gE+de1MIXh6rfAlkSmT5A/9ShhoizqeMWbYJiPxvLOOOLk2p8Sks3gbEtPJbhoXyOM eVpkZJkuAvs8VyYzQyTqG+LEWv3jh3VcNGvMOuBg1aqT2r8LLUOH7ZmbeD9Nk8twS1Jh iEgQDwBtw/gSbh0OBPgBRYQizl3VbxkXHDPf8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:from:date:message-id:subject:to:content-type :x-gm-message-state; bh=j76jduVzjYH3O3F5YSxxFL3e8w2CeZWeNFX+3zqob9I=; b=AnTKsxfzp+3+dh9sIJiJxBUggCgpbGopBe/dLJ6z68ATy9awvgiEpLTLzVCCLgEY2B IVy6wbagCOjvS0840rdhQfwYEj7iVHRyF8idqrraev8hP1o9H8Gzt4XyXDUxsXzZqWgn T19P6RwOezU1QvT7Mvmyl6ra/nyyK9kKa4RCYEvpNlAXGDKaV0QGyFE5JhB1aLIz+vEg 1gxMXjpxHW9LN4NaUVEip2hThnKs7RSgu+PTuyfg/MLTylLIn/FujNkU10gt/OxXwkGY eWy1C2mbS/AVzww9BSqCUPCTKy0Rq5dlnwDfi/jzP5CtDUfsm3qdDcI7VHjp1tkolKtG Eqiw== Received: by 10.50.36.131 with SMTP id q3mr5130556igj.56.1344020032978; Fri, 03 Aug 2012 11:53:52 -0700 (PDT) MIME-Version: 1.0 Received: by 10.231.200.208 with HTTP; Fri, 3 Aug 2012 11:53:12 -0700 (PDT) From: Takuya ASADA Date: Sat, 4 Aug 2012 03:53:12 +0900 Message-ID: To: soc-status@freebsd.org, Peter Grehan Content-Type: text/plain; charset=UTF-8 X-Gm-Message-State: ALoCoQlH5nusKoyumvGNPIfBmiOU6seZpfVT0YHLpMDSX6VszQHoH1pKkNjEI2z02Kt0AcnNTeOQ Cc: Subject: [status report #9 & #10] BHyVe BIOS emulation to boot legacy systems X-BeenThere: soc-status@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Summer of Code Status Reports and Discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Aug 2012 18:54:01 -0000 * project summary The project goal is to support BIOS emulation on BHyVe, enabling boot from disk image. I going to focus booting FreeBSD/amd64 from disk image on this GSoC, but final goal is to make BHyVe able to support more guest OSes. * porting "doscmd" a DOS emulator to BHyVe, as a BIOS emulation library #2 To make it callable from /usr/sbin/bhyve, I implemented biosemul_init() and biosemul_call(). biosemul_init() initialize libbiosemul, and biosemul_call() handles bios call. Now int 13H is handled by libbiosemul, 10H and 16H is still handled in bios_int*.c but it will soon change to libbiosemul. * debug int 13H MBR writes "Error loading operating system" on the screen. I fix some bugs which was the reason of failing read disks, but it still occurs. The message shows up if JC instruction branches, but in libbiosemul it writes a value to EFLAGS without Carry bit. Now I'm guessing the bit turned on after IRET instruction executed, because IRET restores this register. I'll try to dump register values just after guest returned from INT instruction, probably using INB/OUTB instruction(to VMExit).