Skip to content

sys/dev/pci: New bochsfb driver - #48

Open
FlyGoat wants to merge 10000 commits into
NetBSD:trunkfrom
FlyGoat:bochsfb
Open

sys/dev/pci: New bochsfb driver#48
FlyGoat wants to merge 10000 commits into
NetBSD:trunkfrom
FlyGoat:bochsfb

Conversation

@FlyGoat

@FlyGoat FlyGoat commented May 9, 2025

Copy link
Copy Markdown

Add a new driver bochsfb, which is a framebuffer device emulated by QEMU, and bochs.

Tested with QEMU devices:
-vga std
-vga virtio
-device VGA
-device bochs-display
-device secondary-vga
-device virtio-vga

This driver is useful when kern is booted without firmware runtime video support. (i.e. fdt booting for riscv/arm, PMON/YAMON for MIPS). For x86, genfb is more sutiable, thus only enabled for arm generic kernel at the moment.

@FlyGoat

FlyGoat commented May 9, 2025

Copy link
Copy Markdown
Author

jschauma and others added 27 commits November 17, 2025 18:56
…sing

the output of crypt(3); note that for md5 and blowfish the salt is silently
truncated if it's longer than the respectively accepted length
Not currently used for anything.  I put this together with an idea
that it might be used for early console, and to pick up the RAM size
from gxemul -M.  But gxemul doesn't support the former and seems to
return hardcoded value for the latter, so using it is useless at best,
and breaks booting in gxemul otherwise.
<sys/exec_elf.h>, in any order.

This is a work-around to address PR lib/59564 (build breakage when
both of these files are #included).

With this changeset, whichever file gets included first 'wins'.
Prior changes in NetBSD and upstream at Elftoolchain have aligned the
'generic' ELF definitions in NetBSD's <sys/exec_elf.h> with those
in Elftoolchain's <sys/elfdefinitions.h>, so that either file can
be used interchangeably when building NetBSD.

This changeset also removes prior workarounds in the source tree
for this issue.

PR lib/59564
DKIM   DomainKeys Identified Mail
DMARC  Domain-based Message Authentication, Reporting and Conformance
RUA    Reporting URI for Aggregate reports (DKIM)
RUF    Reporting URI for Forensics reports (DKIM)
SPF    Sender Policy Framework
people (thanks!) on various chips/models.

XXX Still has no support for Jumbo frames, and no support for any
    checksum or segmentation off-loads, same restrictions as on
    upstream...
Waldi now works on Notepad++ and had "no objections" in a private
email (forwarded to board@).

We still have to include "This product includes software developed by
Waldi Ravens." in the INSTALL notes since there are two files that
are dual-copyright (one with is@, the other Leo Weppelman).
Also define proper INTIOSIZE macro and use it where appropriate.
Breifly tested on nono with and without __HAVE_NEW_PMAP_68K.
XXX: _BIT() macro in <sys/cdefs.h> returns (__UINTMAX_TYPE__) so all
     `PTE*` macro in <m68k/mmu_*.h> should have explicit (uint32_t) casts?
brad and others added 25 commits December 1, 2025 21:22
  ungathered changes during checkpoint.  Modify LFS_WRITESEGENTRY and
  make a new LFS_WRITEIENTRY macro to help track this.  Prevents
  an infinite loop in lfs_writeinode, previously caught with a panic.

* Fix a false-positive "negative bytes" panic when writing inodes into
  the same segment they were in before, and consolidate the accounting
  logic into new function lfs_subtract_inode.

* Ensure that we do not clean any inodes that were unavailable during
  the first pass of cleaning, so that we never need to mix cleaning and
  non-cleaning blocks (except for the Ifile) when writing.

* Straighten out the logic in lfs_writefile to make it more readable.

* Include IMNT_WANTRDONLY in tests for closing out writes, not just
  IMNT_UNMOUNT.

* Keep track of whether the kernel cleaner is active on a file system
  with a status flag; use a condvar to synchronously turn this on
  or off.
value rather than computing the PA of from Sysseg.
pass the appropriate flags to pmap_kenter_pa().
Intervention for PHY configuration hasn't been necessary for some time.
pass the appropriate flags to pmap_kenter_pa().
independent of the pmap implementation; move them out of pmap_bootstrap.c
and into machdep.c
- mac68k_init(): Use pmap_protect() to write-protect the kernel text
  (with a comment explaining why we do this here).
- Add a machine_bootmap[] with entries for IOBase, ROMBase, and VIDBase.
  In bootstrap_mac68k(), patch up machine_bootmap[] with run-time computed
  values.
mappings.  mac68k uses this to map the Mac ROMs.
a driver from the install kernel.  Same ramdisk size as before.  Not
sure this platform can have a larger ramdisk size.
Allow this file to be used with <sys/elfdefinitions.h>.

PR lib/59564
Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.