From owner-soc-status@FreeBSD.ORG Mon Jun 22 19:56:46 2015 Return-Path: Delivered-To: soc-status@nevdull.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id A0CD6374 for ; Mon, 22 Jun 2015 19:56:46 +0000 (UTC) (envelope-from mihai.carabas@gmail.com) Received: from mail-wg0-x22f.google.com (mail-wg0-x22f.google.com [IPv6:2a00:1450:400c:c00::22f]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 374E038B for ; Mon, 22 Jun 2015 19:56:46 +0000 (UTC) (envelope-from mihai.carabas@gmail.com) Received: by wguu7 with SMTP id u7so78403458wgu.3 for ; Mon, 22 Jun 2015 12:56:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=Rx/2tmWqpBTPCM97X/UOBr2MX8DVeu4gf0maOtHfZxQ=; b=mwbp19k+wYiRWqUlCEg6cAtXP1Ik+L1L1y1Xpl0fIJ1vYIfcklnXLs38wFPX17+rvt OLS4as3XaIOXgVYexfWaXvQONjNxXfKUZTka1KchPNejBQjj0uZlcYo2TGS7d9SvWpVw XNwqeH8Ij75mzha8XmssbGVnKIo8su7AQBT+0vmrR+1+ocuLxeJu80qRwP3Y+bDQfi4g fbkk+ZCJNLzil7bhZ14ubo21GxdQE8Aj7FdD1ceTyMbgu7s7fPRwTatK5iC73/Sovubj 4GlhktjDCLASHUdc2zx1pTNQYA2AC4p0KCw/bDamnU9+Zc2ADYesEQTqWV1bX6ewqeGL Ohgg== MIME-Version: 1.0 X-Received: by 10.180.39.212 with SMTP id r20mr7699997wik.64.1435003004808; Mon, 22 Jun 2015 12:56:44 -0700 (PDT) Received: by 10.28.21.134 with HTTP; Mon, 22 Jun 2015 12:56:44 -0700 (PDT) In-Reply-To: References: Date: Mon, 22 Jun 2015 22:56:44 +0300 Message-ID: Subject: Re: [GSOC] bhyve port on ARM - weekly status report From: Mihai Carabas To: soc-status@freebsd.org Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.20 X-BeenThere: soc-status@freebsd.org X-Mailman-Version: 2.1.20 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: Mon, 22 Jun 2015 19:56:46 -0000 Hi everyone, Here is the last week status report. > Right now I've managed to finally get to the mount root part [5]. > After this part, I've created a ramdisk filesystem using makefs and a mtree file format with a minimal number of files (hardlinks to the rescue binary, running in single-user mode). I've pushed a script for makefs and the mtree file to the repo [1]. Further I've modified the conf file to include the ramdisk in the kernel image and I got to the shell. But at this point, I had no input. It seems that the interrupts were not delivered (the input worked on kernel KDB though). First I thought that the console is working in polling mode (which Peter said that is not supported by the tty I was using). After a day of debugging I've noticed that no interrupts were coming. There would have been multiple causes: the GIC was missconfigured, the interrupts numbers for the serial input weren't parsed correctly. I assumed that the problem is at the DTB parsing. In order to eliminate all the problems with FreeBSD DTB parsing, I've created a simple DTB from scratch, adding only the cpu, gic, timers and console devices, all with absolute addresses (no addresses relative to a bus, or interrupt number relative to a bank). After this step all worked like a charm. Further I've written an initialization code for HYP mode, installing a stub handler for HYP exception for platforms that have support for this. The stub handler permits changing the exception vectors. Later, when the vmm module will be loaded, the handler will be replaced by a fully fledged one which will take care of VM context switch and various exceptions. [2] > PS: This week I will try to create a tutorial on the wiki on how to run > the FreeBSD on FastModel FVP_VE-CortexA15x1. > > I've postponed the tutorial due to the work on hypervisor initialization. I will try to make it until next week. Thank you, Mihai [1] https://svnweb.freebsd.org/socsvn/soc2015/mihai/ramdisk/ [2] https://svnweb.freebsd.org/socsvn/soc2015/mihai/bhyve-on-arm-head/sys/arm/arm/hypervisor-stub.S?revision=287374&view=markup