Soak the porcini mushrooms in 1/2 cup of warm water for about 30 minutes. Drain, reserving the liquid. Rinse, dry, and chop the porcini mushrooms. Strain the soaking liquid through washed cheesecloth, paper towels, or a coffee filter. Set aside.
Melt the butter and 1 tablespoon of olive oil in a large pot over low heat. Add the onion and garlic. Cook, stirring frequently, until the onion is wilted but not browned, about 5 minutes.
Add the porcini mushrooms and cook for 8 minutes. Increase the heat to medium and add the fresh mushrooms. Cook until the juices run, about 10 minutes. Add the reserved porcini soaking liquid and continue to cook until reduced by half, about 5 minutes. Add the tomatoes, salt, pepper, marjoram, and thyme; cook for 5 minutes. Add the broth and simmer for 15 minutes.
While the soup is cooking, toast the bread in a 400 F oven until lightly browned on both sides. Remove and brush one side with the remaining olive oil. Use more oil if necessary.
In a small bowl, beat the egg yolks with the Parmesan chese, the pecorino romano cheese, and 3 tablespoons of chopped parsley. Gradually whisk 1 cup of the hot soup into the egg yolks to warm them. Reverse and slowly whisk the egg yolk mixture into the soup. Cook, stirring constantly, over medium-low heat until the soup thickens. (Do not boil or the soup will curdle.)
Place a piece of toast in each of 8 bowls. Ladle in the hot soup and sprinkle with additonal grated Parmesan cheese and chopped parsley.
[ "We Called It Macaroni"; Nancy Verde Barr; Knopf; Isbn 0-394-55798-0 ]