Bug 204916 - Add Quirks for Dell ChromeBook: Allows boot/run
Summary: Add Quirks for Dell ChromeBook: Allows boot/run
Status: Closed FIXED
Alias: None
Product: Base System
Classification: Unclassified
Component: kern (show other bugs)
Version: CURRENT
Hardware: amd64 Any
: Normal Affects Some People
Assignee: freebsd-bugs (Nobody)
URL:
Keywords: easy, needs-qa, patch
Depends on:
Blocks:
 
Reported: 2015-11-30 13:29 UTC by Keith White
Modified: 2019-04-21 04:26 UTC (History)
1 user (show)

See Also:


Attachments
dell chromebook quirk patch (993 bytes, patch)
2015-11-30 13:29 UTC, Keith White
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Keith White 2015-11-30 13:29:31 UTC
Created attachment 163686 [details]
dell chromebook quirk patch

The Dell chromebook is similar to the Acer C720.  The same quirks allow FreeBSD to boot and run.
Comment 1 commit-hook freebsd_committer freebsd_triage 2019-01-14 01:31:29 UTC
A commit references this bug:

Author: gonzo
Date: Mon Jan 14 01:30:48 UTC 2019
New revision: 343008
URL: https://svnweb.freebsd.org/changeset/base/343008

Log:
  Add Dell Chromebook to the list of devices with E820 extmem quirk enabled

  Just like for Acer C270 chromebook the E820 extmem workaround is required for
  FreeBSD to boot on Dell chromebook.

  PR:		204916
  Submitted by:	Keith White <kwhite@site.uottawa.ca>
  MFC after:	1 week

Changes:
  head/stand/i386/libi386/biosmem.c
Comment 2 Oleksandr Tymoshenko freebsd_committer freebsd_triage 2019-01-14 01:32:55 UTC
biosmem part committed, the keyboard patch no longer required after base r307468
Comment 3 commit-hook freebsd_committer freebsd_triage 2019-02-03 14:55:12 UTC
A commit references this bug:

Author: gonzo
Date: Sun Feb  3 14:54:29 UTC 2019
New revision: 343715
URL: https://svnweb.freebsd.org/changeset/base/343715

Log:
  MFC r343008:

  Add Dell Chromebook to the list of devices with E820 extmem quirk enabled

  Just like for Acer C270 chromebook the E820 extmem workaround is required for
  FreeBSD to boot on Dell chromebook.

  PR:		204916
  Submitted by:	Keith White <kwhite@site.uottawa.ca>

Changes:
_U  stable/12/
  stable/12/stand/i386/libi386/biosmem.c
Comment 4 commit-hook freebsd_committer freebsd_triage 2019-04-21 04:26:57 UTC
A commit references this bug:

Author: kevans
Date: Sun Apr 21 04:26:04 UTC 2019
New revision: 346482
URL: https://svnweb.freebsd.org/changeset/base/346482

Log:
  MFC r341101, r341231, r341276, r341329, r341433, r341780, r342054-r342055,
  r342721, r342742, r342840, r343008, r343225

  r341101:
  powerpcspe: Don't crash the loader on ubldr with SPE instructions.

  -msoft-float seems to be insufficient for disabling the SPE on powerpcspe.
  Force it off with -mno-spe as well.  This prevents a crash in ubldr on
  powerpcspe.

  r341231:
  loader: command_bcache() should print unsigned values

  All bcache counters are unsigned.

  r341276:
  When handling CMD_CRIT error set command_errmsg to NULL after we dump it out,
  so that it does not result in error message printed twice.

  OK load doodoo
  can't find 'doodoo'
  can't find 'doodoo'
  OK

  r341329:
  loader.efi: fix EFI getchar() for multiple consoles

  This fix is ported from illumos (issue #9970), the analysis and initial
  implementation was done by John Levon.

  See also: https://www.illumos.org/issues/9970

  Currently, efi_cons_getchar() will wait for a key. While this seems to make
  sense, the implementation of getchar() in common/console.c will loop across
  getchar() for all consoles without doing ischar() first.

  This means that if we've configured multiple consoles, we can't input into
  the serial, as getchar() will be sat waiting for input only from efi_console.c

  This patch does implement a bit more generic key buffer to support
  translation of input keys, and we use generic efi_readkey() to reduce
  duplication from calls from getchar() and poll().

  r341433:
  Move inclusion of src.opts.mk later.

  src.opts.mk includes bsd.own.mk. This in turn defines CTFCONVERT_CMD
  depending on the MK_CTF value. We then set MK_CTF to no, which has no
  real effect. The solution is to set all the MK_foo values before
  including src.opts.mk.

  This should stop the cdboot binary from exploding in size for releases
  built WITH_CTF=yes in src.conf.

  r341780:
  powerpc/ubldr: Teach powerpc's ubldr to boot 64-bit kernels

  This is just a copy of powerpc/ofw's ppc64_elf_freebsd.c modified to fit
  ubldr's boot format.

  r342054:
  Print an error message in efi_main.c if we can't allocate memory for the heap

  With the default Qemu parameters, only 128MB RAM gets given to a VM. This causes
  the loader to be unable to allocate the 64MB it needs for the heap. This change
  makes the cause of the error more obvious.

  r342055:
  Cast error message in efi_main.c to CHAR16* to avoid build error

  r342721:
  loader.efi: update memmap command to recognize new attributes

  Also move memory type to string translation to libefi for later use.

  r342742:
  loader.efi: efi variable rework and lsefi command added

  This update does add diag and debug capabilities to interpret the efi
  variables, configuration and protocols (lsefi).

  The side effect is that we add/update bunch of related headers.

  r342840:
  Create MK_LOADER_VERBOSE and connect it to ELF_VERBOSE in the loader
  code.

  r343008:
  Add Dell Chromebook to the list of devices with E820 extmem quirk enabled

  Just like for Acer C270 chromebook the E820 extmem workaround is required for
  FreeBSD to boot on Dell chromebook.

  r343225:
  Unbreak mip64 build after r328437

  Add exit and getchar functions to beri/boot2 code. They are required by
  panic_action functin introduced in r328437

  PR:		18498, 204916

Changes:
_U  stable/11/
  stable/11/share/mk/src.opts.mk
  stable/11/stand/common/bcache.c
  stable/11/stand/common/interp_forth.c
  stable/11/stand/defs.mk
  stable/11/stand/efi/include/Guid/
  stable/11/stand/efi/include/Protocol/
  stable/11/stand/efi/include/efi.h
  stable/11/stand/efi/include/efiapi.h
  stable/11/stand/efi/include/eficon.h
  stable/11/stand/efi/include/efidef.h
  stable/11/stand/efi/include/efigpt.h
  stable/11/stand/efi/include/efiip.h
  stable/11/stand/efi/include/efilib.h
  stable/11/stand/efi/include/efipciio.h
  stable/11/stand/efi/include/efipoint.h
  stable/11/stand/efi/include/efitcp.h
  stable/11/stand/efi/include/efiudp.h
  stable/11/stand/efi/libefi/efi_console.c
  stable/11/stand/efi/libefi/env.c
  stable/11/stand/efi/loader/efi_main.c
  stable/11/stand/efi/loader/main.c
  stable/11/stand/i386/libi386/biosmem.c
  stable/11/stand/loader.mk
  stable/11/stand/mips/beri/boot2/boot2.c
  stable/11/stand/powerpc/uboot/Makefile
  stable/11/stand/powerpc/uboot/conf.c
  stable/11/stand/powerpc/uboot/ppc64_elf_freebsd.c
  stable/11/tools/build/options/WITH_LOADER_VERBOSE