Git Product home page Git Product logo

rust-e1000's People

Contributors

fujita avatar richardhongyu avatar stappersg avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

rust-e1000's Issues

Rust compiler 'rustc' is too new.

Hi,

Here a curious newbie reporting this:

$ make LLVM=1 rustavailable
***
*** Rust compiler 'rustc' is too new. This may or may not work.
***   Your version:     1.65.0
***   Expected version: 1.62.0
***
Rust is available!
$

That is with

$ git branch --verbose | grep '^*'
* rust-e1000 263f16d67d52 rust: add dma and io mapping
$

in https://github.com/fujita/linux/tree/rust-e1000

I get a succesfull (but yet untested) build with make CC=clang.

And with make LLVM=1 in the Linux source directory I get:

$ make LLVM=1
  SYNC    include/config/auto.conf.cmd
scripts/Kconfig.include:40: linker 'ld.lld' not found
make[2]: *** [scripts/kconfig/Makefile:77: syncconfig] Error 1
make[1]: *** [Makefile:693: syncconfig] Error 2
make: *** [Makefile:795: include/config/auto.conf.cmd] Error 2

$ 

Purpose / idea of this report is triggering responses like

  • works for me
  • seeing the same
  • over here also, using ..... as workaround

What's the capability of the rust-e1000 driver for now?

Hi! The rust-e1000 driver is a fantastic job! And I want to run it on a real machine and have some tests with the c version.

With some modifications, I have successfully insmod the rust-e1000 driver and seen the nic info with the ifconfig command. But I failed to use this driver to ping a public IP address. It turns out that only the number of TX packets grows while the number of RX packets remains zero all the time. I also test this driver in the qemu environment. The result is the same. I see the clean function implementation for the E1000 struct that is supposed to support receiving the packages. But the number of RX packets failed to grow up.

I wonder whether something is wrong with my operation or if the rust-e1000 driver cannot receive packages due to the lack of some functions. Thanks for your help!

Error building rust-e1000 at the initial commit

Hello!

I've tried compiling rust-e1000 at the initial commit, that is at the following state:

https://github.com/fujita/rust-e1000/tree/2b88260b06b75aaafc3d081b8bc9ff88c044dfd6

with

https://github.com/fujita/linux/tree/rust-e1000

(checked out the rust-e1000 branch)

The Linux kernel built successfully, but the driver fails to build with many Rust compilation errors. Is it possible to build this exact commit or was it intended for use with an internal (i.e. unreleased) version of the rust-for-linux kernel fork?

My interest is simply learning some obscure Rust I've encountered in the driver's implementation. I want to build the driver at this exact commit and play around with the code to understand some language features.

Thank you!
Best regards,
Ignat Semenov

error: target file "./rust/target.json" does not exist

Hi,

What should be the content of file $KDIR/rust/target.json?

Reason that I, reporter of #2, am asking is because what I get is this:

stappers@myhost:/usr/src/linux/rust-e1000
$ make KDIR=../torvalds CC=clang
make -C ../torvalds M=$PWD
make[1]: Entering directory '/usr/src/linux/torvalds'
  RUSTC [M] /usr/src/linux/rust-e1000/rust_e1000.o
error: target file "./rust/target.json" does not exist

make[2]: *** [scripts/Makefile.build:307: /usr/src/linux/rust-e1000/rust_e1000.o] Error 1
make[1]: *** [Makefile:1997: /usr/src/linux/rust-e1000] Error 2
make[1]: Leaving directory '/usr/src/linux/torvalds'
make: *** [Makefile:6: default] Error 2
stappers@myhost:/usr/src/linux/rust-e1000
$ 

FWIW

stappers@myhost:/usr/src/linux/rust-e1000
$ ls ../torvalds/rust
alloc               bindings        compiler_builtins.rs  helpers.c  macros
bindgen_parameters  build_error.rs  exports.c             kernel     Makefile
stappers@myhost:/usr/src/linux/rust-e1000
$

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.